説明

情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体

【課題】マウス等のポインティングデバイスのカーソルを3次元オブジェクト(3次元モデル)の内部へ浸入させることを可能とし、従来のように3次元オブジェクトの切断を行うことなく、3次元オブジェクトの内部を自由に移動して指示することができるようにすること。
【解決手段】CPU101は、RAM102上に実装される仮想3次元空間を表示装置106の表示面により2次元表示させるとともに、入力装置107(PD)の操作に応じて前記表示面にカーソルを表示させて前記PDによる指示操作を制御し、さらに、前記表示面に2次元表示される前記仮想3次元空間内に配置される3次元モデルに対して第1の指示(内部ドアから内部へ入る指示)がなされたと判断すると、該3次元モデルの内部空間を前記PDの指示可能な範囲とするように制御する構成を特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元CADのように、表示手段と、前記表示手段の表示面上をカーソルにより指示するための指示手段とを有する情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体に関する。
【背景技術】
【0002】
3次元空間(空洞)のあるモデルをモデリングする場合、これまでの3次元CADの機能では、空洞内部に関する操作性が考慮されておらず、直接内部要素を指定することができなかった。そのため、モデルを切断し穴を開けて内部形状を作成し、その後、モデルを結合するという面倒な操作を行っていた。
【0003】
一方、空洞内の表示に関しては、実現しており、通常モデルに対して陰影を付けることで立体感を表現している(図12)。
【0004】
しかし、モデル内部を見るためには半透明やワイヤーフレーム表示とする必要があった。そのため、陰影が判りにくく、重なっている線のどちらが手前にあるか分からなくなる等の欠点があった(図13)。
【0005】
図12,図13は、この種の3次元CADの機能について説明する図である。
【0006】
3次元空間をカーソルが行き来する手法は、特許文献1,特許文献2に提案されているように、画面奥行き方向へのカーソル移動が可能であり、また、カーソルサイズを可変させることにより奥行きを表現することができるようになっている。
【特許文献1】特開平9−258954号公報
【特許文献2】特開2004−084252号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1,特許文献2で提案されている技術は、3次元モデル外形に対するカーソルの表現を考慮したものであり、3次元モデル内部に入り込んで作業することについては何ら考慮されていない。依然として、3次元モデルを切断し穴を開けて内部形状を作成し、その後、モデルを結合するという面倒な操作が必要になり、非常に煩雑であるといった問題点があった。
【0008】
また、3次元モデルの裏にあるカーソルを半透明表示などでモデルの影に隠れた状況は表現できているが、カーソルがモデル内部に位置するのか、外側に位置するのかの区別がつかないといった問題点があった。
【0009】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、マウス等のポインティングデバイスのカーソルを3次元オブジェクト(3次元モデル)の内部へ浸入させることを可能とし、従来のように3次元オブジェクトの切断を行うことなく、3次元オブジェクトの内部を自由に移動して指示することができるようにする仕組や、3次元オブジェクトの形状をイメージとしてとらえ易くする仕組を提供することである。
【課題を解決するための手段】
【0010】
本発明は、表示手段と、前記表示手段の表示面上をカーソルにより指示するための指示手段とを有する情報処理装置において、メモリ上に実装される仮想3次元空間を前記表示面により2次元表示させるとともに、前記指示手段の操作に応じて前記表示面にカーソルを表示させて前記指示手段による指示操作を制御する制御手段を有し、前記制御手段は、前記表示面に2次元表示される前記仮想3次元空間内に配置される3次元オブジェクトに対して第1の指示(内部ドアから内部へ入る指示)がなされたと判断すると、該3次元オブジェクトの内部空間を前記指示手段の指示可能な範囲とするように制御することを特徴とする。
【発明の効果】
【0011】
本発明によれば、指示手段のカーソルを3次元オブジェクトの内部へ浸入させることが可能となり、従来のように3次元オブジェクトの切断を行うことなく、3次元オブジェクトの内部を自由に移動して指示することができる。この結果、3次元オブジェクトの内部へのカーソルの指示に基づく各種処理が実行可能となる。
【0012】
また、カーソルのサイズを前記表示面に垂直な成分を有する方向の変位量に応じて変化させた残像を残すことで、操作者は、仮想3次元空間そのものや3次元オブジェクトの形状をイメージとしてとらえ易くすることができ、容易に3次元オブジェクトの凹凸や、内/外、奥/手前等の位置関係を容易に判断することができる。
【0013】
さらに、カーソルサイズが変化した画像は残像とし、要素を指定する時でのカーソルサイズは元に戻るため、カーソルの位置や指し示す場所をわかりやすくすることができるという効果を奏する。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照して、本発明について詳細を説明する。
【0015】
図1は、本発明の一実施形態を示す情報処理のハードウェア構成の一例を示すブロック図である。
【0016】
図1において、100は本発明の情報処理装置であり、具体的にはパーソナルコンピュータやワークステーション等である。
【0017】
101は情報処理装置100の中枢となる制御装置であり、各種制御を行う。この制御装置101は、具体的には、パーソナルコンピュータのCPU等にあたり、以下、CPUと称する。
【0018】
102はRAM(Random Access Memory)であり、CPU101により、プログラムのワークエリアや一時的に保持するデータのバッファとして利用される。
【0019】
103はROM(Read Only Memory)であり、ブートプログラム等を保存する。104は外部メモリであり、オペレーションシステム(OS),後述する本発明のプログラムを含む各種プログラムや各種データが格納されている。この外部メモリ104は、具体的には、ハードディスク(HD)等にあたり、以下HD等称する。
【0020】
105は記憶媒体読書き装置であり、記憶媒体への書込み、読込みを行う装置である。なお、この記憶媒体読書き装置105は、具体的にはCD-RW,DVD-RW,DAT,FDD等のドライブ装置に対応する。
【0021】
上記CPU101は、ROM103に格納されるプログラム、又は、HD104又は記憶媒体読書き装置105からRAM102上に読み出されたプログラムに基づいて各種処理を実行し、情報処理装置全体を制御する。
【0022】
106は表示装置であり、具体的にはディスプレイ等である。107は入力装置であり、この装置を通じて情報処理装置への各種操作及び各種データの入力が可能である。この入力装置107は、具体的には、キーボードや、PDは表示装置106の表示面上をカーソルにより指示するためのマウス等のポインティングデバイス(以下、PDと称する)である。
【0023】
108は、通信インターフェースであり、LAN等の伝送路と当該情報処理装置とを接続するためのものである。
【0024】
まず、図2〜図5を参照して、本発明の3次元モデル内部でのカーソル表示動作の概要について説明する。
【0025】
図2,図3は、本発明の情報処理装置における3次元モデル内部でのカーソル制御動作の概要を示す模式図である。
【0026】
図2に示すように、本発明では、CPU101は、RAM102上実装される仮想3次元空間を表示装置106により2次元表示制御させるとともに、PDの操作に応じて上記表示装置106の表示面にカーソルを表示させてPDによる指示操作を制御する。
【0027】
このような前提において、本発明では、上記仮想3次元空間に配置された3次元モデル604の面604a上に、3次元モデル604の内部と外部を移動するためのドア(内部ドア603)を作成することを可能とする。そして、図3に示すように、内部ドア603を介して、PDのカーソル(マウスカーソル)を3次元モデル604の内部に侵入させて、3次元モデル604の内部をカーソルにより指示及び加工可能にするものである。
【0028】
即ち、本発明では、従来のように3次元モデル604を切断し穴を開けて内部形状を作成した後に3次元モデルを結合するというような面倒な操作を行うことなく、3次元モデル604の内部に浸入して、その内部に他の3次元オブジェクト(内包モデル606等)を作成すること等が可能である。
【0029】
以下に、本実施形態で用いる用語について定義する。
【0030】
「OSカーソル」:オペレーションシステム(OS)環境でのカーソルの状態を示す。即ち、どの3次元モデルにも入っていない場合のカーソルの状態(表示装置106の表示面上の任意の点を指示可能な状態)を示す。なお、OSは、例えば、Windows(登録商標)、MacOS(登録商標)、UNIX(登録商標)、LINUX(登録商標)等であり、どのようなOSであってもよい。
【0031】
「3Dカーソル」:3次元モデル内部へ入った状態のカーソルを示す。
【0032】
「一時カーソル」:3DカーソルからOSカーソルの状態(表示装置106の表示面上の任意の点を一時的に指示可能な状態)に一時的に変更されている状態を示す。
【0033】
「内部ドア」:3次元モデル内部と外部を移動するためのドアを示す。
【0034】
なお、図3の701はOSカーソル601の移動前の状態、702はOSカーソル601が内部ドア603を通過している状態、703は内部ドアをOSカーソル601が通過し3Dカーソル605に変更された後の状態を示す。なお、3Dカーソル605の指示位置には、該指示位置を通過(交差)する3次元仮想空間の絶対座標軸のX軸,Y軸,Z軸と平行な線分が付加され、該各線分の端点を該3次元モデルとその外部との境界面とするように、CPU101が3Dカーソルの形状を制御している。例えば、図2,図3に示す3Dカーソル605及び軸線605x,605y,605zのように3Dカーソルの形状を制御する。
【0035】
また、本発明では、図2の608に示すように、3Dカーソルが位置変更動作されると、その動作中、3Dカーソル605はカーソル残像607とともに表示される。
【0036】
以下、図4を参照して、本発明における3次元モデル内部でのカーソル表示動作について説明する。
【0037】
図4は、本発明の情報処理装置における第1の制御処理手順の一例を示すフローチャートであり、本発明における3次元モデル内部でのカーソル表示動作処理に対応する。なお、このフローチャートの処理は、図1に示したCPU101によりHD104に記憶されたプログラムがRAM102にロードされて実行されることにより実現される。
【0038】
まず、ステップS401において、CPU101は、対象の3次元モデル604面上にOSカーソル601が移動され、PDの右ボタンが押されると、図2に示したように、メニュー602を表示装置106に表示する。そして、該表示されるメニュー602から「内部ドア作成」602aがPDにより選択されると、CPU101は、内部参照の対象となる3次元モデル604の対象面604aに内部ドア属性を付加し、内部ドア603を作成する。ここで、この内部ドア属性について図5を参照して説明する。
【0039】
図5は、本発明において3次元モデルの対象面に付加される内部ドア属性を説明する模式図であり、図2,図3と同一のものには同一の符号を付してある。
【0040】
上述した内部ドア属性とは、図5の801に示すように、3次元モデル604の面604aの面属性として、属性名「in-out-door」,属性値「lower-left-point=ドアの左下(X,Y,Z),upper -right-point=ドアの右上座標(X,Y,Z)」を設定したものである。なお、属性値「lower-left-point,upper -right-point」により内部ドアのエリアが確定される。
【0041】
なお、PDのカーソルを移動して属性を付加した面をフォーカスすることにより、該フォーカスした面に内部ドアが作成されている場合には、CPU101は、801に示すように、その面属性(属性名,属性値)を表示装置106に表示させる。
【0042】
以下、図4のフローチャートの説明に戻る。
【0043】
次に、ステップS402において、図3に示したように、3次元モデル604のフォーカスした面604a上に作成された内部ドア603をOSカーソル601が通過された(内部ドア603の属性値に設定されたエリアにOSカーソル601が移動される)ことにより、CPU101は、内部ドア603からOSカーソル601がモデル内部へ移動されたことを認識する。これをトリガーとして3次元モデル604の内部へのカーソル移動指示(第1の指示)がなされたと判断して、CPU101は、ステップS403に処理を進め、対象モデル(図3の例では3次元モデル604)を半透明表示に変更し、モデル色も所定の対象モデル色に変更する。さらに、CPU101は、内部ドア内側の座標にカーソル位置座標を変換し、カーソルを3Dカーソルに変更する。このモデルの半透明表示及び3Dカーソル表示により作業者は現在のカーソルがどのモデルの内部にいるのかが判断できる。
【0044】
そして、ステップS404において、CPU101は、作業者による3次元モデル内部構造のモデリング作成(モデル内部の編集)等の操作を受け付ける。
【0045】
次に、ステップS405において、CPU101は、PDの右ボタンメニュー602にて「一時カーソル」602cが選択されたと判断した場合(一時的にOSカーソルに戻す指示(第4の指示)がなされたと判断した場合)、ステップS406に処理を進め、カーソルをOSカーソルへ変更する。なお、この際、CPU101は、ステップS405で「一時カーソル」602cが指示される前の3Dカーソル状態(カーソル位置)を一時変更前座標値としてRAM102に記憶させる。
【0046】
次に、ステップS407において、CPU101は、OS上の他のメニュー等の作業者による利用を受け付ける。
【0047】
その後、ステップS408において、CPU101は、3次元モデルを表示しているウィンドウがアクティブ化されたと判断した場合(一時カーソルが指示される前の状態に戻す指示(第5の指示)がなされたと判断した場合)には、ステップS409に処理を進める。
【0048】
ステップS409では、CPU101は、RAM102に記憶された一時変更前座標値に基づいて、ステップS405で「一時カーソル」602cが指示される前の3Dカーソル状態(「一時カーソル」602cとなる直前の状態)へカーソルの状態(カーソル位置,軸線の状態等)を戻し、ステップS410において、作業者によるモデル内部構造のモデリング作成(モデル内部の編集)等の操作を受け付ける。
【0049】
次に、ステップS411において、CPU101は、「内部ドア」から3次元モデルの外側へカーソルが移動されたことを検知すると、OSカーソルに戻す指示がなされたと判断して、ステップS412において、対象3次元モデルの半透明状態を解除し、モデル色も元に戻し、さらにカーソルの状態をOSカーソルへ戻す。
【0050】
なお、本発明では、3次元モデル内にさらに他の3次元モデルを作成することができる。そして、該3次元モデル内に作成した3次元モデルに内部ドアを作成して、該3次元モデル内に作成した3次元モデルの内部に侵入して、その内部を加工することができる。また、この処理を再帰的に繰り返し、幾重にも3次元モデルを作成及び内部加工可能である。
【0051】
なお、上記3次元モデル内の3次元モデルから外部に出されると(第2の指示がなされたと判断すると)、CPU101は、カーソルが1つ外の3次元モデル内の3Dカーソルとなるように制御する。よって、幾重にも作成された3次元モデルの内部から、全ての3次元モデルの外部にカーソルの指示可能空間を恒等的に変更する場合(恒等的にOSカーソルに戻す場合)、内部ドアから外部に出る操作を3次元モデルの層の数だけ繰り返す必要がある。なお、メニュー602の「OSカーソル」602dが指示された場合(全ての3次元モデルの外部の任意の点を指示可能な状態に恒等的にカーソルを戻す指示(第3の指示)がなされたと判断すると)、CPU101は、この一度の操作で幾重にも内包された3次元モデル内の3DカーソルをOSカーソルに戻すように制御する。
【0052】
また、3Dカーソルを一時的にOSカーソルに戻す場合は、図4のステップ405,S406に示した「一時カーソル」メニュー602cを用いることも可能である。
【0053】
以下、図6を参照して、カーソルが内部ドア上を移動された際の処理について詳細に説明する。即ち、図4のステップS402,S403、又は、図4のステップS411,S412に対応する処理について説明する。
【0054】
図6は、本発明の情報処理装置における第2の制御処理手順の一例を示すフローチャートであり、カーソルが内部ドア上を移動された際の処理に対応する。なお、このフローチャートの処理は、図1に示したCPU101によりHD104に記憶されたプログラムがRAM102にロードされて実行されることにより実現される。また、図中、S1001〜S1013は各ステップを示す。
【0055】
まず、ステップS1001において、CPU101は、カーソルの移動を待機し、カーソルが移動されたことを検知すると、ステップS1002において、現在のカーソル座標値(ステップS1001で移動された先の座標値)を取得し、該現在のカーソル位置が3次元モデルの面の上に存在しているか(3次元モデルの面をフォーカスしているか)判定する。
【0056】
そして、ステップS1002で、面をフォーカスしていないと判断した場合には、ステップS1006において、CPU101は、現在のカーソル座標値を前座標値としてRAM102に保管し、ステップS1001に処理を戻し、カーソルの移動操作を待機する。
【0057】
一方、ステップS1002で、面をフォーカスしていると判断した場合には、ステップS1003において、CPU101は、フォーカスした面に内部ドア属性が付加されているか否かを判定する。
【0058】
そして、ステップS1003で、フォーカスした面に内部ドアに内部ドア属性が付加されていないと判断した場合には、CPU101は、ステップS1006に処理を進める。
【0059】
一方、ステップS1003で、フォーカスした面に内部ドア属性が付加されていると判断した場合には、CPU101は、ステップS1004において、内部ドアの面属性より内部ドアエリアを取得する(即ち、図5の801に示した属性値「lower-left-point,upper -right-point」を取得する)。
【0060】
次に、ステップS1005において、CPU101は、ステップS1004で取得した内部ドアエリアにカーソルが存在するか否かを判定し、内部ドアエリアにカーソルが存在しないと判断した場合には、CPU101は、ステップS1006に処理を進める。
【0061】
一方、ステップS1005で、ステップS1004で取得した内部ドアエリアにカーソルが存在すると判断した場合には、CPU101は、ステップS1007に処理を進める。
【0062】
ステップS1007では、CPU101は、RAM102に保管されている前座標値から現在のカーソル位置座標値へ向かうベクトルを算出する。
【0063】
次に、ステップS1008において、CPU101は、ステップS1007で算出したベクトル方向が内部ドアの存在する3次元モデルの内側へ向いているか、外側へ向いているかを判定する。即ち、カーソルが外から3次元モデルの中へ入れられたか(内側へ向いているか)、3次元モデルの中から外へ出されたか(内側へ向いているか)を判定する。
【0064】
そして、ステップS1008で、ステップS1007で算出したベクトル方向が内部ドアの存在する3次元モデルの内側へ向いていると判断した場合(上記3次元モデル内部へのカーソル移動の指示がなされたと判断した場合)には、CPU101は、ステップS1012に処理を進める。
【0065】
そして、ステップS1012では、CPU101は、カーソルが示す座標値を内部ドア内側の座標値に変更し、ステップS1013において、カーソルをその3次元モデル内の3Dカーソル表示に変更する(即ち、図4のステップS402,S403の処理に対応する)なお、ステップS1013の処理の詳細は後述する図7に示す。
【0066】
一方、ステップS1008で、ステップS1007で算出したベクトル方向が内部ドアの存在する3次元モデルの外側へ向いていると判断した場合(上記3次元モデル内部から外部へのカーソル移動の指示がなされたと判断した場合)には、CPU101は、ステップS1009に処理を進める。
【0067】
そして、ステップS1009では、CPU101は、カーソルが示す座標値を内部ドア外側の座標値に変更し、ステップS1010に処理を進める。
【0068】
ステップS1010では、CPU101は、カーソルがまだ3次元モデル内であるか否かを判定し、カーソルがまだ3次元モデル内であると判断した場合には、ステップS1013に処理を進め、カーソルをその3次元モデル内の3Dカーソル表示に変更する。
【0069】
一方、ステップS1010では、カーソルがもう3次元モデル内でないと判断した場合には、CPU101は、ステップS1013に処理を進め、カーソルをOSカーソル表示に変更する(即ち、図4のステップS411,S412の処理に対応する)。
【0070】
以下、図7を参照して、図6のステップS1013に示した3Dカーソル表示に変更する処理の詳細を示す。
【0071】
図7は、本発明の情報処理装置における第3の制御処理手順の一例を示すフローチャートであり、図6のステップS1013に示した3Dカーソル表示に変更する処理の詳細に対応する。なお、このフローチャートの処理は、図1に示したCPU101によりHD104に記憶されたプログラムがRAM102にロードされて実行されることにより実現される。また、図中、S501〜S505は各ステップを示す。
【0072】
まず、ステップS501において、CPU101は、現在のカーソル位置を通過(交差)する3次元仮想空間の絶対座標軸のX軸,Y軸,Z軸と平行な無限線を作成する。
【0073】
次に、ステップS502において、CPU101は、現在カーソルが浸入している3次元モデルと各無限線と交差する点(交点)をそれぞれ算出する。
【0074】
次に、ステップS503において、CPU101は、ステップS501で作成した各無限線をステップS502で算出した各交点間までの線分に修正する。
【0075】
次に、ステップS504において、CPU101は、現在のカーソル座標値を前座標値としてRAM102内に保管する。
【0076】
次に、ステップS505において、CPU101は、現在のカーソル座標値に3Dカーソル(例えば、図2,図3の605)として表示するとともに、上述の各線分を3Dカーソル軸線(例えば、図2,図3に示す605x,605y,605z)として表示装置106に表示し、処理を終了する。
【0077】
以下、図8を参照して、3Dカーソルが3次元モデル内部で移動された場合の処理について詳細に説明する。
【0078】
図8は、本発明の情報処理装置における第4の制御処理手順の一例を示すフローチャートであり、3Dカーソルが3次元モデル内部で移動された場合の処理に対応する。なお、このフローチャートの処理は、図1に示したCPU101によりHD104に記憶されたプログラムがRAM102にロードされて実行されることにより実現される。また、図中、S901〜S910は各ステップを示す。
【0079】
ステップS901において、CPU101は、現在のカーソルが示す座標値を取得する。そして、ステップS902において、CPU101は、ステップS901で取得したカーソル座標値とRAM102内に保管されている前座標値とに基づいて、カーソルが移動されているか否かを判定し、カーソルが移動されていると判断した場合には、ステップS905に処理を進める。
【0080】
ステップS905では、CPU101は、ステップS901で取得した現在のカーソル座標値が、3Dカーソルが存在している(浸入している)3次元モデルの範囲内か範囲外かを否かを判定する。
【0081】
そして、ステップS905で、現在のカーソル座標値が上記3次元モデルの範囲外であると判断した場合には、CPU101は、ステップS906に処理を進め、範囲を越えた座標値を3次元モデルとその外部との境界値に設定変更する。例えば、カーソルの前座標値と現在のカーソル座標値とを通る直線とカーソルが上記3次元モデルとの交点を算出し、該算出した交点に、カーソル座標値を設定変更する。
【0082】
さらに、ステップS907において、CPU101は、ステップS906で変更した座標へ3Dカーソルを移動し、ステップS908に処理を進める。
【0083】
一方、ステップS905で、現在のカーソル座標値が上記3次元モデルの範囲内であると判断した場合には、CPU101は、そのままステップS908に処理を進める。
【0084】
ステップS908では、CPU101は、移動されたカーソル座標値と前座標値とを比較し、移動された座標値が前座標値より画面に対して奥(Z軸正の方向)へ移動したか手前(Z軸負の方向)へ移動したかを判定する。
【0085】
そして、ステップS909で、移動された座標値が前座標値より画面に対して奥(Z軸正の方向)へ移動したと判断した場合には、ステップS909において、CPU101は、3Dカーソルの縮小残像表示を行い、ステップS901に処理を戻す。
【0086】
一方、ステップS909で、移動された座標値が前座標値より画面に対して手前(Z軸負の方向)へ移動したと判断した場合には、ステップS910において、CPU101は、3Dカーソルの拡大残像表示を行い、ステップS901に処理を戻す。
【0087】
なお、上記3Dカーソルの縮小/拡大残像表示における、縮小/拡大率は、カーソルのZ軸正の方向の移動量に応じたものとする。また、ここでは示していないが、カーソルのZ軸正の方向の移動量が「0」の場合は、拡大/縮小は行わないものとする。
【0088】
また、ステップS902で、カーソルが移動されていないと判断した場合には、CPU101は、ステップS903に処理を進める。
【0089】
ステップS903では、CPU101は、拡大又は縮小残像表示等されているカーソルを標準サイズ(拡大/縮小される前のサイズ)で表示し、さらに残像を消去する処理を行う。
【0090】
次に、ステップS904において、CPU101は、ステップS901で取得したカーソル座標値を前座標値としてRAM102に保管し、ステップS901に処理を戻す。
【0091】
以下、図9を参照して、3Dカーソルを内包モデルの内部へ移動させた場合のカーソルの変化を具体的に示す。
【0092】
図9は、3Dカーソルを内包モデルの内部へ移動させた場合のカーソル変化を示す図であり、図2,図3,図5と同一のものには同一の符号を付してある。
【0093】
図9において、1101は、3Dカーソル605が存在する3次元モデル604内部に別の3次元モデル1104が内包されている状態を示す。
【0094】
また、1102は、内包3次元モデル1104に内部ドア1105を作成した状態を示す。さらに、1103は、3Dカーソル605が内包3次元モデル1104内部へ移動し、3Dカーソル1106となった状態を示す。この際、CPU101は、内包モデル1104を半透明表示にし、3Dカーソル1106の軸線を、内包モデル1104の範囲内を示すように制御する。
【0095】
以下、図10を参照して、3次元モデル内部に空洞形状を作成する場合について説明する。
【0096】
図10は、3次元モデル内部に空洞形状を作成する状態を示す模式図である。
【0097】
図10において、1201は、3次元モデル内部に断面となる形状を作成している状態を示す。また、1202は、1201で作成した断面を押出して空洞形状を作成している状態を示す。さらに、1203は、3次元モデル内部に空洞形状が作成された状態を示す。
【0098】
なお、本実施形態では、本発明を3次元CADに適用する場合について説明したが、表示装置と、表示装置の表示面上をカーソルにより指示するためのPDとを有し、メモリ上に実装される仮想3次元空間を前記表示面により2次元表示させるとともに、前記PDの操作に応じて前記表示面にカーソルを表示させて前記PDによる指示操作を制御する情報処理装置(システム)であれば、どのような装置(システム)に対しても適用可能である。
【0099】
以上説明したように、本実施形態によれば、PDのカーソルが3次元オブジェクト(3次元モデル)内部へ入ることが可能となり、3次元オブジェクト内部を自由に移動できるようになる。この結果、3次元オブジェクトの内部構造を作成,編集するなど、3次元オブジェクトの内部に対する様々な操作が実行可能となる。
【0100】
また、カーソルサイズを奥行きに対する変位方向及び変位量に応じて拡大/縮小変化させることで、表示装置に2次元表示された仮想3次元空間内に配置され3次元オブジェクトの形状を、操作者がイメージとしてとらえ易くすし、容易に3次元オブジェクトの凹凸や、要素の内/外、手前/奥等の位置関係等を判断することができるようになる。
【0101】
この結果、図12,図13に示したような場合でも線のどちらが手前にあるか分かり易くなったり、カーソルが3次元オブジェクトの内部に位置するのか、外側に位置するのか容易に区別できるようになる。
【0102】
さらに、カーソルサイズが変化した画像は残像とし、要素を指定する時のカーソルサイズは元に戻るため、カーソルの位置や指し示す場所が分かり易くなるといった効果を奏する。
【0103】
このような技術を、3次元CADに適用することにより、従来のように3次元オブジェクトを切断し穴を開けて内部形状を作成した後に該3次元モデルを結合するというような面倒な操作を行うことなくなり、3次元モデルの内部に浸入して、その内部に他の3次元モデルを作成することができる。従って、3次元モデルの編集操作が極めて簡単化された3次元CADシステムを構築することができる。
【0104】
なお、上記実施形態で示した各種データやモデルの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0105】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0106】
以下、図11に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0107】
図11は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0108】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0109】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0110】
本実施形態における図4,図6,図7,図8に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0111】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0112】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0113】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0114】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0115】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0116】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0117】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0118】
なお、上述した実施形態内の各応用例を組み合わせた構成も全て本発明に含まれるものである。
【産業上の利用可能性】
【0119】
本発明は、表示装置と、表示装置の表示面上をカーソルにより指示するためのPDとを有し、メモリ上に実装される仮想3次元空間を前記表示面により2次元表示させるとともに、前記PDの操作に応じて前記表示面にカーソルを表示させて前記PDによる指示操作を制御する情報処理装置(システム)であれば、どのような装置(システム)に対しても適用可能である(例えば、3次元CAD)。
【図面の簡単な説明】
【0120】
【図1】本発明の一実施形態を示す情報処理のハードウェア構成の一例を示すブロック図である。
【図2】本発明の情報処理装置における3次元モデル内部でのカーソル制御動作の概要を示す模式図である。
【図3】本発明の情報処理装置における3次元モデル内部でのカーソル制御動作の概要を示す模式図である。
【図4】本発明の情報処理装置における第1の制御処理手順の一例を示すフローチャートである。
【図5】本発明において3次元モデルの対象面に付加される内部ドア属性を説明する模式図である。
【図6】本発明の情報処理装置における第2の制御処理手順の一例を示すフローチャートである。
【図7】本発明の情報処理装置における第3の制御処理手順の一例を示すフローチャートである。
【図8】本発明の情報処理装置における第4の制御処理手順の一例を示すフローチャートである。
【図9】3Dカーソルを内包モデルの内部へ移動させた場合のカーソル変化を示す図である。
【図10】3次元モデル内部に空洞形状を作成する状態を示す模式図である。
【図11】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【図12】この種の3次元CADの機能について説明する図である。
【図13】この種の3次元CADの機能について説明する図である。
【符号の説明】
【0121】
100 情報処理装置
101 CPU
102 RAM
103 ROM
104 HD
105 記憶媒体読書き装置
106 表示装置
107 入力装置
601 OSカーソル
602 メニュー
603 内部ドア
604 3次元モデル
605 3Dカーソル
606 内包モデル

【特許請求の範囲】
【請求項1】
表示手段と、前記表示手段の表示面上をカーソルにより指示するための指示手段とを有する情報処理装置において、
メモリ上に実装される仮想3次元空間を前記表示面により2次元表示させるとともに、前記指示手段の操作に応じて前記表示面にカーソルを表示させて前記指示手段による指示操作を制御する制御手段を有し、
前記制御手段は、前記表示面に2次元表示される前記仮想3次元空間内に配置される3次元オブジェクトに対して第1の指示がなされたと判断すると、該3次元オブジェクトの内部空間を前記指示手段の指示可能な範囲とするように制御することを特徴とする情報処理装置。
【請求項2】
前記制御手段は、前記指示手段が前記3次元オブジェクトの内部空間を指示している場合には、該3次元オブジェクトを透過表示することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記制御手段は、前記指示手段の指示可能な範囲に応じて、前記カーソルの形状を変更制御することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記制御手段は、前記指示手段の指示可能な範囲が前記3次元オブジェクトの内部空間である場合には、該3次元オブジェクトの内部空間とその外部との境界を明示するように、前記カーソルの形状を変更制御することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記制御手段は、前記指示手段の指示可能な範囲が前記3次元オブジェクトの内部空間である場合には、前記カーソルの形状を前記仮想3次元空間の3つの座標軸にそれぞれ平行な3つの線分を該カーソルの指示位置で交差させた形状とするとともに、該各線分の端点を前記3次元オブジェクトとその外部との境界面とするように、前記カーソルの形状を変更制御することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記制御手段は、前記指示手段の指示可能な範囲が前記3次元オブジェクトの内部空間である場合に、第2の指示がなされたと判断すると、該3次元オブジェクトの外部空間を前記指示手段の指示可能な範囲とするように制御することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記制御手段は、
前記指示手段の指示可能空間が第1の3次元オブジェクトの内部空間である場合に、該第1の3次元オブジェクトの内部空間内にさらに配置される第2の3次元オブジェクトに対して前記第1の指示がなされたと判断すると、該第2の3次元オブジェクトの内部空間を前記指示手段の指示可能な範囲とするように再帰的に制御するものであり、
前記指示手段の指示可能空間が第1の3次元オブジェクトの内部空間内に配置される第2の3次元オブジェクトの内部空間である場合に、前記第2の指示がなされたと判断すると、該第2の3次元オブジェクトの外部空間であって前記第1のオブジェクトの内部空間を前記指示手段の指示可能な範囲とするように再帰的に制御する、
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記3次元オブジェクトの表面に該3次元オブジェクトの内部と外部を移動するための入出領域を生成する生成手段を有し、
前記制御手段は、
前記入出領域が生成された3次元オブジェクトの外部空間から該入出領域に前記カーソルが移動されると、該3次元オブジェクトに対して前記第1の指示がなされたと判断し、
前記入出領域が生成された3次元オブジェクトの内部空間から前記入出領域に前記カーソルが移動されると、前記第2の指示がなされたと判断する、
ことを特徴とする請求項6又は7に記載の情報処理装置。
【請求項9】
前記制御手段は、前記指示手段の指示位置が前記3次元オブジェクトの内部空間において、前記仮想3次元空間の座標軸のうち前記表示面に垂直な成分を有する方向に移動された際には、前記表示面に垂直な成分を有する方向の移動量に応じて前記カーソルを拡大又は縮小しながら表示するように制御することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
【請求項10】
前記制御手段は、前記表示面に垂直な成分を有する方向の移動方向が前記表示面に対して手前方向である場合には、前記カーソルを拡大しながら表示し、一方、前記表示面に垂直な座標軸方向の移動方向が前記表示面に対して奥方向である場合には、前記カーソルを縮小しながら表示するように制御することを特徴とする請求項9に記載の情報処理装置。
【請求項11】
前記制御手段は、前記カーソルを拡大又は縮小しながら表示する際に、該カーソルの残像を残すように表示制御することを特徴とする請求項9又は10に記載の情報処理装置。
【請求項12】
前記制御手段は、前記指示手段の指示位置の移動がなくなった際には、前記カーソルの残像を消去するように制御することを特徴とする請求項11に記載の情報処理装置。
【請求項13】
前記制御手段は、前記指示手段の指示位置の変位がなくなった際には、前記カーソルを拡大又は縮小前のサイズに戻すように制御することを特徴とする請求項9乃至12のいずれか1項に記載の情報処理装置。
【請求項14】
前記制御手段は、前記指示手段が前記3次元オブジェクトの内部空間を指示している場合に、第3の指示がなされたと判断すると、前記指示手段により前記表示面の任意の点を指示可能な第1の状態に制御することを特徴とする請求項1乃至13のいずれか1項に記載の情報処理装置。
【請求項15】
前記制御手段は、前記指示手段が前記3次元オブジェクトの内部空間を指示している場合に、第4の指示がなされたと判断すると、前記指示手段により前記表示面の任意の点を一時的に指示可能な第2の状態となるように制御し、
前記第2の状態において、第5の指示がなされたと判断すると、前記第2の状態となる直前の状態に前記指示手段の指示状態を戻すように制御する、
ことを特徴とする請求項1乃至14のいずれか1項に記載の情報処理装置。
【請求項16】
前記指示手段によるカーソル操作に基づいて、前記指示手段の指示可能な範囲内に3次元のオブジェクトを生成配置可能なオブジェクト生成手段を有し、
前記オブジェクト生成手段は、前記指示手段によるカーソル操作に基づいて、前記指示手段の指示可能な範囲内に配置される3次元のオブジェクトを加工可能なことを特徴とする請求項1乃至15のいずれか1項に記載の情報処理装置。
【請求項17】
3次元CAD装置であることを特徴とする請求項1乃至16のいずれか1項に記載の情報処理装置。
【請求項18】
表示手段と、前記表示手段の表示面上をカーソルにより指示するための指示手段と、メモリ上に実装される仮想3次元空間を前記表示面により2次元表示させるとともに、前記指示手段の操作に応じて前記表示面にカーソルを表示させて前記指示手段による指示操作を制御する制御手段を有する情報処理装置において、
前記表示面に2次元表示される前記仮想3次元空間内に配置される3次元オブジェクトに対して第1の指示がなされたと判断すると、該3次元オブジェクトの内部空間を前記指示手段の指示可能な範囲とするように制御するステップを有することを特徴とする情報処理装置の制御方法。
【請求項19】
請求項1乃至17のいずれか1項に記載された情報処理装置としてコンピュータを機能させるための、又は、請求項18に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項20】
請求項1乃至17のいずれか1項に記載された情報処理装置としてコンピュータを機能させるための、又は、請求項18に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−77203(P2008−77203A)
【公開日】平成20年4月3日(2008.4.3)
【国際特許分類】
【出願番号】特願2006−253182(P2006−253182)
【出願日】平成18年9月19日(2006.9.19)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】