(57)【特許請求の範囲】
【請求項１】
キーボードやマウスを入力手段とし、コンピュータを使用して３次元自由曲面及び３次元自由曲線の３次元座標を入力する方法において、
３次元空間座標の入力基準となるロケート座標を設定するステップと、
マウス又はメニューなどの手段を用いてモードをロケート平面投影モードかロケート法線投影モードかを選択して画面上の点の投影方法を決定するステップと、
視点と画面上の点の座標から３次元空間上の直線を決定するステップと、ロケート平面に平行で現在のロケート座標を通る平面を決定するステップと、前記直線と前記平面との干渉点を決定するステップとを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の水平方向に対する座標値を入力するステップと、画面上の点の座標を通って画面に水平な３次元空間上の直線を決定するステップと、該直線と視点とを通る平面を決定するステップと、該平面と現在のロケ−ト座標を通りロケート平面の法線方向へ伸びる直線との干渉点を決定するステップとを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の法線方向に対する座標値を入力するステップとを有し、いずれかの入力ステップで入力した座標値を合わせて表示することにより３次元空間上の位置を想像しながら入力するようにした画面上の点の座標から３次元空間上の点の座標値に投影するステップと、
前記画面上の点の投影された座標値を新しいロケート座標とするステップとからなることを特徴とする３次元座標入力方法。
【請求項２】
キーボードやマウスを入力手段とし、コンピュータを使用して３次元自由曲面及び３次元自由曲線の３次元座標を入力する装置において、
３次元空間座標の入力基準となるロケート座標を設定する手段と、
マウス又はメニューなどの手段を用いてモードをロケート平面投影モードかロケート法線投影モードかを選択して画面上の点の投影方法を決定する手段と、
視点と画面上の点の座標から３次元空間上の直線を決定する手段と、ロケート平面に平行で現在のロケート座標を通る平面を決定する手段と、前記直線と前記平面との干渉点を決定する手段とを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の水平方向に対する座標値を入力する手段と、画面上の点の座標を通って画面に水平な３次元空間上の直線を決定する手段と、該直線と視点とを通る平面を決定する手段と、該平面と現在のロケ−ト座標を通りロケート平面の法線方向へ伸びる直線との干渉点を決定する手段とを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の法線方向に対する座標値を入力する手段とを有し、いずれかの入力ステップで入力した座標値を合わせて表示することにより３次元空間上の位置を想像しながら入力するようにした画面上の点の座標から３次元空間上の点の座標値に投影する手段と、
前記画面上の点の投影された座標値を新しいロケート座標とする手段とからなることを特徴とする３次元座標入力装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、３次元座標を入力する方法及びその装置に関し、特にＣＡＤ／ＣＡＭを用いた３次元自由曲面及び３次元自由曲線の座標データの入力方法及びその装置に関する。
【０００２】
【従来の技術】
従来は次ぎのような方法で３次元データを入力していた。
１．三面図等の別々の角度からみたビューを複数表示し、それぞれのビューに対応する平面とその平面上の点を指定するポインティング装置により入力を行う。この場合には、利用者が三面図上で空間位置を認識できるように習熟していなければならない。
又、３次元座標の入力は３次元ＣＡＤシステムなどで必要になるため、すでに入力済みの３次元形状やこれから入力する３次元座標により予想される要素の形状を表示することで利用者が確認しながら、新たに必要な３次元形状のための３次元座標を入力していたため、透視図に比べて３次元形状を想像しにくく、このような三面図での入力方法ではかなりの習熟が必要となっている。
【０００３】
２．３次元空間に平面を定め画面上のマウスカーソル位置での２次元座標値をその平面上にマッピングすることで３次元空間座標を入力する。
この場合には、この予め定められた平面上の座標しか入力できないので、任意の３次元空間座標を入力するためには、平面を必要に応じて変更する必要がある。
又、画面と対応する３次元空間の平面の領域の関係が固定されているので、画面上でマウスを動かしてできる最大の長方形(画面の上下左右の縁)とそれに対応する３次元空間の平面上の長方形は１対１に対応しており、利用者が意識的にその関係をスケール調整などで変更しないかぎりその領域の大きさは変わらない。
例えば、平面から視点を遠ざけると、相対的に画面上で３次元空間の平面の領域は小さくなり、画面いっぱいにマウスカーソルを動かしても、最初に定義した平面上の領域の範囲でしか動かず、３次元空間上の動きは変わらないので、画面上での動きは非常な小さな長方形の範囲になり、不自然な感じになってしまっている。
逆に、平面に視点を近づけると、相対的に画面上で３次元空間の平面の領域は大きくなり、画面からはみ出してしまい、３次元空間の平面上の点を入力はできるが、画面外の点であるという不自然な状況になっている。
このように従来の方法では、視点と平面の位置関係に応じて利用者が適当にスケール調整した上で座標を入力する必要がある。
【０００４】
３．３次元空間に線分又は直線を定め、画面上の横方向又は縦方向などの直線と対応づけることによって３次元空間座標を入力する場合には、視線方向、距離、スケールなどのビュー関連のパラメータが変化したとき、それに応じてマウスカーソルの移動範囲を画面内で適度な量に収まるように調整する必要がある。
この場合には、直線上の座標しか入力できないため、任意の３次元空間座標を入力するためには、直線を必要に応じて変更する必要がある。
又、画面の線分と対応する３次元空間の線分の関係が固定されているので、画面上で最大にマウスを動かしてできる線分とそれに対応する３次元空間の線分は１対１に対応しており、利用者が意識的にその関係をスケール調整などで変更しないかぎり変わらない。
例えば、３次元空間の線分から視点を遠ざけると、画面上で３次元空間の線分の長さは相対的に短くなり、画面いっぱいにマウスカーソルを動かしても、最初に定義した３次元空間の線分の範囲でしか動かず、３次元空間上の動きは変わらないので、画面上での動きは非常に短い線分の範囲になり、不自然な感じになってしまっている。
逆に、線分に視点を近づけると、画面上で３次元空間の線分が相対的に長くなり、画面を越えてしまうこともあり、３次元空間の線分上の点を入力はできるが、画面外の点であるという不自然な状況になっている。
このように従来の方法では、視点と線分の位置関係に応じて利用者が適当にスケール調整した上で座標を入力する必要がある。
【０００５】
【発明が解決しようとする課題】
本発明の目的は、以上のような従来の課題を解決するため、ＣＡＤ／ＣＡＭを用いた３次元自由曲面及び３次元自由曲線等の３次元座標を入力するための感覚的にわかりやすい方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
請求項１の発明では、キーボードやマウスを入力手段とし、コンピュータを使用して３次元自由曲面及び３次元自由曲線の３次元座標を入力する方法において、
３次元空間座標の入力基準となるロケート座標を設定するステップと、
マウス又はメニューなどの手段を用いてモードをロケート平面投影モードかロケート法線投影モードかを選択して画面上の点の投影方法を決定するステップと、
視点と画面上の点の座標から３次元空間上の直線を決定するステップと、ロケート平面に平行で現在のロケート座標を通る平面を決定するステップと、前記直線と前記平面との干渉点を決定するステップとを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の水平方向に対する座標値を入力するステップと、画面上の点の座標を通って画面に水平な３次元空間上の直線を決定するステップと、該直線と視点とを通る平面を決定するステップと、該平面と現在のロケ−ト座標を通りロケート平面の法線方向へ伸びる直線との干渉点を決定するステップとを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の法線方向に対する座標値を入力するステップとを有し、いずれかの入力ステップで入力した座標値を合わせて表示することにより３次元空間上の位置を想像しながら入力するようにした画面上の点の座標から３次元空間上の点の座標値に投影するステップと、
前記画面上の点の投影された座標値を新しいロケート座標とするステップとから構成し、３次元座標を感覚的にわかり易く入力できるようにした。
請求項２の発明では、キーボードやマウスを入力手段とし、コンピュータを使用して３次元自由曲面及び３次元自由曲線の３次元座標を入力する装置において、
３次元空間座標の入力基準となるロケート座標を設定する手段と、
マウス又はメニューなどの手段を用いてモードをロケート平面投影モードかロケート法線投影モードかを選択して画面上の点の投影方法を決定する手段と、
視点と画面上の点の座標から３次元空間上の直線を決定する手段と、ロケート平面に平行で現在のロケート座標を通る平面を決定する手段と、前記直線と前記平面との干渉点を決定する手段とを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の水平方向に対する座標値を入力する手段と、画面上の点の座標を通って画面に水平な３次元空間上の直線を決定する手段と、該直線と視点とを通る平面を決定する手段と、該平面と現在のロケ−ト座標を通りロケート平面の法線方向へ伸びる直線との干渉点を決定する手段とを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の法線方向に対する座標値を入力する手段とを有し、いずれかの入力ステップで入力した座標値を合わせて表示することにより３次元空間上の位置を想像しながら入力するようにした画面上の点の座標から３次元空間上の点の座標値に投影する手段と、
前記画面上の点の投影された座標値を新しいロケート座標とする手段とからなることを特徴とする。
【００１０】
【作用】
本発明は、まず３次元空間座標の入力基準となるロケート座標を設定する。
次ぎに、画面上の点の投影方法をロケート平面の水平または法線のいずれかの方向に決定する。
（１）投影方法をロケート平面の水平方向とした場合
視点と画面上の点の座標から３次元空間上の直線を決定し、ロケート平面に平行で現在のロケート座標を通る平面を決定し、その直線とその平面との干渉点を決める。
（２）投影方法をロケート平面の法線方向とした場合
画面上の点の座標を通って画面に水平な３次元空間上の直線と、その直線と視点とを通る平面を決定し、その平面と現在のロケート座標の法線方向への延長直線との干渉点を決定める。
ここで決定された干渉点を、入力要求のあった新しいロケート座標とするようにする。このような２つの投影方法によって入力した座標値を表示し、要求する座標値が得られるまで投影方法を変えながら座標点を求めていく。
このようにロケート平面の水平方向と垂直方向との２つの投影方法で求められたロケート座標値を表示するので、３次元空間上の位置を想像し易く、感覚的にわかりやすい透視図のままで入力することができる。
又、視線方向、距離、スケールなどビュー関連のパラメータが変化しても画面上のパラメータのスケール調整をする必要もない。
【００１１】
【実施例】
次ぎのような前提に基づいて、本発明の３次元座標入力方法を説明する。
１．視点及び投影面
視点や投影面は、一般的なＣＡＤシステムでは予め設定しているので、本発明でも予め決まっているものとし、必要に応じてその設定を変更することもできる。
２．ロケート平面
本発明の３次元座標入力方法を実施する上で基準となる平面である。
本発明は希望の３次元座標値を得るために画面上で位置を確認しながら位置補正を繰り返し加えるが、その位置補正を行う際にロケート平面に水平な方向の移動と垂直な方向の移動の２方向を利用者は会話的に選択することができる。
３．ロケート座標
本発明の３次元座標入力方法を実施する上で基準となる座標値である。
本発明は希望の３次元座標値を得るために画面上で位置を確認しながら位置補正を繰り返し加えるが、その位置補正を行った結果の座標値をロケート座標として格納しておき、次回の位置補正の際に移動の基点の座標として用いる。
本発明の３次元座標入力方法を実施する前に、ロケート平面及びロケート座標の初期値はロケート平面上の値の範囲であらかじめ決定しておくものとする。
【００１２】
本発明の一実施例を図に基づいて詳細に説明する。図１は本発明の３次元座標入力方法を説明するフローチャートである。又、図６乃至図８は本発明を用いて直方体の形状を入力する場合の例を示しており、直方体の底面の中心の座標値が(0,0,0)で決定されている場合に上面の頂点の座標を本発明により入力するときの操作を説明するための図である。
【００１３】
ステップ１００：
予め決定しておいたロケート平面上のロケート座標の初期値を登録し、モード（投影方法）の初期値をロケート平面投影モードに設定する。
例えば、図６では点Ｍは画面上のマウスカーソルを表わしており、３次元空間上ではロケート座標に対応している。ここではロケート平面がＸＹ平面で、ロケート座標の初期値(0,0,0)である場合の画面例である。
又、図６の右下にＸ座標値、Ｙ座標値及び高さ（Ｈ）を表示することによって、現在の座標入力操作が数値的にも確認できるようにしている。以下の図７及び図８も同様である。
ステップ１１０：
利用者は投影モードを変更したい場合には、マウス又はメニューなどの手段を用いて、モードをロケート平面投影モードかロケート法線投影モードかを選択する。
ステップ１２０：
利用者がマウスを用いて画面上の座標を入力する。
マウスカーソルを動かすことにより、図７や図８に例示したように点Ｍが動くとともに入力形状及び入力座標値が画面に表示されていく。
ここで画面上の座標はどんなものであっても良いが、ここでは一般的なデバイス座標系
原点:      画面左上隅
Ｘ軸:      画面左上隅から画面右方向
Ｙ軸:      画面左上隅から画面下方向
を使うことにする。
ステップ１３０：
画面上の座標を指定された投影モードによって、３次元空間上の座標（干渉点  (点Ｅ)）に変換する。（この変換方法は後述する。）
ステップ１４０：
ステップ１３０で求めた干渉点(点Ｅ)を新しいロケート座標として記憶する。
ステップ１５０：
ロケート座標が希望の座標が得られたとき終了する。又、希望の座標値が得られなければ、ステップ１１０に戻って希望の座標が得られるまで繰り返す。
【００１４】
１．ロケート平面投影モード
ロケート平面投影モードはロケート平面に水平な方向の位置補正を行うものであり、次の手順で画面上の座標から３次元空間上の座標へ変換を行う。
ロケート平面投影モードにおける座標変換を図２のフローチャートおよび図４に基づいて説明する。
【００１５】
ステップ２００：
画面上の座標に対応する３次元空間上の点（点Ｇ）と視点（点Ａ）を結ぶ３次元空間上の直線（線ＡＧ）を求める。
画面上の座標に対応する３次元空間上の座標（点Ｇ）を求めるには、画面に対応する投影面（面Ｆ）上の座標を求めればよい。
この投影面における座標値は、例えば文献「入門グラフィックス（１９８４年アスキー出版局発行、１２７−１３３ページ」の方法で得ることができる。
ステップ２１０：
ロケート平面（面Ｄ）に平行で現在のロケート座標（点Ｂ）を通る平面（面Ｃ）を求める。
ステップ２２０：
直線ＡＧと面Ｃの干渉点（点Ｅ）を求める。
例えば、図７はロケート平面投影モードでマウスカーソルを点Ｍへ動かしたときの３次元座標値の入力しているところを示した画面例である。
即ち、画面上のマウスカーソルを示す点Ｍは、図６で設定されたロケート座標  (0,0,0) を通り、ロケート平面に平行な平面（この場合はロケート平面そのもの）上の点(10,10,0) に投影されている。これで直方体の底面の形状を決定できた。
【００１６】
２．ロケート法線投影モード
ロケート法線投影モードは、ロケート平面に垂直な方向の位置補正を行うものであり、次の手順で画面上の座標から３次元空間上の座標へ変換を行う。
ロケート法線投影モードにおける座標変換を図３のフローチャートおよび図５に基づいて説明する。
【００１７】
ステップ３００：
画面上の座標を通る画面（ここでは投影面(面Ｆ)と一致する）に対して水平方向の線（例えば、デバイス座標系のＸ軸に平行な線）を決定し、その線に対応する３次元空間上の直線（線Ｇ）を求める。
ステップ３１０：
線Ｇと視点（点Ａ）により決定される平面（面Ｃ）を求める。
ステップ３２０：
現在のロケート座標（点Ｂ）からロケート平面（面Ｄ）に下した垂線と面Ｃとの干渉点（点Ｅ）を求める。又、現在のロケート座標がロケート平面上にある場合には、このままでは直線が求められないので、ロケート座標を通りロケート平面の法線ベクトルの方向に伸びる直線と面Ｃとの干渉点（点Ｅ）を求めるようにする。
例えば、図８は図７のマウスカーソルをロケート垂線投影モードで点Ｍを上方へ動かしたときの３次元座標を入力しているところを示した画面例である。
即ち、画面上のマウスカーソルを示す点Ｍは、図７で設定されたロケート座標  (10,10,0) を通り、ロケート平面の法線ベクトル方向にのびる直線上の点  (10,10,10)に投影されている。これで直方体の高さを決定できた。
【００１８】
以上説明したように従来技術では
・３次元空間に平面を定め画面上のマウスカーソルを平面上にマッピングすることで３次元空間座標を入力する場合には、平面上の座標しか入力できない。
・任意の３次元空間座標を入力するためには、平面を必要に応じて変更する必要がある。
このように平面を変更するには、座標の成分（Ｘ，Ｙ，Ｚ）のいずれかを決める必要があるが、利用者が形状を表示し、確認しながら試行錯誤を繰り返して入力するので、具体的な数字でいくらとは決めにくい。
・平面を新しくしても、前回の平面での座標値を参照し利用できなければ、新しい平面上で一から調整する必要がある。
という欠点があったが、本発明の実施例によると、
・ロケート平面投影モードでＸ座標，Ｙ座標を、ロケート法線投影モードでＺ座標をカバーしており、いずれも繰り返し微妙に調整することが可能となる。
・前回の座標値をロケート座標として保存できるので、それからの修正という感覚で入力できるので、微妙な調整が可能となる。
という効果が発揮される。
【００１９】
【発明の効果】
以上の説明から明らかなように、請求項１に記載された発明によると、キーボードやマウスを入力手段とし、コンピュータを使用して３次元自由曲面及び３次元自由曲線の３次元座標を入力する方法において、
３次元空間座標の入力基準となるロケート座標を設定するステップと、
マウス又はメニューなどの手段を用いてモードをロケート平面投影モードかロケート法線投影モードかを選択して画面上の点の投影方法を決定するステップと、
視点と画面上の点の座標から３次元空間上の直線を決定するステップと、ロケート平面に平行で現在のロケート座標を通る平面を決定するステップと、前記直線と前記平面との干渉点を決定するステップとを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の水平方向に対する座標値を入力するステップと、画面上の点の座標を通って画面に水平な３次元空間上の直線を決定するステップと、該直線と視点とを通る平面を決定するステップと、該平面と現在のロケ−ト座標を通りロケート平面の法線方向へ伸びる直線との干渉点を決定するステップとを備え、該干渉点を３次元空間上の座標値とするようにしたロケート平面の法線方向に対する座標値を入力するステップとを有し、いずれかの入力ステップで入力した座標値を合わせて表示することにより３次元空間上の位置を想像しながら入力するようにした画面上の点の座標から３次元空間上の点の座標値に投影するステップと、
前記画面上の点の投影された座標値を新しいロケート座標とするステップとから構成したことにより、３次元座標の入力を三面図等の空間位置を想像するのに習熟を要せず、感覚的にわかりやすい透視図のままで入力できる。
【図面の簡単な説明】
【図１】  本発明の１実施例を表すフローチャートである。
【図２】  本発明の請求項３記載のロケート平面投影モードを示すフローチャートである。
【図３】  本発明の請求項４記載のロケート法線投影モードを示すフローチャートである。
【図４】  本発明の請求項３記載のロケート平面投影モードを説明するための図である。
【図５】  本発明の請求項４記載のロケート法線投影モードを説明するための図である。
【図６】  本発明の１実施例を説明するための３次元座標入力の初期状態を示す図である。
【図７】  本発明の１実施例を説明するためのロケート平面投影モードでの３次元座標入力を示す図である。
【図８】  本発明の１実施例を説明するためのロケート法線投影モードでの３次元座標入力を示す図である。
【符号の説明】
Ａ  ……  視点、Ｂ  ……  現在のロケート座標、
Ｄ  ……  ロケート平面、Ｅ  ……  干渉点、Ｆ  ……  投影面、
Ｍ  ……  マウスカーソルの示す点。
【図１】
0003676399.tif 000002
【図２】
0003676399.tif 000003
【図３】
0003676399.tif 000004
【図４】
0003676399.tif 000005
【図５】
0003676399.tif 000006
【図６】
0003676399.tif 000007
【図７】
0003676399.tif 000008
【図８】
0003676399.tif 000009