虚拟现实语言vrml“挤出造型节点” 您所在的位置:网站首页 龙骨的造型 虚拟现实语言vrml“挤出造型节点”

虚拟现实语言vrml“挤出造型节点”

2023-12-30 07:29| 来源: 网络整理| 查看: 265

 实验目的:

         熟练掌握Extrusion挤出造型节点

实验三:

         创建一个截面轮廓线为封闭三角形,龙骨线为封闭的正六边形的折线,挤压一个三棱柱边框的挤压造型,可以设定挤压时截面的放大缩小以及旋转形成不同的造型,并使用材质节点实现着色,并保存。

代码: Shape { appearance Appearance { material Material { diffuseColor 0 0.8 0.2 ambientIntensity 0.2 specularColor 0 0.8 0.5 emissiveColor 0 0.2 0.5 shininess 0.1 } } geometry Extrusion { crossSection #截面 [ 0.9 0.9 0 -0.9 -0.9 0.9 0.9 0.9 ] spine # 折线路径 (骨架) [ 2 0 0 #1 1 0 1.732 #2 -1 0 1.732 #3 -2 0 0 #4 -1 0 -1.732 #5 1 0 -1.732 #6 2 0 0 #7 ] solid TRUE scale #缩放[x z] [ 2 1 1 1 2 1 1 1 2 1 1 1 2 1 ] creaseAngle 0.9 #折痕角(平滑) orientation #旋转[x,y,z,r] [ 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 ] } }

解释:

Extrusion:挤出造型节点

crossSection [ x  z ]:截面

Spine [x y z ]:龙骨线

scale [x z]:缩放

orientation [x y z r]:旋转

solid TRUE/FALSE:设定挤出造型是否构成实体。

 creaseAngle 0 :设定褶痕角的阈值。若相邻面法线夹角小于设定域值则做平滑处理,否则不处理

 diffuseColor       0 0 0:漫反光色  ambientIntensity  0    :材料表面的对比度  specularColor    0 0 0:材质的镜面反射光色  emissiveColor    0 0 0:材料的发射光色  shininess            0     :材料表面亮度

挤出造型节点固定语法结构:

Shape

{

    appearance Appearance

    {

         material Material{}

     }

geometry Extrusion {}

}

crossSection 域值说明:

crossSection           [

         0.9   0.9          0      -0.9         -0.9   0.9          0.9   0.9       ]

crossSection[ x  z ]: 指截面的形状(二维),本题指封闭的三角形。取的是坐标上x与z的点。

截面——封闭三角形 1-1示意图

 如1-1示意图,随机取三个点,然后依次连接圈1至圈3坐标点,得到一条封闭的折线,作为放样的截面轮廓线。

截面 效果示意图

  spine 域值说明:

spine             # 折线路径 (骨架)      [      2 0  0               #1      1 0  1.732        #2        -1 0  1.732        #3     -2 0  0               #4     -1 0 -1.732        #5      1 0 -1.732        #6      2 0  0               #7

     ]

spine [ x  y  z ]:是一组三维路径,由crossSection定义截面,截面的几何中心点会沿着这个路径画出来。

龙骨线——正六边形折线 1-2示意图

 如1-2示意图,随机取边长,由勾股定理计算出6个点的位置,然后有序的连接这些点,得到一条封闭的正六边形的折线,这就是挤出造型的牵引轨迹,也叫龙骨线。

注意:这里龙骨线的坐标点的数目是7个。

龙骨线 效果示意图

 scale 域值说明:

scale             #缩放[x z]      [       2 1       1 1       2 1       1 1       2 1       1 1       2 1      ]

scale[x z]:设定二维截面轮廓线的x和z方向上的缩放系数。他的缩放比例系数要与spine域设定的龙骨线坐标点一一对应。(取值必须大于等于0)

这里龙骨线的坐标点的数目是7个,所以缩放系数也应该有7个

 这里我采用的是一个点 x放大(2 1),另一个不缩放(1 1),依次交叉着来。

缩放后 效果示意图

orientation  域值说明:

orientation       #旋转      [         1 0 1 1         1 0 1 1         1 0 1 1         1 0 1 1         1 0 1 1         1 0 1 1         1 0 1 1      ]

orientation[x,y,z,r]:设定沿龙骨线坐标点的挤出造型的旋转参数。取4个值,前面3个是一个旋转轴,第四个是旋转的角度(弧度)。

注意:旋转的参数要与龙骨线坐标点的数目相同。

这里龙骨线的坐标点的数目是7个,所以旋转参数也应该有7个。

旋转后 效果示意图

有误欢迎指出!!!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有