I’ve a problem with a projection of some buildings on a hemisphere. Actually, I want to calculate a Sky View Factor value, so firstly I used ‘deconstruct brep’ command to get points, and then I created lines from test point to that ones. Secondly, to get a projection of building on the hemisphere as a surface, I tried to use ‘project curve on brep’ command but that results in intersection points. I think that I can create a surface from this point but it is not exactly what I want… so I couldn’t figure out how to do this… I’ll add what I’ve done and what I want to have… well, I would be thankful if you have any suggestions…
Thank you so much!!! Because my requirement is getting a closed surface, I tried to add something to your solution… I couldn’t get it on the hemisphere, but I did something else At least, now I have a virtual fisheye image that helps me to calculate projected surface areas.
Like that? Had to rebuild your brep, cause I got weird brep edges after deconstruct brep. Didn’t check your script, so I don’t know why. Anyway, hope this is what you’re after.
with a bit of math you can calculate this by going from Cartesian to Spherical coordinates and from there you simple type in these coordinates into the parametric sphere equation to get the projection sphere in world space.
I was playing around with this problem and I remember something a friend of mine once said:
“Don’t think like an academic”
So, here is a poor man’s spherical projection: the buildings are converted to planar cardboards and then projected onto the sphere.
It’s not accurate but produces a clean surface.
also the ‘cardboards’ have to be outside the sphere. That can be easily fixed but for buildings that are too close the distortion is so big that it becomes pointless. fake.gh (56.6 KB)
Additionally, I would like to inform you smt about that I couldn’t figure out. When I increase the number of the selected buildings, the model gives error. For example, everything is fine with two buildings, but with more than two buildings, projected surfaces cannot occur due to gaps between lines or intersections…
Hi,
I saw you’re still on this so I had another go at it.
This time it’s the real thing and it combines the outlines of buildings that partially occlude one another. real.gh (75.8 KB)
Thanks.
Works on Rhino 5 with an absolute tolerance of 0.00001.
Unfortunately in Rhino 6 doesn’t work at all. The RegiouUnion component complains about:
Solution exception:Object reference not set to an instance of an object.
Hi,
We are in the middle of a project using SVF and we are very grateful to get such a good file.
But I tried your algorithm, and unlike the pictures you posted, only two plabnes were created. Even though we use the rhino 5 to do it.
So we ask for help…
Please help us!
you’re lucky…
It’s been months since I last entered hehehe
I’ve uploaded a better solution, but it still has a problem: since it translates points to polar coordinates, whenever a geometry is positioned on the x axis of the central point, it falls appart
(e.g. if a building is between 5 degrees and -5 degrees, it covers 350 degrees instead of 10)
I cannot dedicate more time but I showed you the problem you can either solve it or make sure to keep the x direction of your central point clear. hemishpere.gh (29.5 KB)