将3D多边形绘制为网格

时间:2014-02-26 08:44:50

标签: opengl graphics computational-geometry

我有一个3D点列表,形成一个3D多边形。它们实际上是由用户绘制的N> 2行。

我想从这个多边形创建一个网格,然后用纹理绘制多边形。 为此,我需要从多边形形成的表面创建三角形。 我怎么能进行这种三角测量? 有没有我可以使用的图书馆?

1 个答案:

答案 0 :(得分:0)

您应首先通过查找脸部平面将3D问题转换为2D问题。为此目的,您可以使用三个顶点(形成两个向量)(避免过于接近或过多对齐)。

然后,您将每个顶点投影到该平面上。这可以通过使用向量微积分或等效的Gram-Schmidt正交化(http://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process)从两个向量创建正交坐标系来完成。执行坐标更改并删除Z。

通过“耳朵剪辑”进行三角测量并不难实现(http://en.wikipedia.org/wiki/Polygon_triangulation)。

2D三角剖分后,您将顶点变换回3D坐标。