designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Isovist Component

May 26, 2012 | Algorithms
#grasshopper #isovist #space-syntax

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).

Isovist Component animation
Isovist Component Grasshopper definition
Grasshopper definition (GHX)Download

Cite this post

Yazar, T. (2012, May 26). Isovist Component. designcoding. Retrieved September 23, 2026, from https://www.designcoding.net/how-isovist-component-works/

Related Posts

SpaceChase: A Dynamic and Interactive Tool

November 27, 2022

The SpaceChase plugin for Grasshopper focuses on initiating dynamic capabilities to Space Syntax theory by introducing the “Dynamic Canvas” model along with real-time editing capabilities in an interactive physics-based environment. Therefore, SpaceChase is a software development project for “Mekan Dizimi Tasarım Uygulaması” (no:119M082) under the ARDEB 1001 program of TUBITAK (The Scientific and Technological Research Council of Turkey). Architectural design, as a cognitive activity, has always been fed by architectural knowledge based on practice and theory, and it has been questioned how creative…

SpaceChase for Grasshopper

September 16, 2021

The SpaceChase plugin for Grasshopper focuses on initiating dynamic capabilities to Space Syntax theory by introducing the “Dynamic Canvas” model along with real-time editing capabilities in an interactive physics-based environment. SpaceChase is a software development project for “Mekan Dizimi Tasarım Uygulaması” under the ARDEB 1001 program of TÜBİTAK. It is a collaborative research project between İstanbul Technical University, İstanbul Bilgi University, and Tuşpa Design Studio. You can find more information about the project here. In SpaceChase, a Kangaroo-based dynamic graph is introduced along with contextual node and…

Generating Harmonic Motion

September 21, 2026

While trying to program the curves produced by Spirograph toys in Grasshopper, I took a slightly different path. The topic eventually led to a broader heading: harmonic motion, and from there, to the Fourier Series we looked at previously. This simple Python code models Fourier Synthesis, driven by circles of different radii in a very straightforward way. The Python component sets up a loop that calculates the effect of each circle to the x and y values, individually. In this…

Curvature Map on Terrains

September 17, 2026

This is the last of the site analysis tools we previously used in first-year architecture education. As you may recall, we previously introduced a tool that generates topographies based on specific parameters. Afterward, we examined two tools that perform slope and flow analyses on these topographies. Today, we are presenting a tool that analyzes curvature. This topic actually constitutes one of the interesting intersection points between architectural design and differential geometry. Curvature is not something architects normally observe directly on…

Cantellation of Polyhedra

September 16, 2026

This project randomly stole an entire evening of mine. I didn’t know what the cantellation operation was. After doing some research, I realized it mirrors the process of the dual operation we had previously performed with polyhedra. It turns out to be the process of turning edges into new faces. I started looking for ways to do this in Grasshopper without using ready-made add-ons that include this and similar operations. As always, I had to solve many interesting geometry and…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #polyhedra
    • #robot
    • #design-education
    • #terrain
    • #tessellation
    • #kuka-prc
    • #parametric-surface
    • #design-object
    • #curvature
    • #fourier
    • #computational-geometry
    • #visualization
    • #dual
    • #parakeet
    • #pattern
    • #simulation
    • #vector-field
    • #growth
    • #boolean
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement