Isovists & Viewshed
Isovist Fields & Spatial Visibility: First formalized by Michael Benedikt in 1979, an isovist is the set of all spatial points visible from a single vantage point in space. By casting radial 360-degree sightlines until striking walls or columns, computational architects quantify human visual perception, measuring spatial openness, perimeter occlusivity, and surveillance sightlines.
Isovist Geometric Metrics:
1import numpy as np23def compute_isovist_polygon(viewpoint, obstacles, max_radius=10.0, num_rays=360):4 """5 Computes Benedikt (1979) 2D isovist polygon from a viewpoint.6 Casts radial rays in 360 degrees and finds the nearest intersection with room obstacles.7 Key metrics: Area, Perimeter, Compactness (Circularity), and Occlusivity.8 """9 isovist_vertices = []10 angles = np.linspace(0, 2 * np.pi, num_rays, endpoint=False)1112 for theta in angles:13 ray_dir = np.array([np.cos(theta), np.sin(theta)])14 closest_t = max_radius1516 for segment in obstacles:17 t = ray_segment_intersect(viewpoint, ray_dir, segment)18 if t is not None and t < closest_t:19 closest_t = t2021 isovist_vertices.append(viewpoint + ray_dir * closest_t)2223 return isovist_vertices
Cumulative Viewshed & Urban Sightlines: In regional master planning and skyline design, a viewshed identifies terrain and building zones visible from critical landmark viewpoints (such as historic monuments or observation decks). Computing mutual line-of-sight (LOS) across 3D city blocks highlights blind spots, public surveillance zones, and protected view corridors.
Viewshed Invariant:
1def compute_cumulative_viewshed(dem_grid, observer_points):2 """3 Computes Digital Elevation Model (DEM) cumulative viewshed.4 For each cell (x, y) on terrain, counts how many observers have unobstructed Line-of-Sight (LOS).5 Uses Bresenham ray traversal or radial elevation profile slope comparisons:6 tan(elevation_angle) = (z_target - z_obs) / horizontal_dist.7 """8 return "Cumulative Visibility Matrix (Heatmap)"
Related Concepts
Isovists, viewsheds, solar shadows, and acoustic ray tracing.
Interactive geometrical visualization of Planar Quad meshes and conical beam offsets.
Interactive geometrical visualization of solar shadow envelopes and specular acoustic ray tracing.