(57)【要約】【課題】  形状モデルを構成する部品のうち、外部の部品に隠されて視認できない内部部品の選択を容易に行えるようにすること。【解決手段】  ３次元形状モデル１０１を構成する複数の部品のうち、予め定められた幾何学的探索基準１０４を満たす部品を、他の部品と異なる描画様式に設定することで、３次元モデル１０１の外からは直接見ることのできない内部部品１０２を視認、選択することが可能となる。【選択図】  図１
2006039872.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状モデルを構成する複数の部品のうち、予め定められた幾何学的探索基準を満たす部品を検出する検出工程と、
前記複数の部品のうち、前記幾何学的探索基準を満たす部品の描画様式を、前記幾何学的探索基準を満たさない部品の描画様式と異なる描画様式に設定する描画様式設定工程と、
前記３次元モデルを前記複数の部品に設定された描画様式に基づいて描画する３次元モデル描画工程と、
前記幾何学的探索基準を満たさない部品のうち、所定の条件を満たす１つの部品を選択状態に設定する選択状態設定工程とを有することを特徴とする情報処理方法。
【請求項２】
前記幾何学的探索基準を満たす部品に設定される描画様式が、半透明もしくはワイヤフレームであることを特徴とする請求項１記載の情報処理方法。
【請求項３】
前記幾何学的探索基準が、基準位置、基準方向及び基準距離から決定されることを特徴とする請求項１又は請求項２に記載の情報処理方法。
【請求項４】
前記検出工程が、前記基準位置から前記基準方向に延び、前記基準距離の長さを有する直線と交点を有する部品を検出することを特徴とする請求項３に記載の情報処理方法。
【請求項５】
前記選択状態設定工程が、前記複数の部品のうち、前記基準位置から前記基準方向へ延びる半直線との交点を有し、かつ前記基準位置からの距離が前記基準距離よりも大きい部品の中で、前記基準位置との距離が最も短い部品を前記選択状態に設定することを特徴とする請求項３又は請求項４記載の情報処理方法。
【請求項６】
前記選択状態設定工程が、前記幾何学的探索基準を決定する前記基準位置、前記基準方向及び前記基準距離とは異なる第２の基準位置、第２の基準方向及び第２の基準距離を用い、前記幾何学的探索基準を満たさない部品のうち、前記第２の基準位置から前記第２の基準方向へ延びる半直線との交点を有し、かつ前記第２の基準位置からの距離が最も短い部品を前記選択状態に設定することを特徴とする請求項３又は請求項４記載の情報処理方法。
【請求項７】
前記幾何学的探索基準が、所定の大きさ，位置及び姿勢を有する立体図形から決定されることを特徴とする請求項１又は請求項２に記載の情報処理方法。
【請求項８】
前記検出工程が、前記複数の部品のうち、前記立体図形の中に全体、重心、部品座標系の原点もしくはバインディングボックスのいずれかが含まれる部品を検出することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記３次元モデル描画工程が、前記３次元モデルとともに前記幾何学的探索基準を表す図形を描画することを特徴とする請求項１乃至請求項８のいずれか１項に記載の情報処理方法。
【請求項１０】
前記幾何学的探索基準が、ユーザの操作する部材に取り付けられた３次元位置姿勢センサの出力値に基づいて決定されることを特徴とする請求項１乃至請求項９のいずれか１項に記載の情報処理方法。
【請求項１１】
前記幾何学的探索基準を決定する為の情報をユーザに設定させるＧＵＩを表示する表示工程をさらに有し、
前記検出工程が、前記ＧＵＩを通じて設定された情報に基づいて決定される幾何学的探索基準を用いて前記検出を行うことを特徴とする請求項１乃至請求項１０のいずれか１項に記載の情報処理方法。
【請求項１２】
前記幾何学的探索基準を決定するための情報が、基準位置、前記基準方向及び前記基準距離、又は前記立体図形の大きさ，位置及び姿勢の少なくとも一方であることを特徴とする請求項１１記載の情報処理方法。
【請求項１３】
３次元形状モデルを構成する複数の部品のうち、予め定められた幾何学的探索基準を満たす部品を検出する検出工程と、
前記複数の部品のうち、前記幾何学的探索基準を満たす部品の描画様式を、前記幾何学的探索基準を満たさない部品の描画様式と異なる描画様式に設定する描画様式設定工程と、
前記３次元モデルを前記複数の部品に設定された描画様式に基づいて描画する３次元モデル描画工程とを有する情報処理方法。
【請求項１４】
複数の部品から構成される３次元形状モデルを表示処理する情報処理方法において、
基準位置、基準方向を設定し、前記基準位置から前記基準方法へ延びる半直線を定義する設定工程と、
前記半直線と前記複数の部品との交点を探索する探索工程と、
前記基準位置から探索された交点までの距離と予め設定された基準距離とを比較する比較工程と、
前記基準位置から交点までの距離が前記基準距離より大きい部品と、前記基準位置から交点までの距離が前記基準距離より小さい部品とで異なる描画形式で描画する３次元モデル描画工程とを有する情報処理方法。
【請求項１５】
３次元形状モデルを構成する複数の部品のうち、予め定められた幾何学的探索基準を満たす部品を検出する検出手段と、
前記複数の部品のうち、前記幾何学的探索基準を満たす部品の描画様式を、前記幾何学的探索基準を満たさない部品の描画様式と異なる描画様式に設定する描画様式設定手段と、
前記３次元モデルを前記複数の部品に設定された描画様式に基づいて描画する３次元モデル描画手段と、
前記幾何学的探索基準を満たさない部品のうち、所定の条件を満たす１つの部品を選択状態に設定する選択状態設定手段とを有することを特徴とする情報処理装置。
【請求項１６】
請求項１乃至請求項１４のいずれか１項に記載の情報処理方法をコンピュータ装置に実行させるプログラム。
【請求項１７】
請求項１６記載のプログラムを格納した、コンピュータ装置が読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元形状モデルを取り扱う情報処理方法及び情報処理装置に関し、特に形状モデルを構成する部品の選択を容易に行うための情報処理方法及び情報処理装置に関する。
【背景技術】
【０００２】
コンピュータグラフィクス（ＣＧ）の分野において、３次元空間中に定義された形状モデルに、移動・回転など、何らかの操作を行う場合には、その形状モデルを他の形状モデルから識別して選択しなければならない。
【０００３】
同一空間中に定義された複数の形状モデルから任意の形状モデルを選択する方法として、例えば、米国SGI社のグラフィクスライブラリ”Open Inventor”は、仮想空間を構成する形状の中から３次元空間中の直線と交差する形状を検出するための機能を備えている（非特許文献１参照）。
【０００４】
【非特許文献１】”The Inventor Mentor Programming Object-Oriented 3D Graphics with Open Inventor, Release 2” Addison-Wesley, ISBN:0-201-62495-8
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、１つの形状モデルが複数の部品から構成されており、ある部品（以下、内部部品と呼ぶ）が他の不透明な部品（群）（以下、外部部品と呼ぶ）によって隠されるような幾何学的関係を持つ場合、形状モデルの外部からその形状モデルを観察して描画したＣＧ画像中では、内部部品を視認することが出来ない。したがって、この場合、ＣＧ画像を観察しながら対話的に内部部品を選択することは不可能であった。
【０００６】
上記の課題に鑑み、本発明の情報処理方法及び装置は、複数の部品から構成される形状モデルにおいて、他の部品に隠されて見えない内部部品の選択を容易かつ直感的に行うことを目的とする。
【課題を解決するための手段】
【０００７】
上述の目的は、３次元形状モデルを構成する複数の部品のうち、予め定められた幾何学的探索基準を満たす部品を検出する検出工程と、複数の部品のうち、幾何学的探索基準を満たす部品の描画様式を、幾何学的探索基準を満たさない部品の描画様式と異なる描画様式に設定する描画様式設定工程と、３次元モデルを複数の部品に設定された描画様式に基づいて描画する３次元モデル描画工程と、幾何学的探索基準を満たさない部品のうち、所定の条件を満たす１つの部品を選択状態に設定する選択状態設定工程とを有することを特徴とする情報処理方法によって達成される。
【０００８】
また、上述の目的は、３次元形状モデルを構成する複数の部品のうち、予め定められた幾何学的探索基準を満たす部品を検出する検出工程と、複数の部品のうち、幾何学的探索基準を満たす部品の描画様式を、幾何学的探索基準を満たさない部品の描画様式と異なる描画様式に設定する描画様式設定工程と、３次元モデルを複数の部品に設定された描画様式に基づいて描画する３次元モデル描画工程とを有する情報処理方法によっても達成される。
【０００９】
また、上述の目的は、複数の部品から構成される３次元形状モデルを表示処理する情報処理方法において、基準位置、基準方向を設定し、基準位置から基準方法へ延びる半直線を定義する設定工程と、半直線と複数の部品との交点を探索する探索工程と、基準位置から探索された交点までの距離と予め設定された基準距離とを比較する比較工程と、基準位置から交点までの距離が基準距離より大きい部品と、基準位置から交点までの距離が基準距離より小さい部品とで異なる描画形式で描画する３次元モデル描画工程とを有する情報処理方法によっても達成される。
【００１０】
また、上述の目的は、３次元形状モデルを構成する複数の部品のうち、予め定められた幾何学的探索基準を満たす部品を検出する検出手段と、複数の部品のうち、幾何学的探索基準を満たす部品の描画様式を、幾何学的探索基準を満たさない部品の描画様式と異なる描画様式に設定する描画様式設定手段と、３次元モデルを複数の部品に設定された描画様式に基づいて描画する３次元モデル描画手段と、幾何学的探索基準を満たさない部品のうち、所定の条件を満たす１つの部品を選択状態に設定する選択状態設定手段とを有することを特徴とする情報処理装置によっても達成される。
【００１１】
また、上述の目的は、本発明の情報処理方法をコンピュータ装置に実行させるプログラムまたはこのプログラムを格納したコンピュータ装置が読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００１２】
このような構成により、本発明によれば、複数の部品から構成される形状モデルにおいて、他の部品に隠されて見えない内部部品の選択を容易かつ直感的に行うことが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照しながら、本発明をその好適な実施の形態に基づいて詳細に説明する。
●（第１の実施形態）
本実施形態では、３次元空間中に設定した線分と交わる部品を半透明に描画することによって、形状モデルの内部を視認可能とし、内部部品の選択を可能にする例を示す。
【００１４】
図１は本実施形態における内部部品選択方法を模式的に説明する図であり、図１（ａ）〜（ｃ）は同じ形状モデルを互いに異なる状態で所定の平面に投影した２次元画像である。
図１（ａ）は、直方体形状を有する３次元形状モデル１０１と、外部部品の内部に存在する球状の部品（内部部品）１０２を、３次元形状モデル外部から描画した状態を示している。この状態では、不透明な外部部品に隠されて内部部品１０２は視認できない。
【００１５】
本実施形態では、図１（ｂ）あるいは図１（ｃ）に示すように、形状モデルを描画する際に設定する仮想３次元空間中、もしくはその仮想３次元空間との座標変換が可能な任意の３次元空間内に基準位置１０３、基準方向１０４及び基準距離１０５を設定する。このとき、基準方向１０４に平行で、基準位置１０３を始点とする長さが基準距離１０５に等しい線分（図では矢印１０４に相当）を考え、この線分に交差する部品を選択処理の対象外として取り扱う幾何学的探索条件を定める。なお、選択処理の対象外とする部品を以下では選択対象外部品と呼ぶことにする。また、基準位置は仮想３次元空間中において３次元形状モデルの外部に存在するように設定する。
【００１６】
一方、形状モデル１０１を構成する部品のうち、選択対象外部品でないものを選択対象部品と呼ぶ。図１（ｂ）および図１（ｃ）では、１０６の部分が選択対象外部品の集合、１０７が選択対象部品の集合である。本実施形態では、選択対象部品を不透明に、選択対象外部品を半透明に描画する。このように描画することにより、選択対象外部品を透して内部の選択対象部品を視認することが出来る。ただし、図１（ｂ）の状態では、内部部品１０２は、外部部品１０１に隠されて視認できない。
【００１７】
いま、部品１０２を選択する場合には、図１（ｂ）の状態から形状モデルの投影画像を観察しながら対話的に基準位置１０３を形状モデル１０１に近づけたり、基準方向、基準距離を変更するなどして、部品１０２の周囲の部品が選択対象外部品になるようにする。この操作により、内部部品１０２が視認可能となり、選択できるようになる。
【００１８】
このような形状モデルの選択方法を実行可能な情報処理装置の構成例を図２に示す。図２において、ＣＰＵ２０１は、情報処理装置全体の動作を制御する。メモリ２０２はＣＰＵ２０１の動作に用いるプログラムやデータを格納する。バス２０３は装置を構成する各モジュール間のデータ転送を司る。外部記憶装置２０５はＣＰＵ２０１に読み込むプログラムやデータを格納する。キーボード２０６およびマウス２０７はユーザが情報処理装置に対して各種指示（プログラムの起動や各種設定など）を与えるための入力装置を構成する。表示部２０８はＣＲＴ、ＬＣＤ等のディスプレイ装置であり、ＯＳやアプリケーションプログラムがＧＵＩによってプロセスの動作結果を表示する。入出力部２０９は例えば後述する位置姿勢センサなど、外部装置との入出力に用いられる。外部記憶装置２０５、キーボード２０６、マウス２０７、表示部２０８及び入出力部２０９はインタフェース２０４を介してバス２０３と接続されている。
【００１９】
図３は本実施形態の情報処理装置における処理全体の流れを示すフローチャートである。
処理を開始すると、ステップＳ３０１で、ＣＰＵ２０１は３次元形状モデルの構造や色などの属性を示すデータを外部記憶装置２０５から読み込み、ステップＳ３０２では全ての部品の描画様式を不透明に初期化する。
【００２０】
次にステップＳ３０３で、基準位置および基準方向を設定する。本実施形態においては、入出力部２０９に接続した３次元位置・姿勢センサの出力する計測値を読み込み、位置の計測値を基準位置として、また姿勢の計測値を基準方向として設定する。このような３次元位置・姿勢センサとして使用できる製品の例としては、米国Ｐｏｌｈｅｍｕｓ社の３次元位置・姿勢センサ”Ｆａｓｔｒａｋ”が挙げられる。このようなセンサをユーザが操作可能な支持部材に装着もしくは内蔵した支持具を入出力部２０９に接続して、ＣＰＵ２０１から制御して計測値を入力する。
【００２１】
図１０は、３次元位置・姿勢センサを備えた入力装置の一例としてのスタイラスの例を示す図である。スタイラスは例えばペン形状を有し、内部に３次元位置・姿勢センサが設けられている。位置姿勢センサが検出する位置姿勢と、スタイラス先端との距離ｄとから、スタイラス先端位置が推定でき、スタイラスの先端位置を基準位置として用いることができる。あるいは、３次元位置・姿勢センサの出力座標値を基準位置とし、距離ｄを基準距離として用いても良い。
【００２２】
なお、ユーザが現実空間で操作するスタイラスの３次元位置・姿勢が、３次元形状モデルが定義される空間内の位置・姿勢とどのように対応付けるかは予め定めておくことができる。従って、ＣＰＵ２０１は入出力部２０９から得られる３次元位置・姿勢センサの測定値を予め設定された変換式に基づいて３次元形状モデルが定義される空間内の位置・姿勢値に変換し、表示部２０８に現在の基準位置と方向を処理対象の３次元形状モデルとともに描画することが可能である。なお、本実施形態では基準距離については、予めシステムに定められた一定の値を利用するものとする。
【００２３】
ステップＳ３０４では、選択対象外部品を検出する。この処理の詳細については後述する。続くステップＳ３０５では、３次元形状モデルを構成する部品のうち、ステップＳ３０４で検出した選択対象外部品の描画様式を半透明に設定する。次にステップＳ３０６に進み、各部品のＣＧ画像を描画し、表示部２０８へ表示する。ステップＳ３０２およびＳ３０５の描画様式設定処理の結果、選択対象部品は不透明、選択対象外部品は半透明に描画されることとなる。
【００２４】
続くステップＳ３０７では部品の選択を行う。具体的には、基準位置から基準方向に伸びる半直線と交わる選択対象部品のうち、所定の条件を満たすもの（具体的には最初に半直線と交わるものや、基準位置にもっとも近いものなど）を検出し、検出結果のデータをファイルとして外部記憶装置２０５へ記録したり、表示部２０８の画面に表示したり、あるいは図示しないネットワークなどに出力したりする。なお、ステップＳ３０７の部品選択処理は、何らかの条件（例えばスタイラスのスイッチ押下が検出されたり、キーボード２０６のキーのうち部品選択処理の実行に割り当てた所定のキーの押下が検出された）を満たしたときのみ実行されるようにしてもよい。
【００２５】
最後にステップＳ３０８で処理全体を終了する指示がキーボード２０６又はマウス２０７を通じて指示されたかかどうか判定する。終了指示がなければ、ステップＳ３０２に戻って処理を継続する。一方、終了指示があれば処理を終了する。
【００２６】
図１１は、図３の処理を通じて表示部２０８に表示されるＧＵＩ画面の一例を示す図である。
図において、画面全体１７０１は３次元形状モデル表示部１７０２、モデル情報表示部１７１０、および基準位置・方向表示部１７１１の３つの部分から構成されている。３次元形状モデル表示部１７０２には形状モデル１７０３が表示される。また、３次元位置・姿勢センサの入力に応じた基準位置１７０４及び基準方向１７０５と、基準距離を３次元形状モデル表示部１７０２に表示し、ユーザによる対話的な部品選択を可能としている。１７０６は基準位置および基準方向によって決まる選択対象外部品を通して視認可能な形状モデルの部品の１つであり、現在選択された状態となっている。
【００２７】
モデル情報表示部１７１０には、表示されている３次元形状モデルを構成する各部品の名称とその上下関係が階層的に表示される。そして、部品名の前には現在半透明表示されているか不透明表示されているかを表すアイコンが表示され、選択状態にある部品は強調表示される。なお、図１１に示した表示方法は単なる一例であり、モデル情報表示部１７１０、および基準位置・方向表示部１７１１は他の表示方法であっても良いし、なくても構わない。また、基準位置・方向表示部１７１１には、３次元形状モデル表示部７０２において表示される基準位置１７０４、基準方向１７０５の仮想的な（変換された）座標値が表示される。
【００２８】
ユーザは、例えば図１０に示したスタイラスを手で操作しながら３次元形状モデル表示部７０２の表示内容の変化（例えば図１（ａ）〜（ｃ）のような）を観察し、所望の部品が選択される状態になったらスタイラスのスイッチやキーボード２０８の所定のキーを押下するなどの操作を行うことで、３次元形状モデルを構成する任意の部品を選択することができる。
【００２９】
選択結果は他のアプリケーションに引き渡して部品の回転などの処理を施すことができる。もちろん、３次元形状モデルの編集アプリケーションに図３に示す処理を行うプログラムを部品選択モジュールとして組み込むことも可能である。
【００３０】
次にステップＳ３０４の選択対象外部品の検出処理について、図４に示すフローチャートを用いて説明する。本処理では、選択対象外として検出された部品のリスト（「選択対象外部品リスト」と呼ぶ）を処理結果として出力する。このリストには、例えば個々の部品を識別するための識別番号や部品名称などが含まれる。
【００３１】
まず、ステップＳ４０１で、ＣＰＵ２０１は、選択対象外部品リストの内容を消去し、リストアップされた選択対象外部品がない状態に設定する（具体的には、例えば選択対象外部品リストを格納する変数を消去する、或いは選択対象外部品リストを格納する新しいファイルを生成する）。
【００３２】
次に、ステップＳ４０２で指示線（すなわち基準位置を始点とし、基準方向に伸びる半直線）と形状モデルとの交点群を求める。この処理は例えば、先に述べたグラフィクスライブラリ”Ｏｐｅｎ  Ｉｎｖｅｎｔｏｒ”の機能を用いることで実現することが出来る。続いて、ステップＳ４０２で検出した交点群のうち、ステップＳ４０４からステップＳ４０６までの処理を施していない交点（交点Ａとする）を１点抽出する（ステップＳ４０３）。ステップＳ４０４では、交点Ａ−基準位置間の距離と、基準距離との大小を比較し、（交点Ａと基準位置との距離）≦基準距離である場合はステップＳ４０５へ進み、そうでない場合はステップＳ４０７へ進む。
【００３３】
ステップＳ４０５では、形状モデルを構成する部品のうち、交点Ａを含む部品αを探索する。ステップＳ４０６では、ステップＳ４０５での探索の結果得られる部品αに関する情報を選択対象外部品リストに追加し、ステップＳ４０７へ進む。ステップＳ４０７では、ステップＳ４０２で求めた全ての交点に対してステップＳ４０４からステップＳ４０６までの処理を施したか否か判定し、全ての交点が処理済みであると判定すれば選択対象外部品の検出処理を終了する。一方、未処理の交点があると判定した場合は、ステップＳ４０３に戻る。
【００３４】
以上、３次元空間中に線分を設定し、その線分に交わる部品を半透明に描画することで内部部品を視認及び選択可能とする方法について述べた。
なお、本実施形態では、選択対象外の部品を全て検出してから、それらの部品の描画様式を設定している。しかし、部品の描画処理の前に全ての選択対象外部品の描画様式を半透明に設定する処理が完了すれば、処理手順はこれに限定されるものではない。例えば、選択対象部品を１つ検出する毎にその部品の描画様式を設定してもよい。
【００３５】
また、本実施形態では、全ての部品を不透明に設定したのち、選択対象外の部品のみを半透明に設定しているが、選択対象外部品の描画様式が半透明に設定されれば、この手順に限定されるものではない。例えば、図５のフローチャートに示すように、まず全ての部品を半透明に設定し（ステップＳ５０２）たのち、選択対象部品を検出して（ステップＳ５０４）、描画様式を不透明に設定（ステップＳ５０５）してもよい。ステップＳ５０４では、すべての部品から図１のフローチャートのステップＳ３０４で求めた選択対象外部品を引くことで選択対象部品を検出することができる。なお、図５のフローチャートのうち、ステップＳ５０２、ステップＳ５０４及びＳ５０５以外のステップは図３と共通であるため、説明は省略する。
【００３６】
●（第２の実施形態）
第１の実施形態では、選択対象外部品の描画様式を半透明に設定して描画したが、描画様式はこれに限定されるものではなく、選択対象外部品を透して選択対象部品が視認出来れば他の方法を用いてもよい。具体的には、選択対象外部品をワイヤフレーム表示する、あるいは表示しない（非表示）を例示することができる。
【００３７】
また、選択対象外部品を描画する際に、これら複数の描画様式の中からいずれか１つを選択してもよい。このとき、１回の描画について全ての選択対象外部品を同じ描画様式で描画してもよいし、部品毎に描画様式を設定しても構わない。
【００３８】
選択対象部品についても、第１の実施形態では不透明に描画するが、これに限定されるものではなく、選択対象外部品と視覚的に区別出来ればよい。さらに、選択対象部品を描画する際に、複数の描画様式の中からいずれか１つを選択してもよい。
【００３９】
なお、描画様式を変更する方法としては、キーボード２０６の所定のキーの押下を監視し、押下があった場合に別の描画様式に切り替えることが一例としてあげられる。図８は、キーボード押下により選択対象外部品の描画様式を半透明とワイヤフレームとで切り替える処理の流れを示すフローチャートである。この処理は例えば図３又は図５のステップＳ３０５に替えて実行することができる。
【００４０】
ステップＳ８０１で、ＣＰＵ２０１は描画様式の切り替えのために予め設定されたキーが押下されたか否かを判定する。そのキーが押下されたと判定されれば、ステップＳ８０２に進み、押下されていないと判定されれば処理を終了する。ステップＳ８０２では、現在、選択対象外部品の描画様式として設定されている様式が半透明表示であるか否かを判定する。ここで設定が半透明表示であれば、ステップＳ８０４に進み、選択対象外部品の描画様式をワイヤフレームに設定し、処理を終了する。一方、ステップＳ８０２で半透明表示でないと判定されれば、ステップＳ８０３で選択対象外部品の描画様式を半透明表示に設定し、処理を終了する。
本実施形態によっても、第１の実施形態と同様の効果が得られる。
【００４１】
●（第３の実施形態）
第１の実施形態では、選択対象外部品でない全ての部品を選択対象部品として不透明に表示している。これに対して、ステップＳ３０７の部品選択処理で実際に選択される特定の部品だけを選択対象部品として描画処理を行うことも可能である。
【００４２】
本実施形態における処理全体の流れは図３又は図５で示したとおりであり、ステップＳ３０４またはステップＳ５０４の処理のみが異なる。図６は本実施形態に係る対象部品検出処理の詳細を示すフローチャートである。このフローチャートに沿った処理が図３のステップＳ３０４または図５のステップＳ５０４の処理に代わって実行される。
【００４３】
選択対象部品の検出処理が始まると、ＣＰＵ２０１は選択対象部品を列挙したリストを消去する（ステップＳ６０１）。次に、ステップＳ４０２（図４）と同様にして、指示線と３次元形状モデルとの交点群を検出する（ステップＳ６０２）。その後、ステップＳ６０２で検出した交点群のうち、選択対象部品に含まれる交点Ｂを求める（ステップＳ６０３）。本実施形態においては、交点群のうち、基準位置からの距離が基準距離よりも大きく、かつ基準位置から最も近い交点を交点Ｂとする（ステップＳ６０３）。
【００４４】
続くステップ６０４では、交点Ｂに対応する部品βを探索する。次に、ステップＳ６０４で得られた部品を選択対象部品リストに加える（ステップＳ６０５）。
なお、本実施形態の場合も選択対象部品の描画様式は不透明でなくとも構わないし、第２の実施形態で説明したように、複数の描画様式の中からいずれかを選択可能としても構わない。
【００４５】
本実施形態によれば、選択対象外部品でない部品のうち、特定の部品のみを選択対象部品として取り扱うため、他の部品から明確に識別することが出来る。また、他の部品を半透明描画した場合には、半透明表示される部品が増えることによって、選択対象部品のうち視認できる部分が多くなる。これら効果の結果により、部品選択がより容易になる。
【００４６】
●（第４の実施形態）
第１の実施形態および第２の実施形態では、全ての選択対象部品の描画様式は同じであった。これに対し、ステップＳ３０７の部品選択処理で選択の対象となる部品（選択対象部品のうち、所定の条件を満たす部品）を、他の選択対象部品と異なる描画様式に設定してもよい。ここで設定する描画様式としては、部品表面の色を赤色に表示する、部品を点滅表示する、部品のバウンディングボックス（部品を包含する最小の方形又は直方体）を部品自体と重ね合わせて表示する、部品のワイヤフレームを部品自体と重ね合わせて表示するなど、様々な描画様式（表示方法）を例示することができる。
本実施形態によれば、選択対象部品の中で、実際に選択の対象となっている特定の部品を他の選択対象部品からより明確に識別することが出来、結果として部品の選択が容易になる。
【００４７】
●（第５の実施形態）
上述の実施形態では、基準方向に平行で、基準位置を始点として基準距離を長さとする半直線と交わる部品を選択対象外部品として決定した。しかし、他の幾何学的探索基準によって選択対象外部品を決定することも可能である。
【００４８】
例えば以下のような幾何学的探索基準を満たす部品を選択対象外部品として決定することが出来る。
（１）  基準位置を中心とする所定サイズの立体図形（立方体、球など）の内部に包含される部品
（２）  基準位置を中心とする所定サイズの立体図形の内部にバウンディングボックスが包含される部品
（３）  基準位置を中心とする所定サイズの立体図形の内部に部品座標系を規定する原点が存在する部品
（４）  基準位置を中心とする所定サイズの立体図形の内部に重心が存在する部品
【００４９】
また、（１）〜（４）における立体図形の中心を他の位置に変更することも可能である。例えば、立体図形の中心を、基準位置を始点として基準方向に伸びる半直線と３次元形状モデルとの交点群のうち、基準位置に最も近い交点とすることができる。
【００５０】
ここで例示したような３次元的な位置関係に基づく条件を用いる場合の選択対象外部品検出処理について、図９のフローチャートを用いて説明する。図９において、図４と同じ処理を行うステップには同じ参照数字を付した。
【００５１】
まず、選択対象外部品リストを消去し（ステップＳ４０１）、３次元形状モデルを構成する部品のうち未処理のものを１つ抽出する（ステップＳ９０１）。そして、予め設定された立体図形（基準立体図形）との空間的位置関係により定められた上述の幾何学的探索基準を満たすかどうかを判定する（ステップＳ９０２）。基準を満たす部品は選択対象外部品リストへ追加する（ステップＳ４０６）。以上の処理を全ての部品について行ったら処理を終了する。
【００５２】
また、選択対象外部品を検出・決定するための条件を複数の条件の中から選択可能とすることももちろん可能である。そうすることにより、３次元形状モデルが表す形状などに応じて効率的に選択対象外部品を検出することが可能となり、結果として部品選択が容易に行えることになる。
【００５３】
●（第６の実施形態）
上述の実施形態では３次元位置・姿勢センサを用いて基準位置および基準方向を決定した。しかし、基準位置・基準方向の設定方法はこれに限定されないことは言うまでもない。
【００５４】
例えば、３次元形状モデルを描画するために設定する仮想カメラの位置および方向を、それぞれ基準位置および基準方向として用いることが出来る。
あるいは、ＧＵＩ（グラフィカルユーザインタフェース）により基準位置・方向の設定を行ってもよい、図７はこのようなＧＵＩの表示例である。
【００５５】
図７で、画面全体７０１は３次元形状モデル表示部７０２、基準位置設定部７０７、および基準方向設定部７０８の３つの部分から構成されている。３次元形状モデル表示部７０２には３次元形状モデル７０３が表示される。なお、７０４および７０５はそれぞれ仮想的に基準位置および基準方向を示したものであり、７０６は基準位置および基準方向によって決まる選択対象外部品を透して視認可能な形状モデルの部品の１つである。
【００５６】
基準位置設定部７０７には３次元形状モデルを描画するために定められた仮想３次元空間の各座標軸に対応したスライダが設けられている。ユーザがマウス２０７を操作してマウスカーソル７０９で所望のスライダのハンドル７２０を左右にドラッグすると、ハンドル７２０の位置が変わり、ハンドル７２０の位置に対応した値に基準位置の座標値が変更される。基準方向設定部７０８には仮想３次元空間中での方向を決定するオイラー角の３つの要素それぞれに対応したスライダが設けられている。これらのスライダに関しても、基準位置設定部７０７と同様にしてマウスによって操作することが出来る。
【００５７】
基準位置設定部および基準方向設定部のスライダ位置は基準位置・基準方向の設定処理（ステップＳ３０３）で読み込まれ、これをもとに基準位置・基準方向が設定される。従って、ユーザがスライダを操作すると、３次元形状モデル表示部７０２における基準位置７０４、基準方向７０５の表示及び３次元形状モデルの表示状態が更新され、ユーザは３次元形状モデル表示部７０２の表示状態を観察しながら所望の部品を選択することが可能になる。
【００５８】
●（第７の実施形態）
上記の実施形態では、選択対象外部品を決定するために設定する基準位置および基準方向を、部品を選択する目的でも用いている。しかし、選択対象外部品を決定するための基準位置および基準方向とは独立して、部品選択のための３次元空間中の位置および方向を設定し、ステップＳ３０７における部品選択処理においては部品選択用に設定された基準位置、方向、距離に基づいて処理を行っても良い。
【００５９】
このように、複数の基準方向を設定可能とすることで、外部部品と内部部品の位置関係に応じたより効率的な部品選択を可能とすることができる。
さらに、３次元空間中の位置及び方向を設定して部品を選択する方法ではなく、他の任意の部品選択方法を用いることが出来る。例えば,３次元空間中の位置をスタイラスなどを用いて設定し，その点から部品座標系の原点までの距離が最も小さい部品を選択する，などの方法が挙げられる．
【００６０】
●（第８の実施形態）
上述の実施形態では説明を簡単にするため、基準距離や第５の実施形態における立体図形（基準立体図形）の大きさを一定とした場合のみを説明したが、これら基準範囲の大きさを動的に変更可能とすることも可能である。
【００６１】
この場合、例えば図７や図１１に示したＧＵＩに、基準距離又は基準立体図形のサイズを設定するためのスライダやダイヤルを付加し、基準位置や方向と同様にしてユーザがマウス等を操作することで変更可能とすることができる。
【００６２】
もちろん、入出力部２０９に接続した入力機器、例えばスタイラス（調整用のダイヤルを設けたもの）やジョイスティックなどを用いて調整するように構成することも可能である。
【００６３】
このような基準距離の設定処理は、図３のステップＳ３０３において行い、選択対象外部品検出処理（ステップＳ３０４）においては基準距離の変更を許さないようにしてもよいし、選択対象外部品検出処理の中で動的に基準距離の変更を許すようにしても良い。後者の場合、基準距離の変更がなされた場合には、再度選択対象外部品検出処理をやり直すようにすればよい。
【００６４】
基準範囲を変更可能とすることで、例えば一定の基準位置、方向で深さ方向のみを変更して内部部品を選択したい場合などの効率を向上させることができる。
【００６５】
●（第９の実施形態）
前述の実施形態では、基準位置・基準方向・基準距離を３次元形状モデル表示部７０２において表示するようにしていたが、これらを非表示とすることもできる。また、第５の実施形態で例示したような基準立体図形をワイヤフレーム表示するなど、３次元形状モデルが見にくくならない程度に表示するようにしても良い。もちろん、所定のキー入力などによりこれら選択対象外部品検出条件を表す図形の表示、非表示を切り替えることも可能である。
【００６６】
●（他の実施形態）
尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００６７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００６８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００７０】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００７１】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００７２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００７４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００７５】
【図１】本発明の第１の実施形態に係る内部部品選択方法を模式的に示す図である。
【図２】本発明の第１の実施形態に係る情報処理装置の構成例を示す図である。
【図３】第１の実施形態における部品選択処理の全体を説明するフローチャートである。
【図４】図３における選択対象外部品検出処理の詳細を説明するフローチャートである。
【図５】第１の実施形態における部品選択処理の別の例を説明するフローチャートである。
【図６】第３の実施形態における選択対象部品検出処理の詳細を説明するフローチャートである。
【図７】第６の実施形態における基準位置、方向を設定するためのＧＵＩ画面の例を示す図である。
【図８】第２の実施形態における選択対象外部品の描画様式切替処理を説明するフローチャートである。
【図９】第５の実施形態における選択対象外部品検出処理の詳細を説明するフローチャートである。
【図１０】３次元位置姿勢センサを有するスタイラスの例を示す図である。
【図１１】第１の実施形態におけるＧＵＩ画面の例を示す図である。
【図１】
2006039872.tif 000003
【図２】
2006039872.tif 000004
【図３】
2006039872.tif 000005
【図４】
2006039872.tif 000006
【図５】
2006039872.tif 000007
【図６】
2006039872.tif 000008
【図７】
2006039872.tif 000009
【図８】
2006039872.tif 000010
【図９】
2006039872.tif 000011
【図１０】
2006039872.tif 000012
【図１１】
2006039872.tif 000013