(57)【要約】【課題】マウス等のポインティングデバイスのカーソルを３次元オブジェクト（３次元モデル）の内部へ浸入させることを可能とし、従来のように３次元オブジェクトの切断を行うことなく、３次元オブジェクトの内部を自由に移動して指示することができるようにすること。【解決手段】ＣＰＵ１０１は、ＲＡＭ１０２上に実装される仮想３次元空間を表示装置１０６の表示面により２次元表示させるとともに、入力装置１０７（ＰＤ）の操作に応じて前記表示面にカーソルを表示させて前記ＰＤによる指示操作を制御し、さらに、前記表示面に２次元表示される前記仮想３次元空間内に配置される３次元モデルに対して第１の指示（内部ドアから内部へ入る指示）がなされたと判断すると、該３次元モデルの内部空間を前記ＰＤの指示可能な範囲とするように制御する構成を特徴とする。【選択図】図１
2008077203.tif 000002
【特許請求の範囲】
【請求項１】
表示手段と、前記表示手段の表示面上をカーソルにより指示するための指示手段とを有する情報処理装置において、
メモリ上に実装される仮想３次元空間を前記表示面により２次元表示させるとともに、前記指示手段の操作に応じて前記表示面にカーソルを表示させて前記指示手段による指示操作を制御する制御手段を有し、
前記制御手段は、前記表示面に２次元表示される前記仮想３次元空間内に配置される３次元オブジェクトに対して第１の指示がなされたと判断すると、該３次元オブジェクトの内部空間を前記指示手段の指示可能な範囲とするように制御することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記指示手段が前記３次元オブジェクトの内部空間を指示している場合には、該３次元オブジェクトを透過表示することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御手段は、前記指示手段の指示可能な範囲に応じて、前記カーソルの形状を変更制御することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御手段は、前記指示手段の指示可能な範囲が前記３次元オブジェクトの内部空間である場合には、該３次元オブジェクトの内部空間とその外部との境界を明示するように、前記カーソルの形状を変更制御することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御手段は、前記指示手段の指示可能な範囲が前記３次元オブジェクトの内部空間である場合には、前記カーソルの形状を前記仮想３次元空間の３つの座標軸にそれぞれ平行な３つの線分を該カーソルの指示位置で交差させた形状とするとともに、該各線分の端点を前記３次元オブジェクトとその外部との境界面とするように、前記カーソルの形状を変更制御することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記制御手段は、前記指示手段の指示可能な範囲が前記３次元オブジェクトの内部空間である場合に、第２の指示がなされたと判断すると、該３次元オブジェクトの外部空間を前記指示手段の指示可能な範囲とするように制御することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、
前記指示手段の指示可能空間が第１の３次元オブジェクトの内部空間である場合に、該第１の３次元オブジェクトの内部空間内にさらに配置される第２の３次元オブジェクトに対して前記第１の指示がなされたと判断すると、該第２の３次元オブジェクトの内部空間を前記指示手段の指示可能な範囲とするように再帰的に制御するものであり、
前記指示手段の指示可能空間が第１の３次元オブジェクトの内部空間内に配置される第２の３次元オブジェクトの内部空間である場合に、前記第２の指示がなされたと判断すると、該第２の３次元オブジェクトの外部空間であって前記第１のオブジェクトの内部空間を前記指示手段の指示可能な範囲とするように再帰的に制御する、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記３次元オブジェクトの表面に該３次元オブジェクトの内部と外部を移動するための入出領域を生成する生成手段を有し、
前記制御手段は、
前記入出領域が生成された３次元オブジェクトの外部空間から該入出領域に前記カーソルが移動されると、該３次元オブジェクトに対して前記第１の指示がなされたと判断し、
前記入出領域が生成された３次元オブジェクトの内部空間から前記入出領域に前記カーソルが移動されると、前記第２の指示がなされたと判断する、
ことを特徴とする請求項６又は７に記載の情報処理装置。
【請求項９】
前記制御手段は、前記指示手段の指示位置が前記３次元オブジェクトの内部空間において、前記仮想３次元空間の座標軸のうち前記表示面に垂直な成分を有する方向に移動された際には、前記表示面に垂直な成分を有する方向の移動量に応じて前記カーソルを拡大又は縮小しながら表示するように制御することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記制御手段は、前記表示面に垂直な成分を有する方向の移動方向が前記表示面に対して手前方向である場合には、前記カーソルを拡大しながら表示し、一方、前記表示面に垂直な座標軸方向の移動方向が前記表示面に対して奥方向である場合には、前記カーソルを縮小しながら表示するように制御することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記制御手段は、前記カーソルを拡大又は縮小しながら表示する際に、該カーソルの残像を残すように表示制御することを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１２】
前記制御手段は、前記指示手段の指示位置の移動がなくなった際には、前記カーソルの残像を消去するように制御することを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記制御手段は、前記指示手段の指示位置の変位がなくなった際には、前記カーソルを拡大又は縮小前のサイズに戻すように制御することを特徴とする請求項９乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記制御手段は、前記指示手段が前記３次元オブジェクトの内部空間を指示している場合に、第３の指示がなされたと判断すると、前記指示手段により前記表示面の任意の点を指示可能な第１の状態に制御することを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記制御手段は、前記指示手段が前記３次元オブジェクトの内部空間を指示している場合に、第４の指示がなされたと判断すると、前記指示手段により前記表示面の任意の点を一時的に指示可能な第２の状態となるように制御し、
前記第２の状態において、第５の指示がなされたと判断すると、前記第２の状態となる直前の状態に前記指示手段の指示状態を戻すように制御する、
ことを特徴とする請求項１乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記指示手段によるカーソル操作に基づいて、前記指示手段の指示可能な範囲内に３次元のオブジェクトを生成配置可能なオブジェクト生成手段を有し、
前記オブジェクト生成手段は、前記指示手段によるカーソル操作に基づいて、前記指示手段の指示可能な範囲内に配置される３次元のオブジェクトを加工可能なことを特徴とする請求項１乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
３次元ＣＡＤ装置であることを特徴とする請求項１乃至１６のいずれか１項に記載の情報処理装置。
【請求項１８】
表示手段と、前記表示手段の表示面上をカーソルにより指示するための指示手段と、メモリ上に実装される仮想３次元空間を前記表示面により２次元表示させるとともに、前記指示手段の操作に応じて前記表示面にカーソルを表示させて前記指示手段による指示操作を制御する制御手段を有する情報処理装置において、
前記表示面に２次元表示される前記仮想３次元空間内に配置される３次元オブジェクトに対して第１の指示がなされたと判断すると、該３次元オブジェクトの内部空間を前記指示手段の指示可能な範囲とするように制御するステップを有することを特徴とする情報処理装置の制御方法。
【請求項１９】
請求項１乃至１７のいずれか１項に記載された情報処理装置としてコンピュータを機能させるための、又は、請求項１８に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項２０】
請求項１乃至１７のいずれか１項に記載された情報処理装置としてコンピュータを機能させるための、又は、請求項１８に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元ＣＡＤのように、表示手段と、前記表示手段の表示面上をカーソルにより指示するための指示手段とを有する情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
３次元空間（空洞）のあるモデルをモデリングする場合、これまでの３次元ＣＡＤの機能では、空洞内部に関する操作性が考慮されておらず、直接内部要素を指定することができなかった。そのため、モデルを切断し穴を開けて内部形状を作成し、その後、モデルを結合するという面倒な操作を行っていた。
【０００３】
一方、空洞内の表示に関しては、実現しており、通常モデルに対して陰影を付けることで立体感を表現している（図１２）。
【０００４】
しかし、モデル内部を見るためには半透明やワイヤーフレーム表示とする必要があった。そのため、陰影が判りにくく、重なっている線のどちらが手前にあるか分からなくなる等の欠点があった（図１３）。
【０００５】
図１２，図１３は、この種の３次元ＣＡＤの機能について説明する図である。
【０００６】
３次元空間をカーソルが行き来する手法は、特許文献１，特許文献２に提案されているように、画面奥行き方向へのカーソル移動が可能であり、また、カーソルサイズを可変させることにより奥行きを表現することができるようになっている。
【特許文献１】特開平９−２５８９５４号公報
【特許文献２】特開２００４−０８４２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１，特許文献２で提案されている技術は、３次元モデル外形に対するカーソルの表現を考慮したものであり、３次元モデル内部に入り込んで作業することについては何ら考慮されていない。依然として、３次元モデルを切断し穴を開けて内部形状を作成し、その後、モデルを結合するという面倒な操作が必要になり、非常に煩雑であるといった問題点があった。
【０００８】
また、３次元モデルの裏にあるカーソルを半透明表示などでモデルの影に隠れた状況は表現できているが、カーソルがモデル内部に位置するのか、外側に位置するのかの区別がつかないといった問題点があった。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、マウス等のポインティングデバイスのカーソルを３次元オブジェクト（３次元モデル）の内部へ浸入させることを可能とし、従来のように３次元オブジェクトの切断を行うことなく、３次元オブジェクトの内部を自由に移動して指示することができるようにする仕組や、３次元オブジェクトの形状をイメージとしてとらえ易くする仕組を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、表示手段と、前記表示手段の表示面上をカーソルにより指示するための指示手段とを有する情報処理装置において、メモリ上に実装される仮想３次元空間を前記表示面により２次元表示させるとともに、前記指示手段の操作に応じて前記表示面にカーソルを表示させて前記指示手段による指示操作を制御する制御手段を有し、前記制御手段は、前記表示面に２次元表示される前記仮想３次元空間内に配置される３次元オブジェクトに対して第１の指示（内部ドアから内部へ入る指示）がなされたと判断すると、該３次元オブジェクトの内部空間を前記指示手段の指示可能な範囲とするように制御することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、指示手段のカーソルを３次元オブジェクトの内部へ浸入させることが可能となり、従来のように３次元オブジェクトの切断を行うことなく、３次元オブジェクトの内部を自由に移動して指示することができる。この結果、３次元オブジェクトの内部へのカーソルの指示に基づく各種処理が実行可能となる。
【００１２】
また、カーソルのサイズを前記表示面に垂直な成分を有する方向の変位量に応じて変化させた残像を残すことで、操作者は、仮想３次元空間そのものや３次元オブジェクトの形状をイメージとしてとらえ易くすることができ、容易に３次元オブジェクトの凹凸や、内／外、奥／手前等の位置関係を容易に判断することができる。
【００１３】
さらに、カーソルサイズが変化した画像は残像とし、要素を指定する時でのカーソルサイズは元に戻るため、カーソルの位置や指し示す場所をわかりやすくすることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明について詳細を説明する。
【００１５】
図１は、本発明の一実施形態を示す情報処理のハードウェア構成の一例を示すブロック図である。
【００１６】
図１において、１００は本発明の情報処理装置であり、具体的にはパーソナルコンピュータやワークステーション等である。
【００１７】
１０１は情報処理装置１００の中枢となる制御装置であり、各種制御を行う。この制御装置１０１は、具体的には、パーソナルコンピュータのＣＰＵ等にあたり、以下、ＣＰＵと称する。
【００１８】
１０２はＲＡＭ（Random Access Memory）であり、ＣＰＵ１０１により、プログラムのワークエリアや一時的に保持するデータのバッファとして利用される。
【００１９】
１０３はＲＯＭ（Read Only Memory）であり、ブートプログラム等を保存する。１０４は外部メモリであり、オペレーションシステム（ＯＳ），後述する本発明のプログラムを含む各種プログラムや各種データが格納されている。この外部メモリ１０４は、具体的には、ハードディスク（ＨＤ）等にあたり、以下ＨＤ等称する。
【００２０】
１０５は記憶媒体読書き装置であり、記憶媒体への書込み、読込みを行う装置である。なお、この記憶媒体読書き装置１０５は、具体的にはＣＤ-ＲＷ，ＤＶＤ-ＲＷ，ＤＡＴ，ＦＤＤ等のドライブ装置に対応する。
【００２１】
上記ＣＰＵ１０１は、ＲＯＭ１０３に格納されるプログラム、又は、ＨＤ１０４又は記憶媒体読書き装置１０５からＲＡＭ１０２上に読み出されたプログラムに基づいて各種処理を実行し、情報処理装置全体を制御する。
【００２２】
１０６は表示装置であり、具体的にはディスプレイ等である。１０７は入力装置であり、この装置を通じて情報処理装置への各種操作及び各種データの入力が可能である。この入力装置１０７は、具体的には、キーボードや、ＰＤは表示装置１０６の表示面上をカーソルにより指示するためのマウス等のポインティングデバイス（以下、ＰＤと称する）である。
【００２３】
１０８は、通信インターフェースであり、ＬＡＮ等の伝送路と当該情報処理装置とを接続するためのものである。
【００２４】
まず、図２〜図５を参照して、本発明の３次元モデル内部でのカーソル表示動作の概要について説明する。
【００２５】
図２，図３は、本発明の情報処理装置における３次元モデル内部でのカーソル制御動作の概要を示す模式図である。
【００２６】
図２に示すように、本発明では、ＣＰＵ１０１は、ＲＡＭ１０２上実装される仮想３次元空間を表示装置１０６により２次元表示制御させるとともに、ＰＤの操作に応じて上記表示装置１０６の表示面にカーソルを表示させてＰＤによる指示操作を制御する。
【００２７】
このような前提において、本発明では、上記仮想３次元空間に配置された３次元モデル６０４の面６０４ａ上に、３次元モデル６０４の内部と外部を移動するためのドア（内部ドア６０３）を作成することを可能とする。そして、図３に示すように、内部ドア６０３を介して、ＰＤのカーソル（マウスカーソル）を３次元モデル６０４の内部に侵入させて、３次元モデル６０４の内部をカーソルにより指示及び加工可能にするものである。
【００２８】
即ち、本発明では、従来のように３次元モデル６０４を切断し穴を開けて内部形状を作成した後に３次元モデルを結合するというような面倒な操作を行うことなく、３次元モデル６０４の内部に浸入して、その内部に他の３次元オブジェクト（内包モデル６０６等）を作成すること等が可能である。
【００２９】
以下に、本実施形態で用いる用語について定義する。
【００３０】
「ＯＳカーソル」：オペレーションシステム（ＯＳ）環境でのカーソルの状態を示す。即ち、どの３次元モデルにも入っていない場合のカーソルの状態（表示装置１０６の表示面上の任意の点を指示可能な状態）を示す。なお、ＯＳは、例えば、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）等であり、どのようなＯＳであってもよい。
【００３１】
「３Ｄカーソル」：３次元モデル内部へ入った状態のカーソルを示す。
【００３２】
「一時カーソル」：３ＤカーソルからＯＳカーソルの状態（表示装置１０６の表示面上の任意の点を一時的に指示可能な状態）に一時的に変更されている状態を示す。
【００３３】
「内部ドア」：３次元モデル内部と外部を移動するためのドアを示す。
【００３４】
なお、図３の７０１はＯＳカーソル６０１の移動前の状態、７０２はＯＳカーソル６０１が内部ドア６０３を通過している状態、７０３は内部ドアをＯＳカーソル６０１が通過し３Ｄカーソル６０５に変更された後の状態を示す。なお、３Ｄカーソル６０５の指示位置には、該指示位置を通過（交差）する３次元仮想空間の絶対座標軸のＸ軸，Ｙ軸，Ｚ軸と平行な線分が付加され、該各線分の端点を該３次元モデルとその外部との境界面とするように、ＣＰＵ１０１が３Ｄカーソルの形状を制御している。例えば、図２，図３に示す３Ｄカーソル６０５及び軸線６０５ｘ，６０５ｙ，６０５ｚのように３Ｄカーソルの形状を制御する。
【００３５】
また、本発明では、図２の６０８に示すように、３Ｄカーソルが位置変更動作されると、その動作中、３Ｄカーソル６０５はカーソル残像６０７とともに表示される。
【００３６】
以下、図４を参照して、本発明における３次元モデル内部でのカーソル表示動作について説明する。
【００３７】
図４は、本発明の情報処理装置における第１の制御処理手順の一例を示すフローチャートであり、本発明における３次元モデル内部でのカーソル表示動作処理に対応する。なお、このフローチャートの処理は、図１に示したＣＰＵ１０１によりＨＤ１０４に記憶されたプログラムがＲＡＭ１０２にロードされて実行されることにより実現される。
【００３８】
まず、ステップＳ４０１において、ＣＰＵ１０１は、対象の３次元モデル６０４面上にＯＳカーソル６０１が移動され、ＰＤの右ボタンが押されると、図２に示したように、メニュー６０２を表示装置１０６に表示する。そして、該表示されるメニュー６０２から「内部ドア作成」６０２ａがＰＤにより選択されると、ＣＰＵ１０１は、内部参照の対象となる３次元モデル６０４の対象面６０４ａに内部ドア属性を付加し、内部ドア６０３を作成する。ここで、この内部ドア属性について図５を参照して説明する。
【００３９】
図５は、本発明において３次元モデルの対象面に付加される内部ドア属性を説明する模式図であり、図２，図３と同一のものには同一の符号を付してある。
【００４０】
上述した内部ドア属性とは、図５の８０１に示すように、３次元モデル６０４の面６０４ａの面属性として、属性名「in-out-door」，属性値「lower-left-point=ドアの左下(X,Y,Z)，upper -right-point=ドアの右上座標(X,Y,Z)」を設定したものである。なお、属性値「lower-left-point，upper -right-point」により内部ドアのエリアが確定される。
【００４１】
なお、ＰＤのカーソルを移動して属性を付加した面をフォーカスすることにより、該フォーカスした面に内部ドアが作成されている場合には、ＣＰＵ１０１は、８０１に示すように、その面属性（属性名，属性値）を表示装置１０６に表示させる。
【００４２】
以下、図４のフローチャートの説明に戻る。
【００４３】
次に、ステップＳ４０２において、図３に示したように、３次元モデル６０４のフォーカスした面６０４ａ上に作成された内部ドア６０３をＯＳカーソル６０１が通過された（内部ドア６０３の属性値に設定されたエリアにＯＳカーソル６０１が移動される）ことにより、ＣＰＵ１０１は、内部ドア６０３からＯＳカーソル６０１がモデル内部へ移動されたことを認識する。これをトリガーとして３次元モデル６０４の内部へのカーソル移動指示（第１の指示）がなされたと判断して、ＣＰＵ１０１は、ステップＳ４０３に処理を進め、対象モデル（図３の例では３次元モデル６０４）を半透明表示に変更し、モデル色も所定の対象モデル色に変更する。さらに、ＣＰＵ１０１は、内部ドア内側の座標にカーソル位置座標を変換し、カーソルを３Ｄカーソルに変更する。このモデルの半透明表示及び３Ｄカーソル表示により作業者は現在のカーソルがどのモデルの内部にいるのかが判断できる。
【００４４】
そして、ステップＳ４０４において、ＣＰＵ１０１は、作業者による３次元モデル内部構造のモデリング作成（モデル内部の編集）等の操作を受け付ける。
【００４５】
次に、ステップＳ４０５において、ＣＰＵ１０１は、ＰＤの右ボタンメニュー６０２にて「一時カーソル」６０２ｃが選択されたと判断した場合（一時的にＯＳカーソルに戻す指示（第４の指示）がなされたと判断した場合）、ステップＳ４０６に処理を進め、カーソルをＯＳカーソルへ変更する。なお、この際、ＣＰＵ１０１は、ステップＳ４０５で「一時カーソル」６０２ｃが指示される前の３Ｄカーソル状態（カーソル位置）を一時変更前座標値としてＲＡＭ１０２に記憶させる。
【００４６】
次に、ステップＳ４０７において、ＣＰＵ１０１は、ＯＳ上の他のメニュー等の作業者による利用を受け付ける。
【００４７】
その後、ステップＳ４０８において、ＣＰＵ１０１は、３次元モデルを表示しているウィンドウがアクティブ化されたと判断した場合（一時カーソルが指示される前の状態に戻す指示（第５の指示）がなされたと判断した場合）には、ステップＳ４０９に処理を進める。
【００４８】
ステップＳ４０９では、ＣＰＵ１０１は、ＲＡＭ１０２に記憶された一時変更前座標値に基づいて、ステップＳ４０５で「一時カーソル」６０２ｃが指示される前の３Ｄカーソル状態（「一時カーソル」６０２ｃとなる直前の状態）へカーソルの状態（カーソル位置，軸線の状態等）を戻し、ステップＳ４１０において、作業者によるモデル内部構造のモデリング作成（モデル内部の編集）等の操作を受け付ける。
【００４９】
次に、ステップＳ４１１において、ＣＰＵ１０１は、「内部ドア」から３次元モデルの外側へカーソルが移動されたことを検知すると、ＯＳカーソルに戻す指示がなされたと判断して、ステップＳ４１２において、対象３次元モデルの半透明状態を解除し、モデル色も元に戻し、さらにカーソルの状態をＯＳカーソルへ戻す。
【００５０】
なお、本発明では、３次元モデル内にさらに他の３次元モデルを作成することができる。そして、該３次元モデル内に作成した３次元モデルに内部ドアを作成して、該３次元モデル内に作成した３次元モデルの内部に侵入して、その内部を加工することができる。また、この処理を再帰的に繰り返し、幾重にも３次元モデルを作成及び内部加工可能である。
【００５１】
なお、上記３次元モデル内の３次元モデルから外部に出されると（第２の指示がなされたと判断すると）、ＣＰＵ１０１は、カーソルが１つ外の３次元モデル内の３Ｄカーソルとなるように制御する。よって、幾重にも作成された３次元モデルの内部から、全ての３次元モデルの外部にカーソルの指示可能空間を恒等的に変更する場合（恒等的にＯＳカーソルに戻す場合）、内部ドアから外部に出る操作を３次元モデルの層の数だけ繰り返す必要がある。なお、メニュー６０２の「ＯＳカーソル」６０２ｄが指示された場合（全ての３次元モデルの外部の任意の点を指示可能な状態に恒等的にカーソルを戻す指示（第３の指示）がなされたと判断すると）、ＣＰＵ１０１は、この一度の操作で幾重にも内包された３次元モデル内の３ＤカーソルをＯＳカーソルに戻すように制御する。
【００５２】
また、３Ｄカーソルを一時的にＯＳカーソルに戻す場合は、図４のステップ４０５，Ｓ４０６に示した「一時カーソル」メニュー６０２ｃを用いることも可能である。
【００５３】
以下、図６を参照して、カーソルが内部ドア上を移動された際の処理について詳細に説明する。即ち、図４のステップＳ４０２，Ｓ４０３、又は、図４のステップＳ４１１，Ｓ４１２に対応する処理について説明する。
【００５４】
図６は、本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートであり、カーソルが内部ドア上を移動された際の処理に対応する。なお、このフローチャートの処理は、図１に示したＣＰＵ１０１によりＨＤ１０４に記憶されたプログラムがＲＡＭ１０２にロードされて実行されることにより実現される。また、図中、Ｓ１００１〜Ｓ１０１３は各ステップを示す。
【００５５】
まず、ステップＳ１００１において、ＣＰＵ１０１は、カーソルの移動を待機し、カーソルが移動されたことを検知すると、ステップＳ１００２において、現在のカーソル座標値（ステップＳ１００１で移動された先の座標値）を取得し、該現在のカーソル位置が３次元モデルの面の上に存在しているか（３次元モデルの面をフォーカスしているか）判定する。
【００５６】
そして、ステップＳ１００２で、面をフォーカスしていないと判断した場合には、ステップＳ１００６において、ＣＰＵ１０１は、現在のカーソル座標値を前座標値としてＲＡＭ１０２に保管し、ステップＳ１００１に処理を戻し、カーソルの移動操作を待機する。
【００５７】
一方、ステップＳ１００２で、面をフォーカスしていると判断した場合には、ステップＳ１００３において、ＣＰＵ１０１は、フォーカスした面に内部ドア属性が付加されているか否かを判定する。
【００５８】
そして、ステップＳ１００３で、フォーカスした面に内部ドアに内部ドア属性が付加されていないと判断した場合には、ＣＰＵ１０１は、ステップＳ１００６に処理を進める。
【００５９】
一方、ステップＳ１００３で、フォーカスした面に内部ドア属性が付加されていると判断した場合には、ＣＰＵ１０１は、ステップＳ１００４において、内部ドアの面属性より内部ドアエリアを取得する（即ち、図５の８０１に示した属性値「lower-left-point，upper -right-point」を取得する）。
【００６０】
次に、ステップＳ１００５において、ＣＰＵ１０１は、ステップＳ１００４で取得した内部ドアエリアにカーソルが存在するか否かを判定し、内部ドアエリアにカーソルが存在しないと判断した場合には、ＣＰＵ１０１は、ステップＳ１００６に処理を進める。
【００６１】
一方、ステップＳ１００５で、ステップＳ１００４で取得した内部ドアエリアにカーソルが存在すると判断した場合には、ＣＰＵ１０１は、ステップＳ１００７に処理を進める。
【００６２】
ステップＳ１００７では、ＣＰＵ１０１は、ＲＡＭ１０２に保管されている前座標値から現在のカーソル位置座標値へ向かうベクトルを算出する。
【００６３】
次に、ステップＳ１００８において、ＣＰＵ１０１は、ステップＳ１００７で算出したベクトル方向が内部ドアの存在する３次元モデルの内側へ向いているか、外側へ向いているかを判定する。即ち、カーソルが外から３次元モデルの中へ入れられたか（内側へ向いているか）、３次元モデルの中から外へ出されたか（内側へ向いているか）を判定する。
【００６４】
そして、ステップＳ１００８で、ステップＳ１００７で算出したベクトル方向が内部ドアの存在する３次元モデルの内側へ向いていると判断した場合（上記３次元モデル内部へのカーソル移動の指示がなされたと判断した場合）には、ＣＰＵ１０１は、ステップＳ１０１２に処理を進める。
【００６５】
そして、ステップＳ１０１２では、ＣＰＵ１０１は、カーソルが示す座標値を内部ドア内側の座標値に変更し、ステップＳ１０１３において、カーソルをその３次元モデル内の３Ｄカーソル表示に変更する（即ち、図４のステップＳ４０２，Ｓ４０３の処理に対応する）なお、ステップＳ１０１３の処理の詳細は後述する図７に示す。
【００６６】
一方、ステップＳ１００８で、ステップＳ１００７で算出したベクトル方向が内部ドアの存在する３次元モデルの外側へ向いていると判断した場合（上記３次元モデル内部から外部へのカーソル移動の指示がなされたと判断した場合）には、ＣＰＵ１０１は、ステップＳ１００９に処理を進める。
【００６７】
そして、ステップＳ１００９では、ＣＰＵ１０１は、カーソルが示す座標値を内部ドア外側の座標値に変更し、ステップＳ１０１０に処理を進める。
【００６８】
ステップＳ１０１０では、ＣＰＵ１０１は、カーソルがまだ３次元モデル内であるか否かを判定し、カーソルがまだ３次元モデル内であると判断した場合には、ステップＳ１０１３に処理を進め、カーソルをその３次元モデル内の３Ｄカーソル表示に変更する。
【００６９】
一方、ステップＳ１０１０では、カーソルがもう３次元モデル内でないと判断した場合には、ＣＰＵ１０１は、ステップＳ１０１３に処理を進め、カーソルをＯＳカーソル表示に変更する（即ち、図４のステップＳ４１１，Ｓ４１２の処理に対応する）。
【００７０】
以下、図７を参照して、図６のステップＳ１０１３に示した３Ｄカーソル表示に変更する処理の詳細を示す。
【００７１】
図７は、本発明の情報処理装置における第３の制御処理手順の一例を示すフローチャートであり、図６のステップＳ１０１３に示した３Ｄカーソル表示に変更する処理の詳細に対応する。なお、このフローチャートの処理は、図１に示したＣＰＵ１０１によりＨＤ１０４に記憶されたプログラムがＲＡＭ１０２にロードされて実行されることにより実現される。また、図中、Ｓ５０１〜Ｓ５０５は各ステップを示す。
【００７２】
まず、ステップＳ５０１において、ＣＰＵ１０１は、現在のカーソル位置を通過（交差）する３次元仮想空間の絶対座標軸のＸ軸，Ｙ軸，Ｚ軸と平行な無限線を作成する。
【００７３】
次に、ステップＳ５０２において、ＣＰＵ１０１は、現在カーソルが浸入している３次元モデルと各無限線と交差する点（交点）をそれぞれ算出する。
【００７４】
次に、ステップＳ５０３において、ＣＰＵ１０１は、ステップＳ５０１で作成した各無限線をステップＳ５０２で算出した各交点間までの線分に修正する。
【００７５】
次に、ステップＳ５０４において、ＣＰＵ１０１は、現在のカーソル座標値を前座標値としてＲＡＭ１０２内に保管する。
【００７６】
次に、ステップＳ５０５において、ＣＰＵ１０１は、現在のカーソル座標値に３Ｄカーソル（例えば、図２，図３の６０５）として表示するとともに、上述の各線分を３Ｄカーソル軸線（例えば、図２，図３に示す６０５ｘ，６０５ｙ，６０５ｚ）として表示装置１０６に表示し、処理を終了する。
【００７７】
以下、図８を参照して、３Ｄカーソルが３次元モデル内部で移動された場合の処理について詳細に説明する。
【００７８】
図８は、本発明の情報処理装置における第４の制御処理手順の一例を示すフローチャートであり、３Ｄカーソルが３次元モデル内部で移動された場合の処理に対応する。なお、このフローチャートの処理は、図１に示したＣＰＵ１０１によりＨＤ１０４に記憶されたプログラムがＲＡＭ１０２にロードされて実行されることにより実現される。また、図中、Ｓ９０１〜Ｓ９１０は各ステップを示す。
【００７９】
ステップＳ９０１において、ＣＰＵ１０１は、現在のカーソルが示す座標値を取得する。そして、ステップＳ９０２において、ＣＰＵ１０１は、ステップＳ９０１で取得したカーソル座標値とＲＡＭ１０２内に保管されている前座標値とに基づいて、カーソルが移動されているか否かを判定し、カーソルが移動されていると判断した場合には、ステップＳ９０５に処理を進める。
【００８０】
ステップＳ９０５では、ＣＰＵ１０１は、ステップＳ９０１で取得した現在のカーソル座標値が、３Ｄカーソルが存在している（浸入している）３次元モデルの範囲内か範囲外かを否かを判定する。
【００８１】
そして、ステップＳ９０５で、現在のカーソル座標値が上記３次元モデルの範囲外であると判断した場合には、ＣＰＵ１０１は、ステップＳ９０６に処理を進め、範囲を越えた座標値を３次元モデルとその外部との境界値に設定変更する。例えば、カーソルの前座標値と現在のカーソル座標値とを通る直線とカーソルが上記３次元モデルとの交点を算出し、該算出した交点に、カーソル座標値を設定変更する。
【００８２】
さらに、ステップＳ９０７において、ＣＰＵ１０１は、ステップＳ９０６で変更した座標へ３Ｄカーソルを移動し、ステップＳ９０８に処理を進める。
【００８３】
一方、ステップＳ９０５で、現在のカーソル座標値が上記３次元モデルの範囲内であると判断した場合には、ＣＰＵ１０１は、そのままステップＳ９０８に処理を進める。
【００８４】
ステップＳ９０８では、ＣＰＵ１０１は、移動されたカーソル座標値と前座標値とを比較し、移動された座標値が前座標値より画面に対して奥（Ｚ軸正の方向）へ移動したか手前（Ｚ軸負の方向）へ移動したかを判定する。
【００８５】
そして、ステップＳ９０９で、移動された座標値が前座標値より画面に対して奥（Ｚ軸正の方向）へ移動したと判断した場合には、ステップＳ９０９において、ＣＰＵ１０１は、３Ｄカーソルの縮小残像表示を行い、ステップＳ９０１に処理を戻す。
【００８６】
一方、ステップＳ９０９で、移動された座標値が前座標値より画面に対して手前（Ｚ軸負の方向）へ移動したと判断した場合には、ステップＳ９１０において、ＣＰＵ１０１は、３Ｄカーソルの拡大残像表示を行い、ステップＳ９０１に処理を戻す。
【００８７】
なお、上記３Ｄカーソルの縮小／拡大残像表示における、縮小／拡大率は、カーソルのＺ軸正の方向の移動量に応じたものとする。また、ここでは示していないが、カーソルのＺ軸正の方向の移動量が「０」の場合は、拡大／縮小は行わないものとする。
【００８８】
また、ステップＳ９０２で、カーソルが移動されていないと判断した場合には、ＣＰＵ１０１は、ステップＳ９０３に処理を進める。
【００８９】
ステップＳ９０３では、ＣＰＵ１０１は、拡大又は縮小残像表示等されているカーソルを標準サイズ（拡大／縮小される前のサイズ）で表示し、さらに残像を消去する処理を行う。
【００９０】
次に、ステップＳ９０４において、ＣＰＵ１０１は、ステップＳ９０１で取得したカーソル座標値を前座標値としてＲＡＭ１０２に保管し、ステップＳ９０１に処理を戻す。
【００９１】
以下、図９を参照して、３Ｄカーソルを内包モデルの内部へ移動させた場合のカーソルの変化を具体的に示す。
【００９２】
図９は、３Ｄカーソルを内包モデルの内部へ移動させた場合のカーソル変化を示す図であり、図２，図３，図５と同一のものには同一の符号を付してある。
【００９３】
図９において、１１０１は、３Ｄカーソル６０５が存在する３次元モデル６０４内部に別の３次元モデル１１０４が内包されている状態を示す。
【００９４】
また、１１０２は、内包３次元モデル１１０４に内部ドア１１０５を作成した状態を示す。さらに、１１０３は、３Ｄカーソル６０５が内包３次元モデル１１０４内部へ移動し、３Ｄカーソル１１０６となった状態を示す。この際、ＣＰＵ１０１は、内包モデル１１０４を半透明表示にし、３Ｄカーソル１１０６の軸線を、内包モデル１１０４の範囲内を示すように制御する。
【００９５】
以下、図１０を参照して、３次元モデル内部に空洞形状を作成する場合について説明する。
【００９６】
図１０は、３次元モデル内部に空洞形状を作成する状態を示す模式図である。
【００９７】
図１０において、１２０１は、３次元モデル内部に断面となる形状を作成している状態を示す。また、１２０２は、１２０１で作成した断面を押出して空洞形状を作成している状態を示す。さらに、１２０３は、３次元モデル内部に空洞形状が作成された状態を示す。
【００９８】
なお、本実施形態では、本発明を３次元ＣＡＤに適用する場合について説明したが、表示装置と、表示装置の表示面上をカーソルにより指示するためのＰＤとを有し、メモリ上に実装される仮想３次元空間を前記表示面により２次元表示させるとともに、前記ＰＤの操作に応じて前記表示面にカーソルを表示させて前記ＰＤによる指示操作を制御する情報処理装置（システム）であれば、どのような装置（システム）に対しても適用可能である。
【００９９】
以上説明したように、本実施形態によれば、ＰＤのカーソルが３次元オブジェクト（３次元モデル）内部へ入ることが可能となり、３次元オブジェクト内部を自由に移動できるようになる。この結果、３次元オブジェクトの内部構造を作成，編集するなど、３次元オブジェクトの内部に対する様々な操作が実行可能となる。
【０１００】
また、カーソルサイズを奥行きに対する変位方向及び変位量に応じて拡大／縮小変化させることで、表示装置に２次元表示された仮想３次元空間内に配置され３次元オブジェクトの形状を、操作者がイメージとしてとらえ易くすし、容易に３次元オブジェクトの凹凸や、要素の内／外、手前／奥等の位置関係等を判断することができるようになる。
【０１０１】
この結果、図１２，図１３に示したような場合でも線のどちらが手前にあるか分かり易くなったり、カーソルが３次元オブジェクトの内部に位置するのか、外側に位置するのか容易に区別できるようになる。
【０１０２】
さらに、カーソルサイズが変化した画像は残像とし、要素を指定する時のカーソルサイズは元に戻るため、カーソルの位置や指し示す場所が分かり易くなるといった効果を奏する。
【０１０３】
このような技術を、３次元ＣＡＤに適用することにより、従来のように３次元オブジェクトを切断し穴を開けて内部形状を作成した後に該３次元モデルを結合するというような面倒な操作を行うことなくなり、３次元モデルの内部に浸入して、その内部に他の３次元モデルを作成することができる。従って、３次元モデルの編集操作が極めて簡単化された３次元ＣＡＤシステムを構築することができる。
【０１０４】
なお、上記実施形態で示した各種データやモデルの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１０５】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０６】
以下、図１１に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１０７】
図１１は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１０８】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１０９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１１０】
本実施形態における図４，図６，図７，図８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１１１】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１２】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１１３】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１１４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１６】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１７】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１８】
なお、上述した実施形態内の各応用例を組み合わせた構成も全て本発明に含まれるものである。
【産業上の利用可能性】
【０１１９】
本発明は、表示装置と、表示装置の表示面上をカーソルにより指示するためのＰＤとを有し、メモリ上に実装される仮想３次元空間を前記表示面により２次元表示させるとともに、前記ＰＤの操作に応じて前記表示面にカーソルを表示させて前記ＰＤによる指示操作を制御する情報処理装置（システム）であれば、どのような装置（システム）に対しても適用可能である（例えば、３次元ＣＡＤ）。
【図面の簡単な説明】
【０１２０】
【図１】本発明の一実施形態を示す情報処理のハードウェア構成の一例を示すブロック図である。
【図２】本発明の情報処理装置における３次元モデル内部でのカーソル制御動作の概要を示す模式図である。
【図３】本発明の情報処理装置における３次元モデル内部でのカーソル制御動作の概要を示す模式図である。
【図４】本発明の情報処理装置における第１の制御処理手順の一例を示すフローチャートである。
【図５】本発明において３次元モデルの対象面に付加される内部ドア属性を説明する模式図である。
【図６】本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートである。
【図７】本発明の情報処理装置における第３の制御処理手順の一例を示すフローチャートである。
【図８】本発明の情報処理装置における第４の制御処理手順の一例を示すフローチャートである。
【図９】３Ｄカーソルを内包モデルの内部へ移動させた場合のカーソル変化を示す図である。
【図１０】３次元モデル内部に空洞形状を作成する状態を示す模式図である。
【図１１】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【図１２】この種の３次元ＣＡＤの機能について説明する図である。
【図１３】この種の３次元ＣＡＤの機能について説明する図である。
【符号の説明】
【０１２１】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  ＨＤ
１０５  記憶媒体読書き装置
１０６  表示装置
１０７  入力装置
６０１  ＯＳカーソル
６０２  メニュー
６０３  内部ドア
６０４  ３次元モデル
６０５  ３Ｄカーソル
６０６  内包モデル
【図１】
2008077203.tif 000003
【図２】
2008077203.tif 000004
【図３】
2008077203.tif 000005
【図４】
2008077203.tif 000006
【図５】
2008077203.tif 000007
【図６】
2008077203.tif 000008
【図７】
2008077203.tif 000009
【図８】
2008077203.tif 000010
【図９】
2008077203.tif 000011
【図１０】
2008077203.tif 000012
【図１１】
2008077203.tif 000013
【図１２】
2008077203.tif 000014
【図１３】
2008077203.tif 000015