数理設計研究所トップページ 記述責任者:矢澤
VRMLの実験 研究・設計 数理設計研究所 矢澤 正人
| 概略説明 | |
|---|---|
MAD3DのデータをVRMLに変換するソフト作成のための研究。実現したいこと
判っている問題点デフォルトでは座標(0,0,0)を注目点としているが、データによってはなんの画像も見えないことがある。データ変換時にうまく表示できる視点位置を設定するか、データ位置をオフセットしておくなどする必要がある。 参考文献「VRML2 動く3Dグラフィックス」中山 茂 技報堂出版1997年の本。やや古く、ネットスケープベースのせいかサンプルがちゃんと見えないことが多い。 |
プラグインインターネットエクスプローラ用VRMLプラグイン
各自、インストールして操縦に慣れておく必要があるだろう。 |
サンプルデータ高度化センターロビー(5.9MB) floor.wrlもとデータが左手系、VRMLは右手系なのでX軸が反転してしまっている。点データのサンプル vr2-3-31.wrl(1KB) point.wrl色情報にバグがあり点が見えない?世増の正面、左半分(170KB) yoma.wrlホルンフェルス(387KB) horu.wrl | |
ファイル名VRMLデータの拡張子は 「wrl」。worldの略らしい。テキストで記述するが、バイナリ形式のものもある。 ヘッダファイル先頭行に次のヘッダを入れる。#VRML V2.0 utf8 コメント半角の「#」以降、行末までがコメントとなる。点の描画次のように書くのが基本。各点のX,Y,Zをスペースで区切り、各データをカンマで区切る。 Shape { geometry PointSet { coord Coordinate { point [ 1 1 0, -1 1 0, -1 -1 0, 1 -1 0, 0 0 1 , ] } } } ポリラインの描画まず「point」で、ラインの頂点をすべて指定してしまう。指定した順に0から始まるインデックス番号が割り当てられる。次に、「coorIndex」で点集合のうちのどの点からどの点へ線を書くのかをインデックスで指定する。1本のラインはいくつ点を通過してもよく、-1で終端する。 Shape { geometry IndexedLineSet { coord Coordinate { point [ 0 0 0, 1 1 1, 2 1 1, ] } coordIndex [ 0, 1, -1, 2, 3, -1, ] } } |
等高線データをVRML化するために必要な情報頂点データ等高線データのすべての頂点の3次元座標。書式は、x、y、zをスペースで区切り、zの次はカンマと改行。 値は単精度実数。 各頂点データには、0から始まるインデックス番号が自動的に付加される。 例) x0 y0 z0, x1 y1 z1, x2 y2 z2. ラインデータ通過する頂点をラインの端から端までインデックス番号で指定し、-1で1本のラインを終端する。書式は、インデックス番号,インデックス番号,インデックス番号,・・・・-1,。 値は32ビット整数。 例 0, 1, 2, 3, 4, 5, -1. 0, 10, 1, 10, 2, 15.-1, 11, 12, 13, 14, 15, 16, -1, TINデータをVRML化するために必要な情報ラインと同じように、点群を登録してから面の構成をインデックス番号で指示してやればいい。ただし、シェーディングしないと何を表示してるのかさっぱりわからないので、別途シェーディングの書式を盛り込む必要がある。 Shape { geometry IndexedFaceSet { coord Coordinate { point [ 1 1 0, -1 1 0, -1 -1 0, ] } coordIndex [ 0, 1, 2, -1] } } |
..end