MeshGeometry3D类是WPF 3D编程中必不可少的一部分,要想正确的使用这个类,对其常用的Positions、TriangleIndices和TextureCoordinates这三个属性的理解非常重要。
1、Positions
首先我们要知道,在计算机的3D世界里,所有的图形都是有三角形组成的,比如,一个正方形可以有两个三角形组成,一个立方体可以有12个三角形组成,Positions就是来表示组成3D图形的所有三角形的顶点的。以正方形为例,组成以个正方形需要两个三角形,那就是六个顶点,但是因为这两个三角形共享了一条边,所以只需要四个顶点就可以表示了,假如我们已经确定四个顶点,分别为(-1,-1,0),(1,-1,0),(1,1,0),(-1,1,0),那么相应的Positions就是“-1,-1,0 1,-1,0 1,1,0 -1,1,0”。当然,你也可以选择把六个点都表示出来,这会为你更好渲染你的3D图形留下方便,不过更多的时候,我们还是选择不重复表示那些共享点。
2、TriangleIndices
TriangleIndices通过将Positions的顶点集合按一定顺序组合起来,组成所需要的三角形。
以前面已经确定的Positions集合为例,要想用这些点组成两个三角形,我们就需要在TriangleIndices中指出这些点 的排列顺序,在这里,TriangleIndices可以为“0,1,2 2,3,0 ”,这里需要说明的一点是,我们需要按绕

本文介绍了WPF 3D编程中的关键概念MeshGeometry3D,包括Positions表示3D图形顶点,TriangleIndices用于组合顶点形成三角形,以及TextureCoordinates用于纹理映射。通过一个正方形的例子,详细解释了这三个属性的工作原理,并提到对于复杂图形,可以借助3D建模工具并导出XAML文件。
最低0.47元/天 解锁文章
2290

被折叠的 条评论
为什么被折叠?



