Page MenuHome

Strange Face Normal Orientation on Default Cube
Closed, ArchivedPublic

Description

System Information
Windows 7 64 Bit
Linux 64 Bit

Blender Version
Broken: 2.7 19e627
Worked: 2.59

After a few Loopcuts, the orientation of the faces (on the defauld cube) ist strange. Every new cube works fine.

In the attached .blend file is an object including a mesh with two cubes. On the right side there is the default cube. On the left side there is a new inserted cube. Every cube has three loopcuts.

To see the difference, just select the faces on the top side of the two cubes one after another with 'Transform Orientation' set to 'Normal'. On the left (new) cube, all faces have the same orientation. On the right (default) cube, the two top faces on the left have another orientation then the two faces on the right.

Best regards
Martin

Event Timeline

Martin Leurs (martinleurs) raised the priority of this task from to 90.
Martin Leurs (martinleurs) updated the task description. (Show Details)
Martin Leurs (martinleurs) edited a custom field.

Would say this is not a bug, X/Y axes in normal space are rather arbitrary, did not check but I’d bet they are set based on first loop in the face or something like that. Hence, their orientation are not really predictable nor reliable.

Do not know enough that transform space, though, Campbell will do! :)

Campbell Barton (campbellbarton) changed the task status from Unknown Status to Archived.May 28 2014, 7:09 AM

this is tricky,

face orientations do quite a few checks to get sane values, (using longer edges) the problem is with square faces there isn't an obvious choice,

Currently this works well for single faces, but for multiple, we don't ensure each faces orientation is compatible before combining, In certain cases it might even be preferable they some orientations cancel each-other out.
Further, if we try to be clever here and ensure orientations are compatible while combining, then we either need to have some logical order, or - a reference orientation (the active face for example).

We could do something like...

  • Sort faces by area.
  • Accumulate orientations, ensuring new orientations are added, in a way thats compatible with existing (no flipping).

But this is more at on the level of areas that could be improved rather then a bug.

closing.

Ok, good to know. But I don't understand, why it works on every other cube then the default cube. My solution to the 'problem' is, to just change the default cube to a new cube and to save this as the new startup scene. I think this could be a workaround for upcoming releases to hide the 'problem'.

Willi (willi) added a subscriber: Willi (willi).EditedMay 28 2014, 1:03 PM

@Martin Leurs (martinleurs) I guess this is because of floating point deviations. If you look at the vertex locations. But even if you round them manually, the internal representations might vary, however, I don't know the precision used for computing normals as described by Campbell.

EDIT: yes, after setting the values to whole numbers using Python, the normal orientation is back to "normal".