c# - 如何在 wpf GeometryModel3D 中绘制钻石?
问题描述
我无法画出正确的钻石形状。
0,1,0
-1,0,-1 1,0,-1
-1,0, 1 1,0, 1
0,-1,0
这是我对菱形顶点 (0 1 0) 和底部点 (0 -1 0) 以及 y = 0 之间的正方形的方法。然后将它们全部用TriangleIndices
.
我的代码:
<MeshGeometry3D x:Key="diamond"
Positions="
0, 1, 0
-1, 0,-1 1, 0,-1
-1, 0, 1 1, 0, 1
-1, 0,-1 -1, 0, 1
1, 0, 1 1, 0,-1
0,-1, 0
"
TriangleIndices="
0 1 2 0 3 4
0 5 6 0 7 8
9 1 2 9 3 4
9 5 6 9 7 8
1 2 3 4 5 6
7 8 9 1 2 5
5 6 8 1 2 4
1 2 6 1 2 8
5 6 7 1 5 6
1 3 5 0 2 3
" />
这是我对图像的最终结果
如您所见,并非所有三角形都被绘制出来,我不知道为什么。我知道我在 XAML 属性中添加了很多 TriangleIndices,但仍然没有完整的菱形。
解决方案
因此,经过多次尝试,这奏效了。但我还是不明白一件事
0 1 2TriangleIndices
和 0 2 1 一样吗?
<MeshGeometry3D x:Key="Diamond"
Positions="
0, 1, 0
-1, 0,-1 1, 0,-1
-1, 0, 1 1, 0, 1
0,-1, 0
"
TriangleIndices="
0 1 2, 0 3 1, 0 4 3, 0 2 4,
5 2 1, 5 1 3, 5 3 4, 5 4 2
" />
推荐阅读
- javascript - 如何将 div 添加到导航菜单中的父元素?
- c - 在 cmd (C) 中为文本着色
- c++ - 旋转矩阵的问题(openGL/glm)
- google-cloud-platform - 更改多个用户的 GCP IAM 角色
- python - 动画函数必须返回一系列 Artist 对象
- python - Pandas 在特定开始时间后使用增量时间重新采样
- angularjs - 如何在我的 Angular 项目中从 Gramarly 删除控制台中的警告:使用 DEFAULT 根记录器;使用默认时间序列实现
- python - setuptools.setup 的 name 参数值如何影响结果?
- c# - 如何使用 json 作为身份验证来创建 TranslationServiceClient?
- python-3.x - rdflib - > turtle 文件中的嵌套三元组值单位