Isolating unobstructed objects from a point

Hi

I am trying to isolate any unobstructed surfaces within a certain distance from a given point. This is to represent a 500m visible radius from a standing viewpoint.

In cases where the surface is partially unobstructed, I would like to split these from the original surface at the points where they become obstructed, or rebuild only the unobstructed portion of them.

So far I have gotten to the point of getting unobstructed points on the obstacle surfaces, but am not sure how to separate them into lists per obstacle.

I am fairly new to grasshopper so I apologise for lack of technical term!  Any help is greatly appreciated.

Load Previous Replies
  • up

    Eftihis Efthimiou

    Yeah, I forgot to internalize, my bad! You do not actually need weaverbird, I just use it to increase the face count, you can just increase it with a higher integer in mesh sphere ex. In the end, you get the obstructing surfaces from the list item component -if you do not explode the boxes you get the obstructing breps. In the 2d example the ivray works exactly like the isovist component, I just put it there to set you in the mood for the 3d solution. :)

    • up

      Joseph Oster

      This looks clean to me; 3D Points By Obstacle/Surface.  I added a 'Skip Edges' group because points at the edges of surfaces were causing confusion by "appearing" on hidden surfaces.

      • up

        Joseph Oster

        This is amusing...  Instead of placing the buildings on a tilting disk for "3D" effect, I created a configurable "Two Hill Surface" and wired it so the surface itself is an obstacle too (but is treated differently than other obstacle surfaces).  And added a 'Choose Viewpoint' group to pick the center of any building as the "Viewpoint", eliminating that building from the obstacle list.  Seems to work as expected though haven't done much testing.

        As noted in the code:

        NOTE: Disable green group while adjusting
        'Choose Viewpoint' and 'Two Hill Surface'

        You could take this a step further by choosing any point on any surface as the "Viewpoint", like a window in any building, instead of using the volumetric center of the selected building.  But that's more complicated because the building itself must then block all views except from that "window"...

        11