Table of Contents
Scripting
The data I referenced for this was on Toronto bike collisions.
I started out by extracting the latitude, longitude, and severity data from their matching columns on the CSV file.
Next I generated vertices for every column and added their subsequent coordinate data as a float attribute for each.
I then converted the severity column text data to numbers and added them as an another attribute.
Geometry Nodes
Blender has a visual scripting system called geometry nodes that lets people create procedural geometry similar to other more VFX and motion graphics focused software.
Pictured above in top down view. Setting each vertex position based on the lat/lon attributes I stored earlier. Then using a bounding box to recenter.
Next I instanced a curve on each point, applied it, then joined it with a circle. Filling between all the curves creates this triangulated pattern collapsing at the location of the set vertices.
Finally I extruded the faces. To do this I need to insert the severity data from earlier, and combine it with a sample of the vertex positions. Using a combination of different techniques I flattened the data a little and made it subtly more varied.
Finally I applied two procedural modifiers: subdivision surface and remesh
Pictured below was my final render. With more time I would’ve added color varied materials and a more atmospheric composition.