Field of View


This view analysis component takes a user-specified visual plane, field of view angle, and distance limit to test for view obstruction from input meshes. The result is a returned percent of unobstructed views and a series of view cones with associated distanced and angles which show the extents of visibility from a given location.
Began at Woods Bagot in 2011, this tool has been under about 5 years of on and off development, allows for high-speed accurate analysis of view obstructions. The latest version, completed at Grimshaw Architects has been completely overhauled to maximize the efficiency of angle sorting via domain inclusion checking. Additional revisions will most likely be developed.
To increase accuracy and efficiency, view percentages are derived not through ray collision, but through mesh sectioning through the following process. The view plane intersects the contextual meshes and extracts polylines. The angle from these polylines control points are measured and the min and max angle points which describe the extent of the view occlusion are isolated and distance to the point closest to the plane origin is extracted. These points angles are then checked against the angle domains and their associated distanced to cull out all point which is behind another domain. Then in simple terms, the resulting list of points are then sorted via angle, creating the view cones.
The resulting outputs give a full report of the view occlusions returning an arc and two lines that geometrically describe each cone with one branch per cone, sequential list of angles of the view cones in a tree format, a parallel list of distances, and the unitized percent of open views per the given view plane.


Field of View

FInPlaneItemThe frame that the view section is taken from. The Y axis of this frame is the center of the view cone
OInDoubleItemThe distance the origin will be offset along the View Plane’s Y axis
DInDoubleItemThe distance threshold
AInDoubleItemThe field of view in degrees
MInMeshListMesh Objects which potentially block views within the specified distance limit
EOutCurveTreeThe geometry of the view cone. One branch per view cone consisting of an arc and two edge lines in that order
D_OutDoubleTreeThe distance of each view cone matching the edges output
A_OutDoubleTreeThe angles of each view cone matching the edges output
ROutDoubleItemA unitized percentage of the total angles of views which are unobstructed within the specified distance cutoff


Minimum Requirements

PlatformRhino 5, Grasshopper
VersionGrasshopper 0.9.0075
TypeC# Component