#c# #wpf #xaml #3d
#c# #wpf #xaml #3D
Вопрос:
Я не могу нарисовать правильную форму ромба.
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
" />
Это мой окончательный результат для изображения
Как вы можете видеть, не все треугольники нарисованы, и я не знаю почему. Я знаю, что добавил много TriangleIndices в свойствах XAML, но все еще нет полного ромба.
Ответ №1:
Итак, после многих попыток это сработало. Но я все еще не понимаю одной вещи
Является ли 0 1 2 TriangleIndices
таким же, как 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
" />