Transform空间坐标变换节点
2008-08-31 18:49
351 查看
Transform空间坐标变换节点,可在X3D立体空间创建一个新的空间坐标。程序中的每个Transform空间坐标变换节点都创建一个相对于已有坐标系的局部坐标系统,该节点所包含的空间物体造型都是在这个局部坐标系统上建立的。利用Transform空间坐标变换节点,可以在X3D场景中创建多个局部坐标系,而这些坐标系可随意平移、定位、旋转和缩放、从而使坐标上的造型实现平移、定位、旋转和缩放。Transform空间坐标变换节点通常被用作Shape模型节点的父节点。
Transform空间坐标变换节点域、域名和域值:
DEF为节点定义一个名字,给该节点定义了唯一的ID,在其他节点就可以引用这个节点;
USE用来引用DEF定义的节点ID,即引用DEF定义的节点名字,同时忽略其他的属性和子对象;
translation域:指定了在世界坐标系的原点和局部坐标系的原点之间x、y、z轴方向上的距离,默认值是:0.0 0.0 0.0;
rotation域:指定了一个局部坐标系旋转轴和旋转角度,默认值是0.0 0.0 1.0 0.0,表示以z轴为旋转轴,但不发生旋转;
center域:指定了一个从局部坐标原点的位移偏、旋转和缩放,其默认值为0.0 0.0 0.0;
scale域:指定了局部坐标系在x、y、z轴方向上的缩放系数;
scaleOrientation域:指定了一个旋转轴和旋转角度,该值域的前3个值为局部坐标系上的x、y、z分量,第四个值为以弧度为计量单位的旋转角度;
bboxCenter域:指定了边界盒的中心从局部坐标系统原点的位置的偏移,默认值是:0.0 0.0 0.0;
bboxSize域:指定了边界盒尺寸在x、y、z轴方向的大小;
containerField域:表示容器域是field域标签的前缀,表示了子节点与父节点的关系;
class域:是用空格分开的类的列表,保留给XML样式表使用,只有X3D场景用XML编码时才支持class属性。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "http://www.web3d.org/specifications/x3d-3.1.dtd"
"file:///www.web3d.org/TaskGroups/x3d/translation/x3d-3.1.dtd">
<!--Warning: transitional DOCTYPE in source .x3d file-->
<X3D profile="Immersive" version="3.1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-3.1.xsd">
<head>
<meta content="px3d7-1.x3d" name="filename"/>
<meta content="zjz-zjr-zjd" name="author"/>
<meta content="*enter name of original author here*" name="creator"/>
<meta
content="*enter copyright information here* Example: Copyright (c) Web3D Consortium Inc. 2006" name="rights"/>
<meta
content="*enter online Uniform Resource Identifier (URI) or Uniform Resource Locator (URL) address for this file here*" name="identifier"/>
<meta
content="X3D-Edit, http://www.web3d.org/x3d/content/README.X3D-Edit.html" name="generator"/>
</head>
<Scene>
<Background skyColor="0.98 0.98 0.98"/>
<Transform translation="0 2.2 0">
<Shape>
<Appearance>
<Material ambientIntensity="0.1" diffuseColor="1 0 0"
shininess="0.15" specularColor="0.8 0.8 0.8"/>
</Appearance>
<Sphere radius="0.8"/>
</Shape>
</Transform>
<Transform translation="0 0 0">
<Shape>
<Appearance>
<Material ambientIntensity="0.4" diffuseColor="0.5 0.5 0.7"
shininess="0.2" specularColor="0.8 0.8 0.9"/>
</Appearance>
<Cylinder bottom="true" height="6" radius="0.3" side="true" top="true"/>
</Shape>
</Transform>
</Scene>
</X3D>
Transform空间坐标变换节点域、域名和域值:
DEF为节点定义一个名字,给该节点定义了唯一的ID,在其他节点就可以引用这个节点;
USE用来引用DEF定义的节点ID,即引用DEF定义的节点名字,同时忽略其他的属性和子对象;
translation域:指定了在世界坐标系的原点和局部坐标系的原点之间x、y、z轴方向上的距离,默认值是:0.0 0.0 0.0;
rotation域:指定了一个局部坐标系旋转轴和旋转角度,默认值是0.0 0.0 1.0 0.0,表示以z轴为旋转轴,但不发生旋转;
center域:指定了一个从局部坐标原点的位移偏、旋转和缩放,其默认值为0.0 0.0 0.0;
scale域:指定了局部坐标系在x、y、z轴方向上的缩放系数;
scaleOrientation域:指定了一个旋转轴和旋转角度,该值域的前3个值为局部坐标系上的x、y、z分量,第四个值为以弧度为计量单位的旋转角度;
bboxCenter域:指定了边界盒的中心从局部坐标系统原点的位置的偏移,默认值是:0.0 0.0 0.0;
bboxSize域:指定了边界盒尺寸在x、y、z轴方向的大小;
containerField域:表示容器域是field域标签的前缀,表示了子节点与父节点的关系;
class域:是用空格分开的类的列表,保留给XML样式表使用,只有X3D场景用XML编码时才支持class属性。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "http://www.web3d.org/specifications/x3d-3.1.dtd"
"file:///www.web3d.org/TaskGroups/x3d/translation/x3d-3.1.dtd">
<!--Warning: transitional DOCTYPE in source .x3d file-->
<X3D profile="Immersive" version="3.1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-3.1.xsd">
<head>
<meta content="px3d7-1.x3d" name="filename"/>
<meta content="zjz-zjr-zjd" name="author"/>
<meta content="*enter name of original author here*" name="creator"/>
<meta
content="*enter copyright information here* Example: Copyright (c) Web3D Consortium Inc. 2006" name="rights"/>
<meta
content="*enter online Uniform Resource Identifier (URI) or Uniform Resource Locator (URL) address for this file here*" name="identifier"/>
<meta
content="X3D-Edit, http://www.web3d.org/x3d/content/README.X3D-Edit.html" name="generator"/>
</head>
<Scene>
<Background skyColor="0.98 0.98 0.98"/>
<Transform translation="0 2.2 0">
<Shape>
<Appearance>
<Material ambientIntensity="0.1" diffuseColor="1 0 0"
shininess="0.15" specularColor="0.8 0.8 0.8"/>
</Appearance>
<Sphere radius="0.8"/>
</Shape>
</Transform>
<Transform translation="0 0 0">
<Shape>
<Appearance>
<Material ambientIntensity="0.4" diffuseColor="0.5 0.5 0.7"
shininess="0.2" specularColor="0.8 0.8 0.9"/>
</Appearance>
<Cylinder bottom="true" height="6" radius="0.3" side="true" top="true"/>
</Shape>
</Transform>
</Scene>
</X3D>
相关文章推荐
- 空间变换网络--spatial transform network
- 空间坐标变换的矩阵表示法
- 空间点坐标变换
- osg::NodeVisitor中计算一个节点对应的世界变换矩阵、法向量、顶点坐标
- VTK修炼之道9:坐标系统及空间变换(窗口-视图分割)
- ROS之tf空间坐标变换浅析
- 第4章 学习Shader所需的数学基础(下)(坐标空间及其变换)
- 顶点坐标空间变换流程
- Transform的坐标变换注意事项
- svg transform 坐标变换方式
- 图形学之空间坐标变化之三维图形观察及变换
- TextureMatrixTransform纹理矩阵坐标节点
- Unity3D - Shader - 坐标空间变换
- 空间数据的坐标变换
- VTK学习(七)坐标系统和空间变换
- 理解SVG坐标系统和变换: transform属性
- 空间坐标变换与投影
- js空间平面坐标变换(涉及文件读取,文本提取数字,特别是x,y点,以及html下拉框设计)
- unity3D游戏开发之Transform的坐标变换注意事项
- TextureTransform3D纹理坐标3D变换节点