推荐给好友 上一篇 | 下一篇

五、立体造型的几何变换

 

一、X3D-Edit安装配置

二、文本的显示

三、X3D2D图形的构造

四、基本3D图形的创建方法

五、立体造型的几何变换

六、视点和导航的设置

七、场景的光照效果

八、纹理映射

九、X3D场景的多媒体效果

十、X3D的动画效果

十一、X3D的交互技术

十二、X3D的嵌入脚本编程技术

十三、X3D的嵌入脚本Java编程技术

十四

五、立体造型的几何变换


X3D场景空间中,每一个造型都有其空间坐标,通过修改空间坐标系就可以使该造型在场景空间中移动、旋转和缩放等。


X3D提供Transform节点来进行造型的几何变换,该节点的主要属性如下表所示:












































属性


含义


默认值


使用说明


translation


平移


0 0 0


将几何体平移到指定的空间点位置


rotation


旋转


0 0 1 0


3个值是空间坐标点,该点和原点相连的线为旋转轴,第4个值为旋转角度(以弧度为单位)


center


操作基点


0 0 0


指定一个空间点作为几何变换的基点


scale


比例


1 1 1


指定在XYZ方向的比例系数以便进行缩放


scaleOrientation


预旋转比例


0 0 1 0


缩放前子节点局部坐标系统的预旋转(允许沿着子节点任意方向缩放),其数值含义同rotation属性


bboxCenter


边界盒的中心


0 0 0


指定几何体自身原点的位置


bboxSize


边界盒的大小


-1 -1 -1


默认情况下是自动计算的,为了优化场景,也可以强制指定。


下面就来介绍上述属性的使用方法。


一、 平移


示例代码如下:(见18.x3d18.x3dv18.wrl



说明:上面例子中,我们构造了两个球。为了使另一个球在(3,0,0)位置上显示,我们使用了Transform节点,该节点是一个组节点,Shape等节点需要作为它的子节点才能进行几何造型的变换。


结果如下图所示。



二、 旋转


代码如下:(见19.x3d19.x3dv19.wrl



说明:立方体先平移到(3,0,0)点,然后按自身原点沿Z轴旋转45(弧度值约为0.785),结果如下图所示。



若将立方体自身原点移至最右侧面的中点,则上述代码可修改成:(见20.x3d20.x3dv20.wrl



其结果如下:



请仔细比较这两次结果的不同。


三、 缩放


代码如下:(见21.x3d21.x3dv21.wrl



说明:上述代码中将第二个球沿XYZ方向分别设置比例系数130.5,其结果如下图所示。



四、 综合实例


通过几何变换可以构造更多更复杂的几何造型,下面的示例代码就是用来构造一个三维坐标轴。(见22.x3d22.x3dv22.wrl



说明:上述代码中,先用圆柱和圆锥构造Y轴,并将其合并成组Axis。然后对组Axis进行旋转变换,结果如下图所示。



上述显示的场景是用鼠标改变其视角的结果。当然,视角的改变还可直接通过节点进行设置


 

评分:0

我来说两句

seccode