我知道你可以通过在一个cynlinder的末端添加一个圆锥来创建一个箭头。像这样:
<Shape>
<Cylinder DEF='ArrowCylinder' radius='.025' top='false'/>
<Appearance DEF='Green'>
<Material diffuseColor='.1 .6 .1' emissiveColor='.05 .2 .05'/>
</Appearance>
</Shape>
<Transform translation='0 1 0'>
<Shape>
<Cone DEF='ArrowCone' bottomRadius='.05' height='.1'/>
<Appearance USE='Green'/>
</Shape>
</Transform>
如果我想用X3DOM显示类似字形/矢量字段的内容怎么办?显然创建一整套箭头,其中每个箭头都是这样定义的,这不是一个优雅的解决方案......
答案 0 :(得分:0)
一种方法可能是使用IndexedFaceSet节点设置/构建自己的箭头,然后使用id对其进行分组,或者您也可以将一组箭头分组,当然在一个ID下:这是(2-D)例如:
<x3d width="400px" height="400px">
<scene>
<group id="arrow">
<shape>
<appearance>
<material diffuseColor="0.25 0.75 0.755"></material>
</appearance>
<IndexedFaceSet solid="false" coordIndex="0 1 2 3 0 -1">
<coordinate point="0 0 0 1 0 0 1 1 0 0 1 0">
</coordinate>
</IndexedFaceSet>
</shape>
<shape>
<appearance>
<material diffuseColor="0.25 0.75 0.755"></material>
</appearance>
<IndexedFaceSet solid="false" coordIndex="0 1 2 3 0 -1">
<coordinate point="1 -0.5 0 2 0.5 0 2 0.5 0 1 1.5 0">
</coordinate>
</IndexedFaceSet>
</shape>
</group>
</scene>
</x3d>
如果你使用大量的箭头,一个很大的好处就是减少积分/抽取很多,从而获得性能。