Our friends at UNSW are simulating 3D bush fire propagation. One approach, perhaps the approach, is to voxelise a forest scene and store parameters such as fuel loads, moisture content, and temperature within those voxels. By “igniting” specific voxels, researchers can track temperature spikes, fuel depletion, and, most importantly, how burning voxels ignite their surroundings through radiation and convection.

To support this, we have developed a tree generator to provide sample data for testing prototypes and evaluating whether fire spreads realistically under “controlled” circumstances.
Data and Scale
In a previous project, UNSW accessed a 3D repository of the Liverpool Local Government Area (LGA) in NSW, Australia. This dataset contains the (X, Y, Z) locations and heights of over a million trees. For these performance tests, we selected a 6km x 1km forested area west of Holsworthy (Military) Airport. This area contains 52,405 trees; we ran our generator for each instance and stored the results as a layer in our voxel database.
Modeling Parameters

Each simulated tree consists of a trunk and a crown, defined by six parameters: d1, d2, h1, h2, h3, and FILL (the percentage of “tree” voxels versus “air” voxels in the crown). Negative values are permitted for h2 or h3, allowing for concave crown surfaces.
To maintain accuracy, we ensure that h1 + h2 + h3 = H (the total tree height from the Liverpool dataset). We also calculated the distance D to the nearest neighbor for each tree, allowing us to set crown diameters (d2) so that neighboring trees may overlap slightly without “swallowing” one another.
Performance and Voxelization
Trees are generated in six 1km x 1km tiles. At a 40cm voxel resolution, generation takes roughly 90 seconds total (15s per tile), with an additional 100s to combine them. At a 20cm resolution, the process takes eight times longer—roughly half an hour.
At the 40cm resolution, the final dataset extends across 15,000 x 2,500 x 400 voxels. This includes 5,307,010 “trunk” voxels and 139,752,791 “crown” voxels. We opted for “airy” crowns by randomly selecting FILL values between 10% and 45%, which is critical for simulating airflow and oxygen availability during a fire.



Leave a Reply