根据 3D 对象的点和边生成其面

Generate the faces of a 3D object given its points and edges

本文关键字:3D 对象 根据      更新时间:2023-10-16

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

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

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

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