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
        }

    }