[0] 3Dアニメーションの対象として、次の単振り子を考えます。

図1 単振り子
この運動方程式は
すなわち
となります。
[1] Simulink 3D Animationを使って、単振り子の3Dアニメーションを作成します。これはたとえば図2のように作成されます。

図2 単振り子アニメーションのためのSimulink図
ここで、下半分は非線形運動方程式(2)をブロック線図で表したものです。ブロックVR Sinkを開くと、図3の単振り子が運動する仮想空間(VR図)が現れます。

図3 単振り子のVR図
設定のタブをクリックすると図4の画面が現れます。
図4 単振り子のVR Sink設定
ここで、VR図を描くX3Dプログラムとして、vrpend.x3dが指定されていることがわかります。また、VR図は2つの要素(pendulum, ground)と2つの視点(view1, view2)から成ります。pendulumのところのrotationにチェックを入れていることに注意してください。これにより、VR Sinkへの入力信号(回転軸を表す3次元ベクトル、回転角を表すスカラー)の受け入れを行うことができます。回転軸は[0;0;1]となっています。
図3において座標軸の設定は図5のようになっています。左右方向がx軸、上下方向がy軸、画面の貫通方向がz軸です。回転軸を[0;0;1]で指定するとz軸まわりの回転を意味します。

図5 Simulink 3D Animationにおける座標軸
それでは以下に示されるvrpend.x3dについて詳しく見ていきます。
X3D |
|
DEF=’pendulum’の部分について
これは振り子を描く部分で、

図6 translationとcenter
DEF=’ground’の部分について
これは床を描く部分で、
DEF = ‘view1’の部分について
これは振り子の運動を外から観察するために視点の設定をしています。
[2] VRエディタvreditを用いたvrpend.x3dの作成法について述べます。
まず振り子の生成を行います。
●次図のようにメニューを辿って、ROOT の下に、Transform を生成します。
●次図のようにEdit Nameを選択して、名前を pendulum に設定します。
●次図のようにメニューを辿って、children の下に、Shape を生成します。
●次図のようにメニューを辿って、Shape の下に、Appearance を生成します。
●次図のようにメニューを辿って、Appearance の下に、Material を生成します。
●次図のようにメニューを辿って、geometry の下に、Box を生成します。
●次図のように、Box サイズを指定します。
●次図のようにメニューを辿って、内部視点 view2(inside-view) を生成します。
同様にして、床の生成と外部視点 view1(outside-view) の生成を行います。