Isovist Component
Yesterday, Kağan asked me about the isovist component in Grasshopper and how it works. In fact, it is a long story, I said because once upon a time, I was curious about Space Syntax theory as my old friend Ela Çil introduced it. So, here is an original definition of Michael Benedikt;
“The environment is defined as a collection of visible actual surfaces in space. An isovist is the set of all points visible from a given vantage point in space and with respect to an environment. The shape and size of an isovist are liable to change with position. Numerical measures quantify some salient size and shape features. These measures in turn create a set of scalar isovist fields. Sets of isovists and isovist fields form an alternative description of environments.
The method seems relevant to behavioral and perceptual studies in architecture, especially in the areas of view control, privacy, ‘defensibility’, and dynamic complexity and spaciousness judgments. Isovists and isovist fields also shed light on the meaning of prevalent architectural notions about space. In the latter role, an information-field theory such as the one presented can help provide fruitful common ground for designers and researchers.”
Benedikt M L, 1979, “To take hold of space: isovists and isovist fields” Environment and Planning B 6(1) 47 – 65
Using the isovist component in Grasshopper is quite simple. You’ll need to define a plane (and its origin point as the eye), and the number of rays. Then, the farthest distance, and the obstacle objects. It now works in 2D without angle restriction. But I’ve seen examples of it working in 3D with only specified angles (not always 360).
Here is the grasshopper exercise: