x3d 绘制金字塔
x3d drawing a pyramid
各位程序员大家好。我不得不说我刚开始在 x3d 上画图,我真的需要为我的项目建造金字塔。然而,我搜索的内容似乎对我没有任何帮助,因为我无法理解除了查看其他人的代码如何绘制图形之外的逻辑。
我设法使用我发现的一些关键字绘制了一个圆锥体,例如:"bottomRadius"、"height" 等...
但我不知道如何将这样的东西转换为金字塔,我应该注意哪些关键字可以帮助我绘制底三角形而不是圆形,就像圆锥体使用关键字 bottomRadius 所做的那样?
没有金字塔的基本形状。唯一的基本形状是长方体、圆锥体、圆柱体和球体。您将需要使用一种详细的几何形状:IndexedFaceSet 或 TriangleSet。这些可以手动编码,您可以在其中确定所有顶点的坐标。您还可以使用建模工具(Blender 是开源的)构建几何体并将其导出为 X3D。
使用 IndexedFaceSet 的坐标定义 space 中的点,您可以使用 coordIndex 连接(创建三角形)。
例如:
Shape {
geometry IndexedFaceSet {
coord Coordinate {
point [
1 0 0,
0 1 0,
0 0 1,
0 0 0,
]}
coordIndex [
0,1,2,-1 #face1
0,1,3,-1 #face2
0,2,3,-1 #face3
1,2,3,-1 #face4
]
color Color {
color [ 1 0 0,0 1 0,0 0 1,1 0 1,]}
colorPerVertex TRUE
}
}
各位程序员大家好。我不得不说我刚开始在 x3d 上画图,我真的需要为我的项目建造金字塔。然而,我搜索的内容似乎对我没有任何帮助,因为我无法理解除了查看其他人的代码如何绘制图形之外的逻辑。
我设法使用我发现的一些关键字绘制了一个圆锥体,例如:"bottomRadius"、"height" 等...
但我不知道如何将这样的东西转换为金字塔,我应该注意哪些关键字可以帮助我绘制底三角形而不是圆形,就像圆锥体使用关键字 bottomRadius 所做的那样?
没有金字塔的基本形状。唯一的基本形状是长方体、圆锥体、圆柱体和球体。您将需要使用一种详细的几何形状:IndexedFaceSet 或 TriangleSet。这些可以手动编码,您可以在其中确定所有顶点的坐标。您还可以使用建模工具(Blender 是开源的)构建几何体并将其导出为 X3D。
使用 IndexedFaceSet 的坐标定义 space 中的点,您可以使用 coordIndex 连接(创建三角形)。 例如:
Shape {
geometry IndexedFaceSet {
coord Coordinate {
point [
1 0 0,
0 1 0,
0 0 1,
0 0 0,
]}
coordIndex [
0,1,2,-1 #face1
0,1,3,-1 #face2
0,2,3,-1 #face3
1,2,3,-1 #face4
]
color Color {
color [ 1 0 0,0 1 0,0 0 1,1 0 1,]}
colorPerVertex TRUE
}
}