Checks face/vertex list of closed triangulated objects to make sure all normals are outward facing.
Updated 11 Jul 2024

View License

Checks normals are outward facing and re-orders face if not.
Works with concave objects and with cavities. e.g. swiss cheese
Only works with triangular faces
Requirements: Function TriangleRayIntersection by Jarek Tuszynski
Input: faces, F (Nx3)
vertices, V (Nx3)
Output: corrected face list so all normals are outwards facing
list of any faces reordered
Assumptions: Normals are from clockwise orientation of faces. I.e. Right hand rule
Shape is closed and watertight.
No duplicate faces
Potential improvements: TriangleRayIntersection accepts multi-face, multi-ray input so should be able to speed up by removing the loop over the faces.

Cite As

Darrel Robertson (2024). CheckOutwardNormals (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2024a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Inspired by: Triangle/Ray Intersection

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes