如何从MeshGeometry3D获取所有三角形?

库马兰

我有一个System.Windows.Media.Media3D.MeshGeometry3D对象,我需要从该对象获取所有Triangles,如下所示。

System.Windows.Media.Media3D.MeshGeometry3D m;
//
// code to generate mesh and assign to 'm'
//
foreach (var t in m.Triangles)  //there is no Triangles property, only TriangleIndices
{
    //t.p1, t.p2, t.p2  --> need all three points of a triangle
}

如何从网格'm'中获得所有三角形?

Fratyx

您可以从Position属性获得三角形。此列表中Point3D点的连续三倍表示一个三角形。例外:如果设置了TriangleIndices属性,则必须从此列表中获取三元组。此三元组中的每个条目都是“位置”列表中的索引。

因此,当位置列表为P0,P1,P2,P3,P4,P5时,您会得到三角形(P1,P2,P3),(P4,P5,P6)。

如果另外TriangleIndices列表为3、4、5、1、0、2,则可获得三角形(P3,P4,P5),(P1,P0,P2)。(Px是Point3D结构)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章