(57)【要約】【課題】  視点の決定を自動化し、３次元データを含んだドキュメントを印刷する場合に、自動的に品質の高い図面を出力する３次元形状表示システムを提供すること。【解決手段】    図６に面積による評価例を示してある。画面に表示されている要素と表示されていない要素を判定する場合に、オクルージョンカリング法を用いて、対象となる形状がよく見える位置を判定するための評価値を計算している。ここでは、最も見せたい形状要素をポリゴンで形成された矢印とし、矢印のポリゴンが見えやすい位置を決めることを目的にしている。視点Ａによる左のＡ１では矢印が手前の形状により隠れてしまっているが、視点Ｂによる右のＢ１では矢印がより手前に近いため、画面上で占める矢印の面積は大きい。この場合の評価は、視点Ｂのほうが高くなる。【選択図】        図６
2006171889.tif 000002
【特許請求の範囲】
【請求項１】
任意の視点から形状を参照することが可能な３次元形状表示システムにおいて、
所定の表示された３次元形状に対して、候補となる複数の視点をあらかじめ決定する視点位置指定手段と、
この視点位置指定手段で指定された複数の視点に対して、分散して配置された要素の位置関係を表示するのにどの程度適しているかを所定の計算式に基づいて計算する計算手段と、
この計算手段の計算結果から最も適している視点を決定する視点決定手段と、
この視点決定手段の決定に基づき当該視点により３次元形状を表示する表示手段と、を備えたことを特徴とする３次元形状表示システム。
【請求項２】
前記視点位置指定手段により候補となる視点は、視点座標系において、注視点から視点までを結ぶ直線を所定の角度を元に、それらの角度の組合わせで定義し、全天に配置した位置であらかじめ作成されていることを特徴とする請求項１記載の３次元形状表示システム。
【請求項３】
前記視点位置指定手段により候補となる視点は、ビューアップベクトルが、視点座標系においてつねにＺ軸方向に正規化されていることを特徴とする請求項１または請求項２記載の３次元形状表示システム。
【請求項４】
前記計算手段の計算式として、パーツが画面上で他のパーツに隠れたり、干渉したりしていないかをＺ−Ｂｕｆｆｅｒ法またはオクルージョンカリング法を用いて計算することを特徴とする請求項１、請求項２または請求項３記載の３次元形状表示システム。
【請求項５】
前記計算手段の計算式として、形状の移動情報を用いて、その軌跡をたどる線分を作成し、その線分がパーツに隠れたり干渉したりしていないかをＺ−Ｂｕｆｆｅｒ法またはオクルージョンカリング法を用いて計算することを特徴とする請求項１、請求項２または請求項３記載の３次元形状表示システム。
【請求項６】
前記計算手段の計算式として、描画対象要素の中で最も重要な要素が画面上でどれだけの面積を占めているかで評価値を計算することを特徴とする請求項１、請求項２または請求項３記載の３次元形状表示システム。
【請求項７】
前記計算手段の計算式として、描画対象要素の向きや方向が、画面上でどのような方向を向いているかで評価値を計算することを特徴とする請求項１、請求項２または請求項３記載の３次元形状表示システム。
【請求項８】
任意の視点から形状を参照することが可能な３次元形状表示システムにおいて、
所定の表示された３次元形状に対して、候補となる複数の視点をあらかじめ決定する視点位置を指定する第１のステップと、
第１のステップで指定された複数の視点に対して、分散して配置された要素の位置関係を表示するのにどの程度適しているかを所定の計算式に基づいて計算する第２のステップと、
第２のステップでの計算結果から最も適している視点を決定する第３のステップと、
第３のステップでの決定に基づき当該視点により３次元形状を表示する第４のステップとからなることを特徴とする３次元形状表示方法。
【請求項９】
任意の視点から形状を参照することが可能な３次元形状表示プログラムにおいて、
所定の表示された３次元形状に対して、候補となる複数の視点をあらかじめ決定する視点位置指定機能と、
この視点位置指定機能で指定された複数の視点に対して、分散して配置された要素の位置関係を表示するのにどの程度適しているかを所定の計算式に基づいて計算する計算機能と、
この計算機能による計算結果から最も適している視点を決定する視点決定機能と、
この視点決定機能の決定に基づき当該視点により３次元形状を表示する表示機能と、をコンピュータに実現させるためのコンピュータ読み取り可能な３次元形状表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状表示システムおよび３次元形状表示方法に関する。
【背景技術】
【０００２】
近年、設計・製造の現場では３次元ＣＡＤが普及し、その結果として、ＣＡＤシステムで生成された形状データが多く蓄積されている。これらの形状データを下流の行程、例えば組立て手順マニュアルやサービスマン教育のための分解手順書などに流用させて図面作成に利用できれば、処理の効率化、コストを低下等、大変都合がよい。
このＣＡＤに関し、データの効率的活用および作成する技術として、以下の文献をあげることができる。
【特許文献１】特開２００２−３３４１１８公報
【特許文献２】特開２００２−４２１７３公報
【特許文献３】特開平８−７６９２１号公報
【０００３】
特許文献１では、オブジェクトデータに対して、その保存場所を意味する格別の番地付し、これを共有のデータベースにまとめる。そして、これをネットワーク接続されたクライアント端末から検索自在にアクセスできるようにし、各部品の寸法及び組立配置等の構成データのみであっても、立体見取り図を簡単に復元できるようにしている。
特許文献２は、物体の３次元形状の理解を容易にするために、各ビュー内の物体の選択された辺を自動的に強調するとともに、物体の選択された辺に隣接する各面の辺を強調表示する技術を開示している。
特許文献３では、ＣＡＤ／ＣＡＭを用いた３次元自由曲面及び３次元自由曲面の座標データを感覚的に分かり易く入力する方法が開示されている。
【０００４】
ところで、３次元ＣＡＤでは視点を自由に設定できるため、例えば印刷向けとして１枚の図面を作成したい場合は、オペレータが視点として任意の一点を指示する必要があった。従って、視点を指示しない場合には、その時点で画面に表示されているスクリーンショットをそのまま印刷に出したり、システムの初期視点で位置を初期化してから表示するなどしていた。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のように、３次元ＣＡＤデータを、１枚の静止画として利用したい場合には、任意の一点に視点を設定する作業が必要であった。従来、この作業は、図面を作成するＣＡＤのオペレータが対象となる図面の説明内容や意図によって、３次元空間内の任意の視点を感覚的に決めていたのが実情であった。
そこで、本発明の目的は、視点の決定を自動化し、３次元データから図面を生成するオペレータの支援をしたり、３次元データを含んだマルチメディアドキュメントを印刷する場合に、ユーザーの指示を受けずに自動的に品質の高い図面を出力する３次元形状表示システム、３次元形状表示方法および３次元形状表示プログラムを提供することである。
【課題を解決するための手段】
【０００６】
請求項１記載の発明では、任意の視点から形状を参照することが可能な３次元形状表示システムにおいて、所定の表示された３次元形状に対して、候補となる複数の視点をあらかじめ決定する視点位置指定手段と、この視点位置指定手段で指定された複数の視点に対して、分散して配置された要素の位置関係を表示するのにどの程度適しているかを所定の計算式に基づいて計算する計算手段と、この計算手段の計算結果から最も適している視点を決定する視点決定手段と、この視点決定手段の決定に基づき当該視点により３次元形状を表示する表示手段と、を備えたことにより、前記目的を達成する。
【０００７】
請求項２記載の発明では、請求項１記載の発明において、前記視点位置指定手段により候補となる視点は、視点座標系において、注視点から視点までを結ぶ直線を所定の角度を元に、それらの角度の組合わせで定義し、全天に配置した位置であらかじめ作成されていることを特徴とする。
請求項３記載の発明では、請求項１または請求項２記載の発明において、前記視点位置指定手段により候補となる視点は、ビューアップベクトルが、視点座標系においてつねにＺ軸方向に正規化されていることを特徴とする。
【０００８】
請求項４記載の発明では、請求項１、請求項２または請求項３記載の発明において、前記計算手段の計算式として、パーツが画面上で他のパーツに隠れたり、干渉したりしていないかをＺ−Ｂｕｆｆｅｒ法またはオクルージョンカリング法を用いて計算することを特徴とする。
ここで、Ｚ−Ｂｕｆｆｅｒ法とは、画面に表示する対象の奥行き感を表示する目的で用いられるアルゴリズムであり、奥行き方向の深いところにある対象が、手前にある要素に隠されるように描くことができる。あらかじめ表示する対象を奥行き方向（画面の縦横方向をＸ，ＹであらわしたときのＺ軸方向）でソートしておき、画面すなわちフレームバッファーに対しては、奥のものから順番に描くことで最終的には手前にあるものが奥にあるものを上描きして、結果が立体的に見えるようになる、というものである。近年では専用のハードウエアを用いることで高速に処理できるようになっている。
一方、オクルージョンカリング法とは、他の要素に隠れて見えなくなる要素を抽出し、捨て去る処理のことを言う。先のＺ−Ｂｕｆｆｅｒ法では、書き出した最終形には他の要素には隠されずに残った部分が表示されることになるが、ここでフレームバッファーに書き出す値（通常は色であろう）を、その要素固有のＩＤにしておけば、最終結果であるフレームバッファを走査して読み込んだ値をＩＤ  として解釈することで、「どれが書かれた要素か」「どれが描かれなかった要素か」を判断することが可能になる。
【０００９】
請求項５記載の発明では、請求項１、請求項２または請求項３記載の発明において、前記計算手段の計算式として、形状の移動情報を用いて、その軌跡をたどる線分を作成し、その線分がパーツに隠れたり干渉したりしていないかをＺ−Ｂｕｆｆｅｒ法またはオクルージョンカリング法を用いて計算することを特徴とする。
請求項６記載の発明では、請求項１、請求項２または請求項３記載の発明において、前記計算手段の計算式として、描画対象要素の中で最も重要な要素が画面上でどれだけの面積を占めているかで評価値を計算することを特徴とする。
請求項７記載の発明では、請求項１、請求項２または請求項３記載の発明において、前記計算手段の計算式として、描画対象要素の向きや方向が、画面上でどのような方向を向いているかで評価値を計算することを特徴とする。
【００１０】
請求項８記載の発明では、任意の視点から形状を参照することが可能な３次元形状表示システムにおいて、所定の表示された３次元形状に対して、候補となる複数の視点をあらかじめ決定する視点位置を指定する第１のステップと、第１のステップで指定された複数の視点に対して、分散して配置された要素の位置関係を表示するのにどの程度適しているかを所定の計算式に基づいて計算する第２のステップと、第２のステップでの計算結果から最も適している視点を決定する第３のステップと、第３のステップでの決定に基づき当該視点により３次元形状を表示する第４のステップとからなることにより、前記目的を達成する。
請求項９記載の発明では、任意の視点から形状を参照することが可能な３次元形状表示プログラムにおいて、所定の表示された３次元形状に対して、候補となる複数の視点をあらかじめ決定する視点位置指定機能と、この視点位置指定機能で指定された複数の視点に対して、分散して配置された要素の位置関係を表示するのにどの程度適しているかを所定の計算式に基づいて計算する計算機能と、この計算機能による計算結果から最も適している視点を決定する視点決定機能と、この視点決定機能の決定に基づき当該視点により３次元形状を表示する表示機能と、をコンピュータに実現させるためのコンピュータ読み取り可能な３次元形状表示プログラムにより、前記目的を達成する。
【発明の効果】
【００１１】
本発明によれば、視点の決定を自動化でき、３次元データを印刷する場合に、ユーザーからの格別な指示がなくても自動的に見易い図面を出力することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の好適な実施の形態を図１ないし図７を参照して、詳細に説明する。
図１は、本実施例に係るモジュール構成を示した図である。３次元形状の情報、視点情報等を管理するデータベース部１２、視点変更操作等の処理を行なう演算部１４、マウス、キーボード等によりオペレータからの指示を入力する操作入力部１６、ディスプレイ画面等に表示を行なう表示部１８からなる。
【００１３】
図２は、本実施例に係るシステム構成図である。この図に示すように、ＣＰＵ（中央演算処理装置）２２、表示装置２４、ネットワーク４０と接続するインターフェイス（Ｉ／Ｆ）２６、メモリ２８、外部記憶装置３０および入力装置３２より構成されている。
【００１４】
図３は、この実施例の処理手順を示したフローチャートである。
まず、視点の候補点を生成する（ステップ１０）。３次元ＣＡＤでは事実上視点の位置設定は無限だが、評価を行なうために、なんらかの基準で視点の数を制限する必要がある。この実施例では、どのような基準で制限しても問題はない。ここでは、視点座標系の原点を中心に緯度、経度を適度な分割数（３０度単位）で分割し、それぞれがクロスする位置を視点の候補点とする。
生成された候補点それぞれについて、対象となる３次元形状を作業用の画面（通常はバックバッファー）に投影して、評価を行う。評価の方法も種々の例が考えられるが、ここでは以下の２つの方法を用いる。
（１）描画対象要素の中で最も重要な要素が画面上でどれだけの面積を占めているかで評価値を計算する。
（２）描画対象要素の向きや方向が、画面上でどのような方向を向いているかで評価値を計算する。
【００１５】
この計算を各候補視点を取り出して（ステップ１１）、評価結果をもとに、上記の評価値の合計値もしくは平均値を各視点ごとに計算する。これを当該視点での評価結果として保存する（ステップ１３）。
候補点のすべてを評価したら（ステップ１２；Ｙ）、その中から最も最適なものを決定する（ステップ１４）。そして、決定された視点を使って画面に表示する（ステップ１５）。
【００１６】
以下、本実施例の詳細を説明する。
図４は、本実施例の実施イメージを示した図であり、３Ｄデータを含んだマルチメディアコンテンツのブラウザに本機能を組み込んだ例である。通常はＰＣのブラウザ上で様々な視点をインタラクティブに指定しながら形状を参照するが、印刷を希望する場合には、本機能が自動的に最適な視点を決定し、１枚の静止画に変換することができるようになっている。
【００１７】
図５は、本実施例の視点候補を説明するための図である。ここでは、視点座標系の原点を中心とした全天球を、経度０度、３０度、６０度、９０度、１２０度、１５０度、１８０度、２１０度、２４０度、２７０度、３００度、３３０度（３０度の倍数）、緯度０度、３０度、６０度（３０度刻み且つ９０度の倍数以外）、に分割したそれぞれの位置に点を配置してある。ここで、それぞれの位置から原点に向かう方向を視線方向とする。３０度を基準とした角度で候補を選ぶのは、設計図面の投影法で良く用いられる視点であるためである。別の角度を基準に設定しても問題はない。
【００１８】
注視点を視点座標系の原点とし、視点−注視点間距離をｄｉｓｔとした場合、たとえば緯度３０度、経度３０度の候補視点は座標値（ｄｉｓｔ，０．０，０．０）をまずＹ軸方向を基準に緯度方向（Ｘ軸からＺ軸に向かう方向）に３０度回転し［ｄｉｓｔ＊ｃｏｓ（３０），０．０，ｄｉｓｔ＊ｓｉｎ（３０）］、その結果をさらに経度方向に３０度回転したときの座標値［（ｄｉｓｔ＊ｃｏｓ（３０））＊ｃｏｓ（３０），（ｄｉｓｔ＊ｃｏｓ（３０）＊ｓｉｎ（３０）），ｄｉｓｔ＊ｓｉｎ（３０）］となる。
なお、平行投影の場合は視線方向が決まれば視点位置は決まらなくてもよいため、ｄｉｓｔの値を１．０とした単位位置で計算すればよい。
【００１９】
図６は、本実施例の面積による評価例を示した図である。画面に表示されている要素と表示されていない要素を判定する場合に、一般的に使われる「オクルージョンカリング法」を用いて、対象となる形状がよく見える位置を判定するための評価値を計算する例である。
ここでは、最も見せたい形状要素をポリゴンで形成された矢印とし、この矢印のポリゴンが見えやすい位置を決めることを目的にしている。
【００２０】
視点Ａによる左のＡ１では矢印が手前の形状により隠れてしまっている。一方、視点Ｂによる右のＢ１では矢印がより手前に近いため、画面上で占める矢印の面積は大きい。この場合の評価は、視点Ｂのほうが高くなる。従って、視点Ｂの方が「良い視点」と判断される。
この判定を行なうため、矢印のみを描いた視点ＡによるＡ２の図とＢ２の図を生成しておき、矢印のピクセル数をカウントし、同様にＡ１、Ａ２でのピクセル数との比率を計算し、その値を評価値とする。
【００２１】
図７は、本実施例における角度による評価例を説明する図である。図中の矢印の場合、厚みのないリボン状の表現を使うことが多い。このため真横から見るとまったく表示されない。
また、回転をあらわす矢印の場合は円筒状のリボンになるが、これを回転軸方向から見た場合にはやはり厚みがないためなにも表示されない。回転軸と直行する方向から見た場合にも、表示はされるものの長方形状になってしまい、回転の表現には感じられなくなってしまう。
そこで、矢印が良く見えるであろう位置を評価値１．０、良く見えないであろう方向では評価値０．０とした関数を定義してその結果を用いることで視点の評価をする。
例えば、直線方向の板状の矢印の場合、その面の法線方向ベクトルは矢印を構成するポリゴンから得ることができる。この法線方向ベクトルと視線方向ベクトルは、平行の場合の内積は１．０、垂直の場合に内積が０．０となるため、この値を評価関数として用いることができる。内積の結果が１．０に近い視点を「見やすい位置」として判断できる。
【００２２】
また、回転矢印をあらわす円筒状のリボンの場合は、視線方向ベクトルと回転の軸が成す角度が４５度に近い場合が「見やすい位置」と言える。この場合の評価関数は、ｓｉｎ（２．０＊ベクトルの成す角度）の絶対値が、４５度を１．０、０度や９０度を０．０とした関数となるため、この結果が利用できる。
以上の例のように決定した評価値を、あらかじめ決めておいた視点候補すべて求めておき、その結果最も高い値となった視点を「見やすい視点」と決定する。
ここでは例として、リボン状の矢印を評価の対象としたが、評価はリボン状の要素に限られるわけではなく、見やすくしたい対象となる要素それぞれの特性で見る方向による評価を行ない、値を返す関数を定義してもよい。
【図面の簡単な説明】
【００２３】
【図１】本実施例の形態のモジュール構成図である。
【図２】本実施例のシステム構成を示した図である。
【図３】本実施例の処理手順を示したフローチャートである。
【図４】本実施例のブラウザに組み込み静止画を出力した例を示した図である。
【図５】本実施例の視点候補を示した図である。
【図６】本実施例における画面上の面積比の評価を説明する図である。
【図７】本実施例における角度による評価を説明する図である。
【符号の説明】
【００２４】
１２  データベース部
１４  演算部
１６  操作入力部
１８  表示部
２２  ＣＰＵ
２４  表示装置
２６  Ｉ／Ｆ（インターフェイス）
２８  メモリ
３０  外部記憶装置
３２  入力装置
４０  ネットワーク
【図１】
2006171889.tif 000003
【図２】
2006171889.tif 000004
【図３】
2006171889.tif 000005
【図４】
2006171889.tif 000006
【図５】
2006171889.tif 000007
【図６】
2006171889.tif 000008
【図７】
2006171889.tif 000009