check_pdiv Ver 0.01 for MS-Windows XP〜Windows10 32/64ビット用 シェアウェア
VRML ファイルを読み込んで、ポリゴンの断面を新規に VRML ファイルに書き込み作成するプログラムです。
最近、バーチャルリアリティ VR や拡張現実 AR への感心が高まってきている。
しかし、初心者にはしいいが高いのでは中と思われがちだが、実はそうではない。
特に VRML(バーチャルリアリティモデリングランゲージ)に関しては、誰でも気軽に試してみることが出来るものだ。
というのは、原則テキストで記述できるので、極端な話し Windows についてくるメモ帳で書いて、お試しできるからだ。実用的には、プログラミングの時に使う、自分が使い慣れたエディタなどの文章編集プログラムを使うと良いだろう。
VRML の歴史は古い。今の仕様が提唱されたのは1996年ごろなので、優に20年以上の歴史がある。
1996年のパソコンでも実現できるバーチャルリアリティということなので、現在存在するパソコンなら、どのパソコンでも快適に体験できる。パソコンの性能は、そうとう良くなっているからね。
歴史があるということは、それだけ世界中に普及しているし、ノウハウや資産が沢山あると言うことを意味しています。
おそらく、最も世界で普及しているバーチャルリアリティは VRML だろう。
それが証拠に、最近3Dプリンターの利用も注目されているが、フルカラーの3Dプリンターに対応しているのは VRML と obj 形式だけだ。このうち、obj は単なる3次元モデルを表現する規格であり、バーチャルリアリティではない。
つまり、フルカラーの3Dプリンターに対応しようと思えば、VRML は必要不可欠な存在だ。
3次元のモデル表現には他にも stl という規格もあるが、この規格には色を表現する部分が無い。純粋に3次元モデルの形のみの規格だ。要する色情報が無いので、低価格の3Dプリンターにも利用されている。
勿論、フルカラーの3Dプリンターでも使えるだろうが、使っても淡色になるのでフルカラーの機能を利用する事は出来ない。
obj は、形情報だけではなく、色情報も持っているので、フルカラーの3Dプリンターには使える。
VRML は、形と色情報のほかにも、バーチャルリアリティー情報を持つことが出来る
点が obj とは違う。
バーチャルリアリティ情報のうちの形と色情報のみを使えばフルカラーの3Dプリンターに使える事になる。
ただ、数が少ないうちはいいだろうが、数が増えると保管に場所やスペースが必要になる。そういう点では、3Dプリンターで実体化するのもいいが、バーチャルリアリティの世界で活用したほうが良いのではないだろうか。
したがって単にフルカラーの3Dプリンターを使いたいだけなら obj で十分だが、せっかく3次元のモデルを作っておいて、単にそのままではもったいない話だ。
せっかく作った3Dモデルなら。もっと何かに活用したい
ものだ。
世界中に普及している VRML に対応しておけば、バーチャルリアリティなど様々な利用が可能なのだ。
そこで、今回は、VRML ファイルの中の ポリゴンを輪切りにして、その輪郭を VRML ファイルに出力するプログラム
を作った。
ここで言う VRML ファイルのポリゴンとは、具体的には IndexedFaceSet ノードで表現されている、体積のある3Dのモデルの物体を意味しています。
3Dプリンターで出力出来るモデルならば、これに該当します。
3Dプリンターで印刷できない、単なる面や線、点は、対象外です。
単なる面は、面積はりますが、厚さがないので体積がない。
線は長さがありますが、太さがないので体積がない。
点は、長さも太さもないので、体積がない。
これだけ聞くと、何もわざわざスライスした輪郭のファイルを作らなくても、ワイヤーフレームモードで見れば、十分なのではないかと思われる方もいるかと思います。
しかし、ワイヤーフレームモードといくつか違いがあります。
ワーヤーフレームモデルで見れるのは、モデリングされているポリゴンの線分です。断面ではありません。
断面とワイヤーフレームは同じではない
のです。
場合によっては、断面情報のほうが重要なことがあります。
ワイヤーフレームは全体が一体ですが、このプログラムでは断層ごとに移動させてそこだけ詳しく観察するなどバーチャルな使い方
ができます。
そういう場合にお試しください。
つまり、本プログラムを使うことによって単なる3Dモデルや、ワイヤーフレームで確認しにくい3Dモデルの断面情報を確認できます。
興味のある人は、使ってみて欲しい。
< 今回提供するプログラムとファイル >
1,check_pdiv.exe : VRMLファイルの3Dオブジェクトの断面の輪郭を新たに VRML ファイルに出力するプログラム。32ビットのシステムでも64ビットのシステムでも動作する。
2,readme.txt,readme.htm
( 001 - 006.jpg )
3、sample.wrlVRMLサンプルファイル
---------------------------------
MS-Windows XP〜Windows10 32/64ビットプログラムが動作するコンピュータ上で動作します。
A. 名 称: check_pdiv.exe Ver 0.01 for MS-Windows XP〜Windows10 32/64ビット < シェアウェア >
B. 著 者: 山口 浩明 Internet: M6284FV884Q@asahi-net.or.jp
C. 条 件:
1) MS-Windows XP から Windows10 のシステムで 32/64ビットプログラムが動作するすべてのコンピュータ。
D. 大きさ: 約 200K バイト
E. 価 格: 1200円
F. 送金先: 郵便振替 口座番号 00320-1-39377 受取人名称 メディア・プロジェクト
G. 機能概要:
VRML のファイルを読み込んで、 3Dポリゴンをスライスした断面の輪郭の VRML ファイルを作成します。
コンソールプログラムなので、軽快。
MS-Windows XP〜Windows10 以上 32/64ビット以上が動作しているコンピューター上で動作します。
H. 復元方法: 一般的な zip ファイルの解凍法に準じます。
〈例1〉Windows10, Windows8.1 の場合、エクスプローラで check_pdiv.zip を選択後、上部のメニューより、
圧縮フォルダツール -> 展開 -> すべて展開
を選択・実行します。
〈例2〉XP の場合、マイコンピュータなどから check_pdiv.zip ファイル選択後、クイック解凍を選択実行。
なお、すべて展開する場合は、ライセンスキーが必要です。
ライセンスキーは、ベクターの「シェアレジ」コーナーで購入できます。
I. 再配布条件:本圧縮ファイルは、自由に配布しても良い。ただし、圧縮ファイルやプログラムにいかなる変更も加えてはいけません。
--------------------------------------------------------------------
< 使用前の準備 >
(1)このプログラムが作成する VRML をみるにはにブラウザに VRML のプラグインを入れておいてくか、同様のソフトを入手しておく必要があります。各自プラグインなどを入手し、インストールして使用してみてください。
(2)自分の環境に合わせて、好きなドライブのDIRECTORYに check_pdiv.zipを解凍コピーする。
〈解凍〉一般的なファイルの解凍法に準じます。
(Windows10 の場合)
Explore で check_pdiv.zip ファイルを選択。ウインドウ上部のメニューより
圧縮フォルダーツール -> 展開 -> すべて展開
を選択、実行する。
パスワードの入力が要求されたら、ここでライセンスキーを入力します。
(Windows XPの場合)
Explore などのファイル・マネージャーを使用して、ファイルを選択して、クイック解凍を選択実行。
パスワードの入力が要求されたら、ここでライセンスキーを入力します。
すべて展開する場合は、ライセンスキーが必要です。
ライセンスキーは、ベクターの「シェアレジ」コーナーで購入できます。
< 使用方法 >
1) データの準備
このプログラムは、VRML のテキストコードに対して実行します。バイナリや圧縮してあると使えませんので、あらかじめテキストファイルに変換しておいてください。
現在のバージョンではバイナリコードには対応していません。
2) 「名前を指定して実行する」
コンソールプログラムなので、基本的にはコマンドプロンプトから使います。
コマンドプロンプトを開いてから、CD コマンドなどで check_pdiv.exe が解凍されているディレクトリィに移動して、コマンドラインに check_pdiv と変換したい VRML ファイル名を入力します。
例えば、sample.wrl という名前の VRML ファイルを変換したい場合は、
check_pdiv sample.wrl
と入力して行きます。
入力が終わりましたら、最後に[Enter]キーを押します。
今の場合、ファイル名を指定しただけですので、初期値のY軸方向に80分割スライスした断層の輪郭情報が、cr0.wrl というファイルに書き込まれています。
結果は、すべて cr0.wrl という名前のファイルに書き込まれます。同じ名前のファイルが存在すれば上書きされますので、結果を保存しておきたい場合は、ファイル名を変更しておきましょう。
通常の VRML ファイルと同じようにご覧ください。ブラウザで観る場合は、ブラウザにVRML のプラグインをインストールしておいてください。通常、ネットから無料のものが手に入ります。
ファイル名以外を指定しない場合は、Y軸方向に80分割スライスした VRML ファイルを作成します。
通常の使用ではこれで問題ないと思います。
しかし、スライスする軸方向や、スライスする分割数を変更したい場合が起こるかもしれません。
その時には、起動時にオプションを指定します。
3) スライスする軸方向を変える場合。
通常はY軸方向に断面を調べていきますが、X軸方向やZ軸方向に指定することができます。
起動時に、読み込みファイル名の指定の後に、"sx:0", "sz:0"、と指定します。
例えば、X軸方向にスライスした断面を調べたい場合は、
check_pdiv sample.wrl sx:0 [Enter]
とタイプして指定します。
Z軸方向にするには、"sz:0" と指定します。
複数の軸を同時に指定することはできません。
4) スライスする数を指定する。
ポリゴンが多いモデルだと時間がかかります。そこで、もっと少ない断層で良いという場合もあるでしょう。そこで軸方向に何分割するか指定する事が出来ます。
指定の仕方は簡単で、先の軸を指定したオプション "sx:0", "sz:0" の数字を変更するだけです。
例えば、X軸方向に40分割で良いという事であれば、
check_pdiv sample.wrl sx:40 [Enter]
と入力します。
輪郭の右側に表示されている文字は小さいですが、マウスなどでクリックして選択し、移動させるとそれと対応した断面の輪郭が移動するとともに、文字は大きくなります。元の位置に戻すと文字も元の大きさに戻ります。文字が拡大されるのは最大10倍までです。
5) 使用に関する一般的な注意事項
(1) 普通は、断層の右側にその断層の周囲長が表示されますが、場合によっては表示されない場合があります。断層が表示されているにもかかわらず、文字情報が表示されていない場合は、元のモデルの数値の値が小さすぎる場合があります。
元データの単位が何かにおよりますが、VRML自体には単位はありませんので、1以下の数字で表現されているモデルもあるようです。
元データはmm単位で大きさが分かるようなくらいに表現されているようにしたほうが良いでしょう。
(2) 一度に1方向からしかファイルを作れませんが、この方が良いと思われます。
VRML の場合、Inline ノードで外部の VRML ファイルを取り込んで表示できます。
サンプル画像にもある様に、元データと並べて表示したり、重ねて表示したり、お好みのようにすればよいでしょう。
従って、必要に応じて、必要な方向の断層ファイルを VRML に読み込んで表示するようにすれば、良いのです。
(3) 元データのサイズの大きさに気を付けよう
最近、3Dプリンター用に無料で公開されるモデルも多くあるようです。
また、世界中の博物館からモデリングデータが無料で公開荒れるようになってきています。
これらを調べてみるのも良いと思いますが、サイズの大きいデータには気を付けましょう。
特に、博物館から公開される3Dデータは、非常にきめ細かく、多くのポリゴンで構成されている場合が多いようです。
多くのポリゴンがあれば、それだけ断層の確認に時間がかかります。場合によっては何時間もかかる羽目になりかねませんので、注意が必要です。
あらかじめファイルサイズやポリゴンが多いようなものにつては、3D編集ソフトなどでポリゴン数を減らして、そのファイルに対して作業したほうが良いでしょう。
例えばポリゴン数を十分の一ぐらいに減らしたところで、博物館の提供する3Dモデルの断層輪郭の確認には、たいした差はないようです。
(4) 極端に少ないポリゴン数のモデルは避けましょう。
前の3とは逆に思えるかもしれませんが、極端に少ないポリゴン(単純な立方体)などはうまく輪郭が判別できない場合があります。
(5) 大多数の3Dモデルは三角形のポリゴンで構成されていますが、まれに多角形のポリゴンが含まれている場合があります。なるべく三角形だけで構成されているモデルを使用したほうが良いです。
(6) 極端に複雑な輪郭は正しく判別できない場合があります。
現在のバージョンでは塊のような物体を想定しているので、板や器などの薄いもので出来ているものも向いていません。
6) 結果の表示
プログラムを実行すると、コンソール画面に結果が表示されます。
新規に cr0.wrl というファイルが作成されていることを確認しましょう。
そのファイルが断層の輪郭が書かれたVRMLファイルです。
通常の VRML ファイルと同じようにご覧ください。ブラウザで観る場合は、ブラウザにVRML のプラグインをインストールしておいてください。通常、ネットから無料のものが手に入ります。
使用例1
大英博物館から無料で公開されている obj ファイルを OBJ2VRML を使って VRML に変換し、それに対して実行した結果と元のオブジェクトを並べて表示した場合。
このように実際には触れることができないような遺跡や美術品もバーチャルに断面を確認できます。
使用例2
無償で公開されている女性アイドルの obj ファイルを OBJ2VRML を使って VRML に変換し、それに対して実行した結果の一部。
このように実際には触れることができないようなアイドルの体型やサイズもバーチャルに確認できます。
輪郭の右側に表示されている文字は小さいですが、マウスなどでクリックして選択し、移動させるとそれと対応した断面の輪郭が移動するとともに、文字は大きくなります。元の位置に戻すと文字も元の大きさに戻ります。文字が拡大されるのは最大10倍までです。
今回公開するプログラムは、軸方向に対して垂直な面を仮定して、その接点を調べて行っているわけですが、この時斜めの面を仮定して接点を調べて行けば、斜めの面の断層の輪郭も調べることができます。
ただ、このプログラムではそこまでやっていません。
斜めの断層の輪郭が見たい場合は、元データを斜めにしたものを使えば、同じような事が出来るからです。
VRML に興味が出た方は、各自プラグインなどを入手し、インストールして使用してみてください。
ただし、このプログラムの示す結果は、一つの判断基準であり、絶対的なものではありません。参考資料としてお使いください。
* あくまでも、それぞれの取扱いは各個人の責任において行ってください。
--------------------------------------------------------------------
郵便振替 口座番号 00320-1-39377、 受取人名称 メディア・プロジェクト
正規ユーザーに登録されると、今後 メディア・プロジェクト が企画する催しやサービスを優待的に受ける機会が得られます。また、バージョンアップ情報やバージョンアップサービスも優先的に受けられます。
--------------------------------------------------------------------
このプログラムの著作権は、山口 浩明 氏、および メディア・プロジェクト に帰属します。
COPY RIGHT.(C) Media Project, KISARAZU CITY TYUOU JAPAN
Hiroaki Yamaguchi
尚、このプログラムを使用した結果起こる、いかなる結果についても、作者及び メディア・プロジェクト は一切の責任を負いません。
〒292-0067 木更津市中央 メディア・プロジェクト
Internet: M6284FV884Q@asahi-net.or.jp
< check_pdiv.exe 情報 >
Ver 0.01 2016/11/23