|
|
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
|
||||||