Maximum Shading Angle from Point

I am trying to find the shading angle of nearby buildings normal on the facade of my building in a single point. I have managed to solve this by creating multiple rays together with mesh ray and evaluating the maximum angle to the xy-plane, but i wonder if there is a better alternative that demands less computer power. its important that the maximum angle is found so using the zmax of the shading objects wont work as illustrated below with the dashed line.

Attach your files please

shading angle meshray.gh (11.6 KB)

Try this solution, if it can be useful.

shading angle meshray a.gh (24.7 KB)


shading angle meshray b.gh (21.0 KB)
Another approach exploiting Delaunay Mesh.
Projected or Section solution.

Not sure if isefull here but just the other needed something similar and found this nice solution for 3d.

I’m… sorry. I’m not reading the objective wrong here am I?:


Maximum shading angle from point VR 01.gh (21.3 KB)

Edit: i see that this is achieved in Riccardos file. thank you!

Thank you for very clever approaches. Would it be possible to replicate this process but at any given angle (not just normal to the original surface but any direction in the xy-plane)?

No idea what you are doing…

This solution uses Rhinocommon Rhino.Geometry.Silhouette class.


shading angle meshray c.gh (31.0 KB)

What is the advantage of this? (asking genuinely)


Maximum shading angle from point VR 02.gh (50.4 KB)

This method worked very well for less complex shading meshes. however i see that meshray is less computer intensive when the mesh gets more complex (mainly beacause of plane|mesh)

Everything is inaccurate and with low performance until you answer the questions…
What are we doing here?
Do you need a single numerical output, or you are looking for a more complex output?
Do you need a solution working with projection or just a section?
Indeed if the mesh become more complex things change… initially you showed just simple boxes.

I am trying to evaluate how much of the sky is visible from a point expressed as an average shading angle in a sector ±10 degrees from a surface normal in the xy-plane. Similar to your last script but just for 20 degrees not the whole 360 degrees around the point. I have meshes as shading objects and they are usually very complex

not too side step all previous replies, but are you not just looking for ladybug sky view factor or view percent

He be.