Why are the normal's axis not in the same direction as in the global orientation?

If you have a plane, change the transform orientation to normal and then press G to move and Y for contstraining to the y axis it moves in the X global axis, why?

It’s how normal calculations works…
It doesn’t refer to world/global space, but a space defined by the orientation of the face.
You can see the axis by activating the gizmos :

You can think of it like that, if you turn your object 90° in object mode, then in edit mode switch to local, here again the axis aren’t aligned to the world coord anymore, but to the local coordinate of the object.

When using normal the only known axis is the normal of the face, that is a vector perpendicular to the face.
Then other axis are find and averaged as a second step depending on the orientation of the edges of the face.


Here I’ve distorted the plane, the axis are aligned differently.

The final orientation of the axis is dependent of the face’s vertex order :


Here I’ve deleted a vertex and re-created it at the exact same location, then reformed the face, thus changing the vertex order, notice that the axis have been flipped …

It’s a bit confusing, but you need to forget about the world coordinate in that case and maybe use the gizmo to know which axis correspond to the direction you want to transform the face.

1 Like