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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将共面的3D点集映射到它们的平面2D坐标相关的知识,希望对你有一定的参考价值。

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

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

答案

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

这个方法的细节在plane (Geometry)给出,如何做的细节在Defining a plane in R3 with a point and normal vector上显示。

以上是关于将共面的3D点集映射到它们的平面2D坐标的主要内容,如果未能解决你的问题,请参考以下文章

三角测量在3D空间的任意平面上的点集

2d(3d)坐标的散列图(即双精度矢量)?

在 C++ 中的 OpenGL 中将坐标从 3D 透视投影映射到 2D 正交投影

OpenGL Eight (Cube)

将云投影指向2D

通过3D表面绘制2D平面