# How does blender calculate normal and tangent of a single vert for normal orientation?

So if we pick a single vert in normal orientation we will get x, y, z values for the transform. We do have access to Z from bpy API that will be a vert normal but how are x and y calculated ? Is there a simple way to check the math behind it?

• It looks like it considers a line from object origin to the location of the vertex. So the normal is the vector Normalized((0, 0, 0) -> (x, y, z)) Commented Jan 4, 2023 at 12:09
• @Gorgious it looks like you are right for the normal, normal is in the API though so vert.normal is quite easy to get, bitangent will be cross product of normal and tangent (x and z). But what is tangent for a single vert not connected to face Commented Jan 4, 2023 at 13:23
• Hehe it beats my algebraic knowledge I'm afraid. It looks like the Red arrow always stays in the (X,Y) plane though, that might help narrow down the calculation. Or you might find it by digging in the source code if you're into that sort of kink ;) Commented Jan 4, 2023 at 13:38