I have such an example: On an object the obtuse angle between 2 faces is 150 deg (but I know it, blender shows 30), in another place the acute angle between 2 different faces is 30 deg. In both cases, Blender shows me 30 deg. How could I find the difference with Python help
degrees(face1.normal.angle(face2.normal)) gives me 30 deg in both cases
Though I don’t know exactly why this happens. But it seems that 30 is the opposite of 150.
EDIT: A rough guess is that the vertex indices are entirely mixed up so it doesnt matter if one is first and the other second. Though bmesh contain some utilities to query geometry in the correct order, but still not sure if there’s something like that you’re looking for.
You will have to flip the angle in this case, just change the order of operations face2.angle(face1).
Also considering this you would have to ensure always that you insist in one order of operation to keep things on track. The problem is however how do you decide which operation which face goes first?
As for example if you talk about renderering triangles, it all depends on the triangle that is projected to screen.
See “barycentric” but this is for 2D triangles? https://github.com/ssloy/tinyrenderer/wiki/Lesson-2-Triangle-rasterization-and-back-face-culling
Is there an actual thing for 3D triangles? Say for example you lock to the global X axis no matter what and then only decide which x goes first etc. Any ideas?