(57)【要約】【課題】  ３次元の図形を３次元空間に配置するグラフィックシステムにおける立体図形配置入力装置を提供する。【解決手段】  向かい合わせる配置面と基準面とがユーザから指示されると、配置面及び基準面のローカル座標が算出し、ＣＰＵ１は世界座標系における各モデルの位置に基づいて、配置面が基準面と向かい合い、且つ平行あるか否かを判断し、配置面と基準面とが向かい合っているが平行でない場合は配置面を含む平面と基準面を含む平面が交差する線を回転軸に、配置面と基準面とが平行かつ配置面と基準面とが向かい合うまで配置モデルを回転させることにより、ユーザが予め配置モデルの回転角度等を入力しなくても配置モデルの位置を変更することができる。【選択図】  図１
2006134251.tif 000002
【特許請求の範囲】
【請求項１】
画面上にカーソルを表示するカーソル表示手段を有する立体図形配置入力装置において、
配置を変更する配置モデルと基準とする基準モデルのローカル座標を記憶する立体配置データ記憶手段と、
前記配置モデルと前記基準モデルの形状を定義する立体詳細形状データ記憶手段と、
前記基準モデルの基準面と前記配置モデルの配置面とを前記カーソルで指示することにより選択する選択手段と、
前記立体配置データ記憶手段及び前記立体詳細形状データ記憶手段から前記各モデルのローカル座標及びその形状を読み出す読出手段と、
前記読出手段によって読み出された前記各モデルのローカル座標及びその形状から、世界座標系における前記各モデルの位置を算出する算出手段と、
前記算出手段によって算出された世界座標系における前記各モデルの位置から、前記配置面が前記基準面と所定の位置関係にあるか否かを判断する判断手段と、
前記判断手段によって前記配置面が前記基準面と所定の位置関係にないと判断されたとき、前記配置面を所定の位置関係に配置する配置手段とを有することを特徴とする立体図形配置入力装置。
【請求項２】
前記選択手段は、前記基準面と平行且つ対面させる配置面を前記カーソルで指示することにより選択することを特徴とする請求項１記載の立体図形配置入力装置。
【請求項３】
前記判断手段は、前記算出手段によって算出された世界座標系における前記各モデルの位置から、前記配置面が前記基準面と平行かつ対面しているか否かを判断することを特徴とする請求項１又は２記載の立体図形配置入力装置。
【請求項４】
前記配置手段は、前記判断手段によって前記配置面が前記基準面と平行かつ対面していないと判断されたとき、前記配置面を前記基準面と平行かつ対面させることを特徴とする請求項３記載の立体図形配置入力装置。
【請求項５】
前記選択手段は、前記基準面と平行且つ同方向を向かせる配置面を前記カーソルで指示することにより選択することを特徴とする請求項１記載の立体図形配置入力装置。
【請求項６】
前記判断手段は、前記算出手段によって算出された世界座標系における前記各モデルの位置から、前記配置面が前記基準面と平行かつ同方向を向いているか否かを判断することを特徴とする請求項１又は５記載の立体図形配置入力装置。
【請求項７】
前記配置手段は、前記判断手段によって前記配置面が前記基準面と平行かつ同方向を向いていないと判断されたとき、前記配置面を前記基準面と平行かつ同方向を向かせることを特徴とする請求項６記載の立体図形配置入力装置。
【請求項８】
前記配置手段は、
前記配置面を有する面と前記基準面を有する面とが交わる交線と平行な直線を回転軸に、前記配置面が前記基準面と平行となるまで前記配置モデルを回転させる第１の回転手段と、
前記基準面と平行な前記配置面の辺と平行な直線を回転軸に、前記配置面が前記基準面と対面するまで前記配置モデルを回転させる第２の回転手段とを有することを特徴とする請求項１から７のいずれか１項記載の立体図形配置入力装置。
【請求項９】
世界座標系において前記配置モデルをオフセットするオフセット手段を有することを特徴とする請求項１から８のいずれか１項記載の立体図形配置入力装置。
【請求項１０】
前記配置手段又は前記オフセット手段によって世界座標系における前記配置モデルの位置が変更されたとき、前記配置モデルのローカル座標を算出し、前記立体配置データ記憶手段によって記憶された前記配置モデルのローカル座標を更新することを特徴とする請求項９記載の立体図形配置入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元の図形を３次元空間に配置するグラフィックシステムにおける立体図形配置入力装置に関する。
【背景技術】
【０００２】
３次元図形の編集処理が行えるコンピュータグラフィックシステムにおいては、ユーザがマウス等により画面に表示されたカーソルを移動・回転させることにより画面上の位置を指示する等によって３次元の図形の３次元での位置を入力する。このような方法として、次の従来方法が使用されていた。
【０００３】
第１の従来方法は、精密な位置入力が必要なＣＡＤ（Computer Aided Design）等で使用される三面図を用いる方法が一般的である。表示画面に正面図、側面図、平面図等の三面図を同時に表示し、それらの三面図のうち二面図においてマウス等を操作して３次元の位置を入力する。配置される立体は三面図の各々において大きさや方向が指示される。具体的には、配置するモデル（以下、配置モデルとする）の位置が基準となるモデル（以下、基準モデルとする）との位置関係において、ユーザが望む位置関係になるように、配置モデルの位置や向きを予めユーザが計算・配置する。
【０００４】
第２の従来方法は、立体及び立体が配置される空間を透視図により画面上に２次元で表現し、その画面上においてユーザが３次元位置を入力する。この方法では、配置する立体の大きさや方向があらかじめ決定されている場合には、配置のみ３次元表示された透視図で行えばよいが、配置する立体の大きさや方向を変更する必要がある場合は、画面上でマウス等を使用して位置を指示し、その上でマウスをクリックして移動させる量（ドラッグ量）によって大きさを指定して立体を入力する。その後、立体の方向、大きさ、３軸方向の拡大比率などをマウス操作によって変更する。
【０００５】
特許文献１では、使用者により３次元空間に基準面が定義され、カーソルは定義された基準面上を移動するものとして、カーソルで指示された基準面上の位置を３次元指示位置として入力することにより、基準面を定義した後は、カーソルで指示するだけで３次元空間の位置を指示することができる立体図形配置入力方法及びグラフィックシステムが提案されている。
【特許文献１】特許第３３６１６５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記の発明は、以下の問題を有している。
【０００７】
例えば、配置モデルが有する平面と基準モデルが有する平面とを平行に配置させる場合、ユーザは、配置モデルの回転角度、及び移動角度を予め計算し、算出した値を予め３次元指示位置として入力することにより、配置モデルをユーザが期待する位置に配置する。そのため、ユーザは、配置モデルの回転角度等を予め算出しておく必要があった。
【０００８】
そこで、本発明は、配置モデルの位置を基準モデルとの位置関係において変更するとき、ユーザが予め配置モデルの回転角度等を入力しなくても配置モデルの位置を変更できる立体図形配置入力装置を提案することを目的としている。
【課題を解決するための手段】
【０００９】
請求項１記載の発明は、画面上にカーソルを表示するカーソル表示手段を有する立体図形配置入力装置において、配置を変更する配置モデルと基準とする基準モデルのローカル座標を記憶する立体配置データ記憶手段と、前記配置モデルと前記基準モデルの形状を定義する立体詳細形状データ記憶手段と、前記基準モデルの基準面と前記配置モデルの配置面とを前記カーソルで指示することにより選択する選択手段と、前記立体配置データ記憶手段及び前記立体詳細形状データ記憶手段から前記各モデルのローカル座標及びその形状を読み出す読出手段と、前記読出手段によって読み出された前記各モデルのローカル座標及びその形状から、世界座標系における前記各モデルの位置を算出する算出手段と、前記算出手段によって算出された世界座標系における前記各モデルの位置から、前記配置面が前記基準面と所定の位置関係にあるか否かを判断する判断手段と、前記判断手段によって前記配置面が前記基準面と所定の位置関係にないと判断されたとき、前記配置面を所定の位置関係に配置する配置手段とを有することを特徴とする。
【００１０】
請求項２記載の発明は、請求項１記載の立体図形配置入力装置において、前記選択手段は、前記基準面と平行且つ対面させる配置面を前記カーソルで指示することにより選択することを特徴とする。
【００１１】
請求項３記載の発明は、請求項１又は２記載の立体図形配置入力装置において、前記判断手段は、前記算出手段によって算出された世界座標系における前記各モデルの位置から、前記配置面が前記基準面と平行かつ対面しているか否かを判断することを特徴とする。
【００１２】
請求項４記載の発明は、請求項３記載の立体図形配置入力装置において、前記配置手段は、前記判断手段によって前記配置面が前記基準面と平行かつ対面していないと判断されたとき、前記配置面を前記基準面と平行かつ対面させることを特徴とする。
【００１３】
請求項５記載の発明は、請求項１記載の立体図形配置入力装置において、前記選択手段は、前記基準面と平行且つ同方向を向かせる配置面を前記カーソルで指示することにより選択することを特徴とする。
【００１４】
請求項６記載の発明は、請求項１又は５記載の立体図形配置入力装置において、前記判断手段は、前記算出手段によって算出された世界座標系における前記各モデルの位置から、前記配置面が前記基準面と平行かつ同方向を向いているか否かを判断することを特徴とする。
【００１５】
請求項７記載の発明は、請求項６記載の立体図形配置入力装置において、前記配置手段は、前記判断手段によって前記配置面が前記基準面と平行かつ同方向を向いていないと判断されたとき、前記配置面を前記基準面と平行かつ同方向を向かせることを特徴とする。
【００１６】
請求項８記載の発明は、請求項１から７のいずれか１項記載の立体図形配置入力装置において、前記配置手段は、前記配置面を有する面と前記基準面を有する面とが交わる交線と平行な直線を回転軸に、前記配置面が前記基準面と平行となるまで前記配置モデルを回転させる第１の回転手段と、前記基準面と平行な前記配置面の辺と平行な直線を回転軸に、前記配置面が前記基準面と対面するまで前記配置モデルを回転させる第２の回転手段とを有することを特徴とする。
【００１７】
請求項９記載の発明は、請求項１から８のいずれか１項記載の立体図形配置入力装置において、世界座標系において前記配置モデルをオフセットするオフセット手段を有することを特徴とする。
【００１８】
請求項１０記載の発明は、請求項９記載の立体図形配置入力装置において、前記配置手段又は前記オフセット手段によって世界座標系における前記配置モデルの位置が変更されたとき、前記配置モデルのローカル座標を算出し、前記立体配置データ記憶手段によって記憶された前記配置モデルのローカル座標を更新することを特徴とする。
【発明の効果】
【００１９】
本発明は、向かい合わせる配置面と基準面とがユーザから指示されると、配置面及び基準面のローカル座標を算出し、ＣＰＵは世界座標系における各モデルの位置に基づいて、配置面が基準面と向かい合い、且つ平行あるか否かを判断し、配置面と基準面とが向かい合っているが平行でない場合は配置面を含む平面と基準面を含む平面が交差する線を回転軸に、配置面と基準面とが平行かつ配置面と基準面とが向かい合うまで配置モデルを回転させることにより、ユーザが予め配置モデルの回転角度等を入力しなくても配置モデルの位置を変更できる。
【発明を実施するための最良の形態】
【００２０】
図１は、本実施形態に係る立体図形配置入力装置の構成を示すブロック図である。本実施形態に係るコンピュータグラフィックシステムは、ＣＰＵ１、バス２、メモリ３、外部記憶装置４、入力装置５、画面上位置入力装置６、表示装置７を有するコンピュータ、及びその上で実行するプログラムによって実現できる。
【００２１】
該プログラムは、メモリ３に記憶され、ＣＰＵ１がメモリ３に記憶されたプログラムを実行することにより、本システムは実行される。さらに、本システム実行中のデータは、メモリ３に記憶され、データとして保存する場合は、外部記憶装置４に保存される。入力装置５としては、キーボード、画面上位置入力装置６としてはマウス又はタブレットを用いる。マウス又はタブレットは画面上の一点を指示入力するためのものであり、移動操作によって画面上の指示位置（カーソルを表示）を動かすことができるほか、ボタン操作によって入力確定を行うことができる。
【００２２】
本実施形態の立体図形配置入力装置は、３次元空間における立体配置を確定し、それを表示する装置である。まず、本実施形態の立体図形配置入力装置において使用する立体を定義するデータについて説明する。
【００２３】
図２は、本実施形態において使用されるデータを説明する図である。図に示すように、使用されるデータは、立体配置データ、及び立体詳細形状データである。これらのデータは、メモリ３に記憶されており、ＣＰＵ１は必要に応じて該データを読み出し、立体図形配置入力装置全体を制御する。
【００２４】
立体配置データは、ローカル座標系を世界座標系に変換する座標変換行列とその変換におけるローカル座標系のＸ方向、Ｙ方向、Ｚ方向の倍率を含む。立体詳細形状データは、立体詳細形状定義座標系におけるＸ、Ｙ、Ｚの最大値と最小値である立体の最大外形寸法と、詳細形状データを含む。画面指示位置データ、表示パラメータ、基準面位置データ、ローカル座標系方向データはそれぞれ１つずつである。
【００２５】
３次元空間は、一つの基準となる３次元直交座標系を用いて定義される。この座標系を世界座標系と呼ぶ。ローカル座標系は、ＣＧにおいて、モデルを作成する際に用いる座標系であり、個々のモデルやライト、カメラに対して一つずつ存在する。３次元空間における立体の配置は、立体詳細形状データと立体配置データを用いて定義される。立体詳細形状データは、立体を定義する座標系（立体詳細形状定義座標系）において、立体の形状を詳細に定義したものであり、例えば立体が多面体である場合は、その全頂点の座標、各面を構成する頂点のリスト、その他立体の定義に必要な情報を含む。立体詳細形状定義座標系における立体詳細形状データは、配置される前にローカル座標系のデータに変換される。
【００２６】
一方、立体配置データは、ローカル座標系において詳細形状を定義された立体の、世界座標系における配置および大きさ（縮尺）を定義するデータである。すなわち、ローカル座標系から世界座標系への座標変換のための行列を含む。（実際には、単一の座標変換行列ではなく、回転、縮尺等の変換を別々に表現する場合もある。）
【００２７】
次に、画面上での操作に応じ、立体が有する平面（以下、配置面とする）を他の立体が有する平面（以下、基準面とする）に平行な面に含まれるように、配置モデルを移動する処理について図３を用いて説明する。
【００２８】
図３（ａ）から（ｃ）は、配置モデルを移動する前の初期状態を示す図である。図３（ｄ）から（ｆ）は、配置モデルを移動させた後の状態を示す図である。
【００２９】
以下に、基準面と配置面とが対面し、かつ平行となるように配置モデルを配置する処理について図４を用いて説明する。なお、本処理は、ユーザが任意に外部記憶装置４から基準モデルと配置モデルとを選択し、両者を画面に表示して行われる。
【００３０】
まず、ユーザは、マウスカーソルを配置モデルの配置面の設定を指示（マウスボタンをクリック）すると（ステップＳ４０１）、ＣＰＵ１はメモリ３から配置モデルの立体配置データ及び立体詳細形状データを読み出し、該データから世界座標系における配置モデルの位置を算出する（ステップＳ４０２）。次に、基準モデルの基準面の設定が指示されると（ステップＳ４０３）、ＣＰＵ１は、メモリ３から基準モデルの立体配置データ及び立体詳細形状データを読み出し、該データから世界座標系における基準モデルの位置を算出する（ステップＳ４０４）。配置モデル及び基準モデルの位置が算出されると、ＣＰＵ１は各面の世界座標系における位置に基づいて、配置面が基準面と対面し、且つ平行あるか否かを判断する（ステップＳ４０５）。配置面と基準面とが対面しているが平行でない場合は（ステップＳ４０５／ＮＯ）、配置面を含む平面と基準面を含む平面が交差する線を回転軸に、配置面と基準面とが平行かつ配置面と基準面とが対面するまで配置モデルを回転させる（ステップＳ４０６）。配置面と基準面とが平行であるが、対面していない場合は、（ステップＳ４０５）、配置モデルが有する基準モデルと平行するいずれかの辺を回転軸に、配置面と基準面とが向かい合うまで回転させる（ステップＳ４０６）。
【００３１】
そして、配置面と基準面との平行関係を維持しつつ、基準面を含む平面まで配置モデルをオフセットさせる（ステップＳ４０７）。次に、世界座標系において配置モデルをオフセットした後の配置モデルのローカル座標を算出し、メモリ３の立体配置データを更新する（ステップＳ４０８）。
【００３２】
一方、配置面と基準面とが対面し、かつ平行である場合は（ステップＳ４０５／ＹＥＳ）、配置面と基準面との平行関係を維持しつつ、基準面を含む平面まで配置モデルをオフセットさせる（ステップＳ４０７）。次に、世界座標系において配置モデルをオフセットした後の配置モデルのローカル座標を算出し、メモリ３の立体配置データを更新する（ステップＳ４０８）。
【００３３】
図５（ａ）から（ｃ）は、配置モデルを移動する前の初期状態を示す図である。図５（ｄ）から（ｆ）は、配置モデルを移動させた後の状態を示す図である。
【００３４】
以下に、基準面と配置面とが同方向を向き、かつ平行になるように配置モデルを配置する処理について図６を用いて説明する。なお、本処理は、ユーザが任意に外部記憶装置４から基準モデルと配置モデルとを選択し、両者を画面に表示して行われる。
【００３５】
まず、ユーザは、マウスカーソルを配置モデルの配置面の設定を指示（マウスボタンをクリック）すると（ステップＳ６０１）、ＣＰＵ１はメモリ３から配置モデルの立体配置データ及び立体詳細形状データを読み出し、該データから世界座標系における配置モデルの位置を算出する（ステップＳ６０２）。次に、基準モデルの基準面の設定が指示されると（ステップＳ６０３）、ＣＰＵ１は、メモリ３から基準モデルの立体配置データ及び立体詳細形状データを読み出し、該データから世界座標系における基準モデルの位置を算出する（ステップＳ６０４）。配置モデル及び基準モデルの位置が算出されると、ＣＰＵ１は各面の世界座標系における位置に基づいて、配置面が基準面と同方向を向き、且つ平行あるか否かを判断する（ステップＳ６０５）。配置面と基準面とが同方向を向いているが平行でない場合は（ステップＳ６０５／ＮＯ）、配置面を含む平面と基準面を含む平面が交差する線を回転軸に、配置面と基準面とが平行かつ配置面と基準面とが同方向を向くまで配置モデルを回転させる（ステップＳ６０６）。配置面と基準面とが平行だが、同方向を向いていない場合は、（ステップＳ６０５）、配置モデルが有する基準モデルと平行するいずれかの辺を回転軸に、配置面と基準面とが同方向を向くまで回転させる（ステップＳ６０６）。
【００３６】
そして、配置面と基準面との平行関係を維持しつつ、基準面を含む平面まで配置モデルをオフセットさせる（ステップＳ６０７）。次に、世界座標系において配置モデルをオフセットした後の配置モデルのローカル座標を算出し、メモリ３の立体配置データを更新する（ステップＳ６０８）。
【００３７】
一方、配置面と基準面とが同方向を向き、かつ平行である場合は（ステップＳ６０５／ＹＥＳ）、配置面と基準面との平行関係を維持しつつ、基準面を含む平面まで配置モデルをオフセットさせる（ステップＳ６０７）。次に、世界座標系において配置モデルをオフセットした後の配置モデルのローカル座標を算出し、メモリ３の立体配置データを更新する（ステップＳ６０８）。
【図面の簡単な説明】
【００３８】
【図１】本実施形態に係る立体図形配置入力装置の構成を示すブロック図である。
【図２】本実施形態において使用されるデータを説明する図である。
【図３】（ａ）から（ｃ）は、配置モデルを移動する前の初期状態を示す図である。（ｄ）から（ｆ）は、配置モデルを移動させた後の状態を示す図である。
【図４】配置モデルの位置を移動する処理のフローチャートである。
【図５】（ａ）から（ｃ）は、配置モデルを移動する前の初期状態を示す図である。（ｄ）から（ｆ）は、配置モデルを移動させた後の状態を示す図である。
【図６】配置モデルの位置を移動する処理のフローチャートである。
【符号の説明】
【００３９】
１    ＣＰＵ
２    バス
３    メモリ
４    外部記憶装置
６    画面位置入力装置
７    表示装置
【図１】
2006134251.tif 000003
【図２】
2006134251.tif 000004
【図３】
2006134251.tif 000005
【図４】
2006134251.tif 000006
【図５】
2006134251.tif 000007
【図６】
2006134251.tif 000008