|
![]() |
![]() 1-1 簡単なVRMLプログラム
VRMLはC言語、Java言語といったように、VRMLにはVRML言語がある。実際に3次元を作るならそのVRML言語を用いて、プログラムを作成する。
その時必要なエディタはメモ帳でも作れる。 VRMLを表示するためには、先頭行は次のように宣言しなければならない。 #VRML V2.0 utf8
utf8とは、VRMLのTextノードにある各国語の文字を表示するためのunicodeと呼ばれる国際標準への参照を表しています。
”#”で始まる記号は、次の復帰改行まですべてコメントとみなされる。 次に紹介するプログラムとその結果を表示しています。 Program 1-1 vrml11.wrl
#VRML V2.0 utf8 Shape { appearance Appearance { material Material { emissiveColor 1 1 0 } } geometry Sphere { #Shpereは球といい、表示される。 radius 10 #球の半径をあらわす。ここでは10 } }
<解説>
1行目はVRMLを表示するために必要なもの。2行目で形を宣言している。 3〜6行目は立体に色をつけるためのもの。Appearanceを宣言しないと平べったい形になり、立体表現ができない。 diffuseColorの数字はそれぞれ、RGB順になっている。有効範囲は0〜1まで。この例からすると、赤と緑が最大値なので旧の色は緑である。 View 1-1 vrml11.wrl
DEF LEG Transform { ・・・・・・ }
次のプログラムを紹介するのは、Transformというノードを用いる。Transformノードとは、VRMLの基本構成要素で、多くのオブジェクトのコンテナとして機能する一般的なグループノードである。
しかしながら、Transformはそれ以上の機能も提供してる。Transformとは「変形(変換)」という意味で、このような動きには、スケーリング(拡大縮小)、回転、平行移動があります。Transformノードのデフォルト値は、アドレス にあります。 Program 1-2 vrml12.wrl
#VRML V2.0 utf8 DEF TransformCUBE Transform { translation -3.0 2.0 1.0 #X軸上左に3つ動く。 children [ DEF CUBE Shape { appearance Appearance { material Material { diffuseColor 1 0 0 specularColor 0.9 0.9 0.9 } } geometry Box {} } ] }
<解説>
先ほどのプログラムに、childrenで囲み、その上にTranslationで座標位置を決めている。childrenは絶対必須。 translationで座標を決定し、その物体は何なのかというときにchildrenを用いる。いわばペーストみたいな感じである。 View 1-2 vrml12.wrl
|