In the solid-modelling convention used here, a rigid-body transformation is an orientation-preserving rigid transformation, represented by a proper rotation and a translation. The proposed upper-left block is orthogonal but has
It is a reflection in the plane . It preserves distances, but reverses handedness, so it cannot describe continuous motion of a rigid solid through proper rotations and translations. Some mathematical uses of rigid transformation include this orientation-reversing case; the determinant is the distinction relevant to the warning.
In a solid modeller, triangle winding and outward normal vectors must agree. A reflection reverses the winding: for edge vectors ,
Simply transforming stored normal vectors by while retaining the original vertex order therefore makes the geometric and stored normals disagree. Back-face culling, inside/outside tests and Phong reflection model calculations can then use the wrong side. Code assuming a positive oriented volume can likewise interpret the reflected solid incorrectly. A modeller can support reflections if it deliberately corrects these orientation conventions.
A suitable alternative rotates by about and then translates upward by height. Writing ,
Its rotation matrix has determinant . The source bounds , , become , , , where . A horizontal stripe becomes the vertical stripe , so even the stripe positions from the left edge are preserved. The face's normal vector is also preserved.

Articles by others on the same topic (0)

There are currently no matching articles.