1

我有一个由 3D 点和边组成的 3D 线框。如何识别构成 3D 对象面的顶点集?

我正在使用QT并希望在给定其点集和边集的情况下渲染 3D 对象。我能做的最好的事情是给三个点形成一个三角形的脸,我可以用 3D 渲染它。但是如何在给定更多点和边缘的情况下做同样的事情呢?或者,或者,如何将集合分解为形成三角形面的 3 个点?

4

1 回答 1

0
  • 只需获取您的第一条边及其顶点(V1 和 V2)。
  • 找到所有使用 V2 的边——它们的第二个顶点是你潜在的 V3。
  • 对于每个潜在的 V3,检查您是否有边 V1-V3 - 如果有,那么您找到了一个三角形 V1-V2-V3。对于大多数网格,您应该有一个或两个这样的三角形。当您添加新三角形时,请始终检查是否尚未找到。
  • 对使用 V1 的边执行相同的操作。
  • 采取下一个边缘并重复。

根据您的确切数据、边缘方向等,可能需要稍作修改,但您应该明白这一点。

于 2018-03-16T17:24:40.293 回答