三角形非平面多边形

Vio*_*nev 4 3d mesh polygon triangulation

我想对非平面多边形进行三角测量(即顶点不在同一个3D平面中).多边形由许多点(数百个)组成.三角形表面不必是光滑的.事实上,它越密集越好.

我最初的想法是:

  • NURBS
  • 在"多边形内"生成附加点并应用3D Delaunay三角剖分.
  • 只需将一个(或几个)顶点"放在中间"并将它们与轮廓顶点连接起来.

我不确定哪些想法适用于我的情况,或者可能还有更好的方法?

更多细节:即使轮廓上的点是数百个,它们也可以分组为3到10个子集,因此每个子集都非常接近一条线.这样生成的线仍然不在同一平面上.人们可以把它想象成一群鸟,它们以多边形飞行,但不完全在同一垂直高度上飞行.

Vio*_*nev 8

我最后做了以下事情:

  1. 适合飞机到点.
  2. 将点投射到飞机上.
  3. 将点转换为平面拟合的坐标系,使每个点具有2D坐标(x,y)和深度z
  4. 计算点云的边界.
  5. 在边界内生成额外的2D点(可以使用等距点或扭曲点,无论人们喜欢什么密度).
  6. 在所有点(边界+生成点)上运行2D Delaunay三角剖分.
  7. 根据边界深度值插值生成的内点的深度值.可以使用任何类型的插值 - 我使用MATLAB的triscatteredinterp(),它运行得很好.
  8. 使用(3)中的逆变换翻译所有点
  9. 使用(6)中的三角测量和(8)中获得的点.

您可以在此处查看结果:http://www.youtube.com/watch?v = 4AqHxKsM7Iw&feature = g-upl


ang*_*nor 0

您可能想看看点云库。其中,它可以进行表面重建。