MESH TOPOLOGY - Edge Length, Face Angles and Vertex Angles

yeah, I have Sandbox and have used it for the topology trees but now you have enlightened me as to how you can get this info using code I’m interested. However, you seemed to hint at the angles being available directly instead of calculating them but I wasn’t sure.

So is there a connectivity tree of the angles or do you have to get the FF topology, then calculate the normals then calculate the angles between the normals or do you just…

for i = 0 to forever
face i.gimmethedogdangangles
next

:slight_smile:

Well … if you are some sort of pro AND you are after real-life things (in real-life) meaning ultimately nuts, bolts, cats and dogs … you can’t escape the Dark Side for long (in fact the sooner the better). The only issue is that power corrupts and absolute power corrupts absolutely … but no pain no gain.

Screen Shot 069

Other than that, as I said some answers above (mesh talking) is recommended to get the common edge between 2 adjacent faces (using FF and List instersections on FE [or loop an EF until both indices match the pair face indices, that’s a bit stupid mind]), define a plane (Z = edge.Direction) and then test the Dot (Cross of the 2 normals, plane Z). If is < 0 flip the plane and calculate the normals (vectors) angle using that plane.

Other than that … well … most sane people may argue about why you need 9 connectivity trees in Breps (FF, FE and EF are the commonly used ones) since … blah, blah … but we are NOT sane anyway, he, he.

1 Like