将一组共面的 3D 点映射到它们的平面 2D 坐标

Mapping a Coplanar Set of 3D points to Their Planar 2D Coordinates

我有一组网格的 3D 点和每个点的法线。点位于同一平面上,这些点是通过沿任意平面切割 3d 模型获得的。

问题是 - 我需要将这些 3D 点映射到它们的平面 2d 坐标 (u,v),这可用于形成网格的 Delaunay 三角剖分。所以我需要一个转换矩阵,将这些 3d 共面点转换为其平面 2D 坐标。

简单的解决方案是定义一个在所有点都垂直于法向量的平面。在这种情况下,您只需让每个向量的 Z 分量到您表面上的点等于 0 即可在定义的平面上为您的表面提供二维表示。然后根据平面定义您的变换(或适当地 rotation)矩阵。

方法的详细信息在 plane (Geometry) and the nuts and bolts of how to do it are shown at Defining a plane in R3 with a point and normal vector 中给出。