This post is about two, respectively four, new global Space Syntax Measure I have worked on recently.
- Distance, Mean Distance
- Turns, Mean Turns (aka. Visual Step Depth, Visibility Integration)
These measures are computationally a bit different and more complex compared to the local features. A simple ray-casting algorithm, which was perfectly fine for local axis based measures, would take too much time to cover a full plan and converge to a stable result. I developed a new mix of ray-casting and gathering/flooding.
The algorithm runs entirely on the GPU and is implemented in OpenGL/GLSL and Processing/Java.
The behaviour and performance of this algorithm is shown here in more detail:
Distance, Mean Distance
At each pixel, the shortest global distance (shortest, real path length) to a given target is stored which results in a global distance field.
This works in realtime, since only a few passes are required to cover a full plan.
Computing multiple distance fields, by placing random targets each time, and averaging these maps results in the global mean distance. Each pixel stores the mean distance to every single other pixel in the map then.
It’s important to get a uniform and evenly distributed but still random sample position for placing these targets, otherwise there would be visible noise and artifacts. I’m getting good results using halton sampling.
The diagram for the global mean distance is actually relatively unspectacular (low frequency). In general the hotspot (shortest global mean distance) is concentrated somewhere around the center of the layout. However, when displaying the flowfield and adding a little particle simulation to get streamlines it becomes a lot easier to read and understand.
Turns, Mean Turns
I’m refering to “Turns” and “Mean Turns” in my implementation, although usually this can be found under the term “Visual Step Depth” and “Visibility Integration”.
Visual Step Depth can be understood as the the number of times a change in direction is required to get form one location to another one. Or in other words, the least number of straight line-segments between two locations … a Polyline with the least number of vertices. There are numerous ways to approach and solve this.
I am using the exact same algorithm as I am using for the (mean) distance field. But instead of the shortest distance, the “shortest number of turns + 1” is propagated to get the least amount of turns to any target for every pixel.
Here again, averaging multiple global turn maps, give the mean global number of turns for every pixel.
Depending on the layout, the results are mostly high-frequent.
Villa Mairea, Alvar Alto
National Art Museum of China, OMA, comp.
SANAA, Towada Art Center
I got a bit different results for this one since the analysis showed multiple hotspots for the global mean distance. Most other plans I tested actually focus around one well defined centric hotspot.
The second screenshot shows the clustering of particles at 3-4 different locations.
Reference Example. The Visibility Integration (4rd Image) is very similar to the Local Isovist Diagram.