(57)【特許請求の範囲】
【請求項１】
３次元データを読み込み表示装置用の書式に変換する変換処理手段を備えた３次元データ変換装置において、
該変換処理手段は、前記３次元データのモデルの大きさが一定値より小さい場合、表示のために面に投影する該モデルを拡大することを特徴とした３次元データ変換装置。
【請求項２】
３次元データを読み込み表示装置用の書式に変換する変換処理手段を備えた３次元データ変換装置において、
該変換処理手段は、前記３次元データのモデルの大きさが一定値より小さいかどうか判断し、該モデルが小さい場合、表示のために該モデルが投影される面を小さくする制御データを付加することを特徴とした３次元データ変換装置。
【請求項３】
３次元データを読み込み表示装置用の書式に変換する手順と、
前記３次元データのモデルの大きさが一定値より小さい場合、表示のために面に投影する該モデルを拡大する手順とを実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ある３次元計算機利用設計装置（以下、３Ｄ−ＣＡＤ装置という）で作成されたモデルデータを、データを作成した３Ｄ−ＣＡＤ装置以外の装置で参照することができるようにするための３次元データ変換装置及び記録媒体に関する。
【０００２】
【従来の技術】
現在、さまざまな装置の設計に３Ｄ−ＣＡＤ装置が利用されている。そのデータを手軽に参照できることが望まれているが、一般に３Ｄ−ＣＡＤ装置は高価であり、また、処理速度も高速でないため、参照（画面表示のみ）するときには別の装置を用いることがある。その場合、３Ｄ（３次元）データの変換を行う必要がある。
【０００３】
このような装置として、例えば、ＶＲＭＬ（バーチャル・リアリティ・モデリング・ランゲージ）ビューアがある。ＶＲＭＬビューアは、ＶＲＭＬで表現された仮想世界を表示する装置である。
【０００４】
（１）：ＶＲＭＬビューアの表示のしくみの説明
図８は従来例の説明図（１）であり、図８（ａ）はＶＲＭＬビューアの表示のしくみの説明である。図８（ａ）において、ＶＲＭＬビューアでは、頂上を切り落とした直四角錐Ｖを仮想世界に置き、この直四角錐Ｖ内のオブジェクトを面Ｓに投影する。そして、オブジェクトが投影された面Ｓが表示装置に表示される。なお、頂点Ｐから面Ｓまでの距離をＬ、直四角錐の頂角をθとする。
【０００５】
ＶＲＭＬビューアでは、表示の拡大・縮小、移動、回転などの処理が可能であるが、これらは全て直四角錐Ｖの移動によって実現されていた。例えば、拡大は面Ｓがオブジェクトに近づく方向に直四角錐Ｖを移動する。そして、このような手法は、ＶＲＭＬビューアのみに限らず、３Ｄデータの表示にしばしば用いられる手法であった。
【０００６】
このような手法を用いる装置では、面ＳよりＰ側（直四角錐Ｖの外部）にあるオブジェクトは、画面に表示されない。機械系３Ｄ−ＣＡＤでは、（物理的に）非常に小さなモデルを作成することがあるが、そのようなモデルを上記の手法を用いて表示装置で参照しようとすると、非常に小さくしか表示されない。さらに拡大しようとして直四角錐Ｖを移動すると、モデルＭが直四角錐Ｖの外部に出て表示されなくなってしまう。
【０００７】
図８（ｂ）は小さなモデル表示の説明である。図８（ｂ）において、直四角錐Ｖ内の非常に小さなモデルＭを、面Ｓに投影して表示画面Ａに表示すると、非常に小さくしか表示されない。
【０００８】
図９は従来例の説明図（２）であり、図９（ａ）は小さなモデルの拡大表示の説明である。図９（ａ）において、非常に小さなモデルＭを、拡大しようとして面ＳがモデルＭに近づく方向に直四角錐Ｖを移動すると、モデルＭが直四角錐Ｖの外部に出て、表示画面Ａに表示されない。
【０００９】
図９（ｂ）はモデルの回転の説明である。モデルＭを回転させようとした場合は、ある点を中心に回転することになる。この時、上記のような装置では、処理を簡単化して高速を図るため、回転の中心をデータの原点Ｏに固定していることがある。その場合、図９（ｂ）の画面Ａのように、原点ＯがモデルＭの外部に設定されていると、モデルは少しの回転で画面Ｂのように表示領域から飛び出してしまう。
【００１０】
【発明が解決しようとする課題】
前記従来のものにおいては、次のような課題があった。
（１）：非常に小さなモデルＭを、拡大しようとして面ＳがモデルＭに近づく方向に直四角錐Ｖを移動すると、モデルＭが直四角錐Ｖの外部に出て、表示画面に表示されなくなっていた。
【００１１】
（２）：原点ＯがモデルＭの外部に設定されていると、モデルは少しの回転で表示領域から飛び出してしまい、ユーザの望む角度でモデルＭを参照することは難しかった。
【００１２】
本発明は、このような従来の課題を解決し、３Ｄデータを、それを作成した３Ｄ−ＣＡＤ装置以外の表示装置で最適に表示できるようにするための３次元データ変換装置及び記録媒体を提供することを目的とする。
【００１３】
【課題を解決するための手段】
図１は本発明の原理説明図である。図１中、１は３Ｄデータ格納手段、２は変換処理手段、３は表示データ格納手段である。
本発明は前記従来の課題を解決するため次のように構成した。
【００１４】
（１）：３次元データを読み込み表示装置用の書式に変換する変換処理手段２を備えた３次元データ変換装置において、該変換処理手段２は、前記３次元データのモデルの大きさが一定値より小さい場合、表示のために面に投影する該モデルを拡大する。
【００１５】
（２）：３次元データを読み込み表示装置用の書式に変換する変換処理手段２を備えた３次元データ変換装置において、該変換処理手段２は、前記３次元データのモデルの大きさが一定値より小さいかどうか判断し、該モデルが小さい場合、表示のために該モデルが投影される面を小さくする制御データを付加する。
【００１７】
（３）：３次元データを読み込み表示装置用の書式に変換する手順と、前記３次元データのモデルの大きさが一定値より小さい場合、表示のために面に投影する該モデルを拡大する手順とを実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体とする。
【００１８】
（作用）
前記構成に基づく作用を説明する。
３次元データを読み込み表示装置用の書式に変換する変換処理手段２で、３次元データのモデルが小さい場合、表示のために面に投影する該モデルを拡大する。このため、データの変換時にモデルが自動的に拡大されて、モデルが投影される面Ｓに対して十分な大きさを持たせることができ、十分な大きさで表示装置に表示することができる。
【００１９】
また、３次元データを読み込み表示装置用の書式に変換する変換処理手段２で、３次元データのモデルが小さい場合、表示のために該モデルが投影される面を小さくする制御データを付加する。このため、モデルが投影される面Ｓを小さくする制御データが自動的に付加されて、モデルを十分な大きさで表示装置に表示することができる。
【００２１】
また、３次元データを読み込み表示装置用の書式に変換する手順と、３次元データのモデルが小さい場合、表示のために面に投影する該モデルを拡大する手順とを実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体とする。このため、この記録媒体のプログラムをコンピュータにインストールすることで、モデルが投影される面Ｓに対して十分な大きさを持たせることができ、十分な大きさで表示装置に表示することができる３次元データ変換装置を提供することができる。
【００２２】
【発明の実施の形態】
本発明では、３Ｄモデルが面Ｓに対して十分な大きさを持った状態で、直四角錐Ｖの内部に入るようにする。また、３Ｄデータの原点をモデルの中心にして回転するようにする。
【００２３】
図２〜図７は本発明の実施の形態を示した図である。以下、図面に基づいて本発明の実施の形態を説明する。
（１）：モデルを拡大する場合の説明
非常に小さなモデルＭを、拡大しようとして面ＳがモデルＭに近づく方向に直四角錐Ｖを移動すると、モデルＭが直四角錐Ｖの外部に出て、表示画面に表示されなくなっていた。そこで、データの変換時に非常に小さなモデルＭを変換処理手段２で自動的に拡大する。
【００２４】
図２はモデルを拡大する場合の説明図である。図２において、非常に小さなモデルを、変換処理手段２でデータの変換時に拡大したモデルＭを直四角錐Ｖ内に入れ、面Ｓに投影して表示画面Ａに表示する。このため、小さなモデルも十分な大きさになるまで拡大して表示させることが可能となる。
【００２５】
図３はモデルを拡大する場合の処理フローチャートである。以下、図３の処理Ｓ１〜処理Ｓ７に従って変換処理手段２（図１参照）が行う処理を説明する。
Ｓ１：変換処理手段２は、３Ｄ−ＣＡＤ装置等で作成された３Ｄデータを格納する３Ｄデータ格納手段１からＣＡＤデータを読み込み、処理Ｓ２に移る。
【００２６】
Ｓ２：変換処理手段２は、３Ｄデータの軸に沿ったモデルの大きさ（ｘ＿ｓｉｚｅ，ｙ＿ｓｉｚｅ，ｚ＿ｓｉｚｅ）を計算し、処理Ｓ３に移る。
Ｓ３：変換処理手段２は、軸に沿ったモデルの大きさの最小のものを求め、処理Ｓ４に移る。
【００２７】
ｓｉｚｅ＝ｍｉｎ（ｘ＿ｓｉｚｅ，ｙ＿ｓｉｚｅ，ｚ＿ｓｉｚｅ）
Ｓ４：変換処理手段２は、前記Ｓ３で求めた最小のものの大きさが「Ｔ」より小さいかどうか判断する（ｓｉｚｅ＜Ｔ）。この判断で最小のものの大きさが「Ｔ」より小さい場合は処理Ｓ５に移り、もし小さくない場合は処理Ｓ７に移る。なお、「Ｔ」は、小さい所を画面で見やすくするための表示装置（表示画面のサイズ）によって定められる定数である。
【００２８】
Ｓ５：変換処理手段２は、次の式で拡大倍率（ｓｃａｌｅ）を求め、処理Ｓ６に移る。
ｓｃａｌｅ＝Ｔ／ｓｉｚｅ
Ｓ６：変換処理手段２は、各座標値（ｘ，ｙ，ｚ）に対して、次の拡大処理を行い、処理Ｓ７に移る。
【００２９】
ｘ＝ｘ×ｓｃａｌｅ
ｙ＝ｙ×ｓｃａｌｅ
ｚ＝ｚ×ｓｃａｌｅ
Ｓ７：変換処理手段２は、表示装置用の書式で３Ｄデータを表示データ格納手段３に出力し、この処理を終了する。なお、この表示データ格納手段３の表示データが、ＶＲＭＬビューア等の表示装置（図示せず）により表示される。
【００３０】
なお、図３では、各座標値にｓｃａｌｅを掛け合わせているが、表示装置によっては、ｓｃａｌｅ（倍率）をデータ中に直接書き込むことができ、処理Ｓ６の拡大処理を省略することができる。
（２）：面Ｓを小さくする場合の説明
非常に小さなモデルＭを、拡大して表示画面に表示するためデータの変換時に非常に小さなモデルＭを投影して表示する面Ｓを、小さくする制御データを自動的に付加するようにする。
【００３１】
図４は面Ｓを小さくする場合の説明図である。図４において、非常に小さなモデルＭを、変換処理手段２で、面Ｓを小さくする制御データを付加する。このため、小さなモデルも十分な大きさになるまで拡大して表示画面Ａに表示させることが可能となる。
【００３２】
図５は面Ｓを小さくする場合の処理フローチャートである。以下、図５の処理Ｓ１１〜処理Ｓ１７に従って説明する。
Ｓ１１：変換処理手段２は、３Ｄ−ＣＡＤ装置で作成された３Ｄデータを格納する３Ｄデータ格納手段１からＣＡＤデータを読み込み、処理Ｓ１２に移る。
【００３３】
Ｓ１２：変換処理手段２は、３Ｄデータの軸に沿ったモデルの大きさ（ｘ＿ｓｉｚｅ，ｙ＿ｓｉｚｅ，ｚ＿ｓｉｚｅ）を計算し、処理Ｓ１３に移る。
Ｓ１３：変換処理手段２は、軸に沿ったモデルの大きさの最小のものを求め、処理Ｓ１４に移る。
【００３４】
ｓｉｚｅ＝ｍｉｎ（ｘ＿ｓｉｚｅ，ｙ＿ｓｉｚｅ，ｚ＿ｓｉｚｅ）
Ｓ１４：変換処理手段２は、前記Ｓ１３で求めた最小のものの大きさが「Ｔ」より小さいかどうか判断する（ｓｉｚｅ＜Ｔ）。この判断で最小のものの大きさが「Ｔ」より小さい場合は処理Ｓ１５に移り、もし小さくない場合は処理Ｓ１７に移る。なお、「Ｔ」は、小さい所を画面で見やすくするため表示装置の画面の大きさによって定められる定数である。
【００３５】
Ｓ１５：変換処理手段２は、頂点Ｐから面Ｓまでの長さをＬ、直四角錐Ｖの頂角をθ（図８（ａ）参照）とし、次の式を満たす「Ｌ」と「θ」を求め、処理Ｓ１６に移る。
【００３６】
２Ｌｔａｎ（θ／２）＜ｓｉｚｅ
Ｓ１６：変換処理手段２は、前記求めた「Ｌ」と「θ」から、表示データ中に埋め込む面Ｓを制御する情報（制御データ）を作成し、表示データ格納手段３に出力し、処理Ｓ１７に移る。
【００３７】
Ｓ１７：変換処理手段２は、表示装置用の書式で３Ｄデータを表示データ格納手段３に出力し、この処理を終了する
なお、図５では、「Ｌ」と「θ」によって、面Ｓを制御しているが、表示装置によっては、直接面Ｓの大きさを指定する等その他のデータによって制御することもできる。
【００３８】
（３）：モデルの回転の説明
モデルが少しの回転で画面の表示領域から飛び出してしまうのを防止するため、回転の中心、すなわちデータの原点をモデルの中心とするものである。これによって、ユーザは、モデルを自由に回転させ、望む角度で参照することが容易になる。
【００３９】
図６はデータの原点をモデルの中心に設定した場合の説明図である。図６において、表示画面Ａのように、回転の中心をモデルＭの中心Ｏにする。その結果、表示画面ＡのモデルＭを回転すると、表示画面Ｂのように回転で画面の表示領域からモデルＭが飛び出してしまうことがなくなる。
【００４０】
図７はデータの原点をモデルの中心に設定する場合の処理フローチャートである。以下、図７の処理Ｓ２１〜処理Ｓ２５に従って説明する。
Ｓ２１：変換処理手段２は、３Ｄ−ＣＡＤ装置で作成された３Ｄデータを格納する３Ｄデータ格納手段１からＣＡＤデータを読み込み、処理Ｓ２２に移る。
【００４１】
Ｓ２２：変換処理手段２は、３Ｄデータの軸に沿ったモデルの位置（ｘ＿ｍｉｎ，ｘ＿ｍａｘ，ｙ＿ｍｉｎ，ｙ＿ｍａｘ，ｚ＿ｍｉｎ，ｚ＿ｍａｘ）を調べ、処理Ｓ２３に移る。
【００４２】
Ｓ２３：変換処理手段２は、次の式で原点Ｏの移動する値を求め、処理Ｓ２４に移る。
ｘ＿ｔｒａｎｓ＝（ｘ＿ｍｉｎ＋ｘ＿ｍａｘ）／２
ｙ＿ｔｒａｎｓ＝（ｙ＿ｍｉｎ＋ｙ＿ｍａｘ）／２
ｚ＿ｔｒａｎｓ＝（ｚ＿ｍｉｎ＋ｚ＿ｍａｘ）／２
Ｓ２４：変換処理手段２は、各座標値（ｘ，ｙ，ｚ）に対して、次の平行移動処理を行い、処理Ｓ２５に移る。
【００４３】
ｘ＝ｘ−ｘ＿ｔｒａｎｓ
ｙ＝ｙ−ｙ＿ｔｒａｎｓ
ｚ＝ｚ−ｚ＿ｔｒａｎｓ
Ｓ２５：変換処理手段２は、表示装置用の書式で３Ｄデータを表示データ格納手段３に出力し、この処理を終了する。
【００４４】
なお、図７では、各座標値に対して、データの原点からモデルの中心までの距離を引いているが、表示装置によっては、平行移動の情報をデータの中に直接書き込むことができる。
【００４５】
以上、表示装置に最適な表示がされない場合、通常は表示装置を改良して表示できるように変更することが考えられる。しかし、表示装置を改良することは、一般に多くの時間とコストを必要とする。このため、前記実施の形態で説明したように、表示装置に改良を加えることなく、比較的簡単なデータ変換装置の改良により、表示装置に最適な表示がなされるようになる。
【００４６】
（４）：プログラムのインストールの説明
変換処理手段２は、プログラムで構成でき、主制御部（ＣＰＵ）が実行するものであり、主記憶に格納されているものである。これらのプログラムは、一般的な、パーソナルコンピュータ、ワークステーション等のデータ処理装置（コンピュータ）で処理されるものである。このコンピュータは、主制御部、主記憶、ハードディスク等のファイル装置、表示装置、キーボード等の入力手段である入力装置などのハードウェアで構成されている。
【００４７】
このコンピュータに、本発明のプログラムをインストールする。このインストールは、フロッピィ、光磁気ディスク等の可搬型の記録（記憶）媒体に、これらのプログラムを記憶させておき、コンピュータが備えている記録媒体に対して、アクセスするためのドライブ装置を介して、或いは、ＬＡＮ等のネットワークを介して、コンピュータに設けられたファイル装置にインストールされる。そして、このファイル装置から処理に必要なプログラムステップを主記憶に読み出し、主制御部が実行するものである。
【００４８】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
（１）：３次元データを読み込み表示装置用の書式に変換する変換処理手段で、３次元データのモデルが小さい場合、表示のために面に投影する該モデルを拡大するため、データの変換時にモデルが自動的に拡大され、モデルが投影される面Ｓに対して十分な大きさを持たせることができ、十分な大きさで表示装置に表示することができる。
【００４９】
（２）：３次元データを読み込み表示装置用の書式に変換する変換処理手段で、３次元データのモデルが小さい場合、表示のために該モデルが投影される面を小さくする制御データを付加するため、モデルが投影される面Ｓを小さくする制御データが自動的に付加されて、モデルを十分な大きさで表示装置に表示することができる。
【００５１】
（３）：３次元データを読み込み表示装置用の書式に変換する手順と、３次元データのモデルが小さい場合、表示のために面に投影する該モデルを拡大する手順とを実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体とするため、この記録媒体のプログラムをコンピュータにインストールすることで、モデルが投影される面Ｓに対して十分な大きさを持たせることができ、十分な大きさで表示装置に表示することができる３次元データ変換装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】実施の形態におけるモデルを拡大する場合の説明図である。
【図３】実施の形態におけるモデルを拡大する場合の処理フローチャートである。
【図４】実施の形態における面Ｓを小さくする場合の説明図である。
【図５】実施の形態における面Ｓを小さくする場合の処理フローチャートである。
【図６】実施の形態におけるデータの原点をモデルの中心に設定した場合の説明図である。
【図７】実施の形態におけるデータの原点をモデルの中心に設定する場合の処理フローチャートである。
【図８】従来例の説明図（１）である。
【図９】従来例の説明図（２）である。
【符号の説明】
１  ３Ｄデータ格納手段
２  変換処理手段
３  表示データ格納手段
【図１】
0003561403.tif 000002
【図２】
0003561403.tif 000003
【図３】
0003561403.tif 000004
【図４】
0003561403.tif 000005
【図５】
0003561403.tif 000006
【図６】
0003561403.tif 000007
【図７】
0003561403.tif 000008
【図８】
0003561403.tif 000009
【図９】
0003561403.tif 000010