Is there a way to check if surface normals "look" towards each other?

Based on how vertices are arranged for a glazing the surface normal of the glazing could point inwards (into the room) or outwards.

Is there a shortcut within Honeybee/Grasshopper to check if the surface normals of the floor and glazings are facing each other ?

Hi Sarith, There are solutions to figure this out both with Grasshopper or Honeybee methods. What is the context? Do you want to make sure that window is looking inwards? Are you using HBZone for daylight modeling or creating the model surface by surface? In the former window will always be looking outwards so you should reverse the order. In the second one you can use HBSurface.normal to calculate the angle between the surfaces to check.

Hi Mostapha, I was actually trying to write a quick and dirty hack for the 3phase method within Grasshopper/Honeybee when I noticed that the only way to achieve a fair amount of automation is to calculate view direction by code and then feed it to genklemsamp. Based on how the model was created, the order of vertices, and therefore the direction of the surface normal, is likely to cause an issue. So I thought of testing where the surface normal of the glazing faced wrt the floor surface.

Do you think there is an elegant solution to this ?

That’s a very cool hack! See this file. If we can get it work for this zone then we can implement it to Honeybee. Here is an example that reverse all the glazing surfaces to look inward.

flipGlazingInwards.gh (450 KB)

Thanks Mostapaha, I am trying to wrap my head around this. I will keep you posted about how this works out.

I think your solution went slightly hardcore with the use of uuids ! I usually use random.random() and cross my fingers…

Great! I’m looking forward to it.

I usually use random.random() and cross my fingers…

Don’t forget Murphy’s law!

Hi @mostapha,

What is the significance of surface normals for the walls, floor and ceiling for the daylight simulations? I have tried a sample with either directions for walls. The results remained the same.

Hi @devang, It won’t matter for most of normal cases but it will be important if you’re using materials such as mirror which will be applied to only to the front side of the geometry. Also direction of surfaces will matter in 3-phase and 5-phase methods. Honeybee assumes the input surface is facing outwards.

1 Like