Original Spec| Sample

定義

Transform { 
  eventIn      MFNode      addChildren
  eventIn      MFNode      removeChildren
  exposedField SFVec3f     center           0 0 0    # (-,)
  exposedField MFNode      children         []
  exposedField SFRotation  rotation         0 0 1 0  # [-1,1],(-,)
  exposedField SFVec3f     scale            1 1 1    # (0,)
  exposedField SFRotation  scaleOrientation 0 0 1 0  # [-1,1],(-,)
  exposedField SFVec3f     translation      0 0 0    # (-,)
  field        SFVec3f     bboxCenter       0 0 0    # (-,)
  field        SFVec3f     bboxSize         -1 -1 -1 # (0,) or -1,-1,-1
} 
3次元空間中の変換を定義します。
addChildren
イベントによって後述のchildrenを追加できる
removeChildren
イベントによって後述のchildrenを削除できる
center
変換の中心、回転するときに関係してきます。
children
含まれる(移動される)ノードの集合、複数の指定が可能でTransform を入れ子にすることもできます。
rotation
変換の回転部分の指定、回転変換は軸とその周りの角度で 指定できますが、最初の3つの数で軸を指定し最後の数でその周りの角度を指定します。 角度の単位はラジアン(360度=2π)です。
scale
変換の拡大部分の指定
scaleOrientation
拡大するときの座標軸の指定
translation
変換の平行移動部分の指定
bboxCenter
変換する範囲(箱)の中心
bboxSize
変換する範囲(箱)の大きさ
物体を拡大/縮小したい場合は「scale」と「scaleOrientation」を 物体を回転させたい場合は「rotation」と「center」を 平行移動させたい場合は「translation」を指定してください。 同時に指定した場合拡大->回転->移動の順で行われます。 addChildren, removeChildrenの イベント関係についてはしばらくお待ちください。

bboxはブラウザの表示が速く出来るように読み込む物体の範囲のヒントとして 指定します。指定することにより表示が速くなることがあります。この直方体の 外側の物体を表示はブラウザによって異なり表示されない場合があるかもしれません。

サンプル

とりあえず基本的な移動についてのみのサンプルです。拡大縮小の軸をずらしたため 箱の面が平行でなくなっています。回転により箱の軸が斜めになって移動により場所 が移っています。
#VRML V2.0 utf8
Transform {
  children [ Shape { geometry Box {} }]
 scale    .01 1 .5
 scaleOrientation 0 1 0 0.78 #y軸周り45度の回転
 center 0 0 0
 rotation 0 0 1 0.839
 translation -3 0 0
}
#http://vrmlbyhand.hoops.ne.jp/ref/Transform1.wrl