WPF中的网格几何是什么?
<MeshGeometry3D Positions="0,0,0 10,0,0 10,10,0 0,10,0 0,0,10 10,0,10 10,10,10 0,10,10"
TriangleIndices="0 1 3 1 2 3 0 4 3 4 7 3 4 6 7 4 5 6 0 4 1 1 4 5 1 2 6 6 5 1 2 3 7 7 6 2" />
这是我的代码,Positions
和TriangleIndices
中数字的含义是什么?
答案 0 :(得分:4)
MeshGeometry3D允许开发人员 指定位置,法线和纹理 坐标信息。职位 财产是必需的。
假设法线是相关的 与网格的正面 原始。绕线顺序( 作出的职位的顺序 网格的每个三角形都是 指定)确定是否给定 脸部朝前或朝后。 正面三角形缠绕在一起 逆时针顺序;背对着 三角形顺时针缠绕 顺序。
此属性指定的点 代表的顶点 构成三维网格的三角形。
绕线顺序(顺序) 组成每个人的职位 指定网格的三角形) 确定给定的面部是否是 正面或背面。 正面三角形缠绕在一起 逆时针顺序;背对着 三角形顺时针缠绕 顺序。
对于给定3-D网格中的三角形, 三角形的顺序 指定顶点位置 确定三角形是否面 是正面还是背面。
Windows Presentation Foundation 三维实现使用a 逆时针缠绕顺序;那 是,决定一个点 正面网格三角形的位置 应该在。中指定 逆时针顺序,从 网格的正面。
设置TriangleIndices属性 是可选的。如果指数不是 指定的,三角形绘制在一个 非索引时尚。每一套 三个位置变成三角形。
答案 1 :(得分:0)
Positions :
Each three consecutive sets of numbers present in the value of "Positions" attribute declares a 3DPoint with a particular index, that is first three numbers in the positions (0,0,0) defines a 3DPoint with index 0, and the next set of three numbers (10,0,0) defines a 3DPoint with index 1.
TriangleIndices :
This attribute's value holds all the triangles that make up the mesh. Any 3D Model present as MeshGeometry3D is made up of triangles, which are made up of Positions.
A single point ( which here is Position) can be reference in multiple triangles which is why Positions are separately defined in tag Positions and Triangles contain the indices of the Positions.
答案 2 :(得分:0)
通过位置定义轴上的位置,并标记每个轴的位置(如v0(vertex 0),v1,...) 这样我们就可以指示出三角形在脸部,背部,... 在下面,表示多维数据集的网格,顶点和TriangleIndices的索引。 see this
因此,像这样的多维数据集的TriangleIndices(请注意,多维数据集的每个面都在一行上)
0, 1, 2, 0, 2, 3, //front
4, 5, 6, 4, 6, 7, //right
8, 9, 10, 8, 10, 11, //back
12, 13, 14, 12, 14, 15, //left
16, 17, 18, 16, 18, 19, //upper
20, 21, 22, 20, 22, 23}; //bottom
有关更多信息,请参见此http://in2gpu.com/2015/07/09/drawing-cube-with-indices/