JP2004094751A - 3次元空間内の座標系定義方法、プログラム、及び記憶媒体 - Google Patents
3次元空間内の座標系定義方法、プログラム、及び記憶媒体 Download PDFInfo
- Publication number
- JP2004094751A JP2004094751A JP2002257058A JP2002257058A JP2004094751A JP 2004094751 A JP2004094751 A JP 2004094751A JP 2002257058 A JP2002257058 A JP 2002257058A JP 2002257058 A JP2002257058 A JP 2002257058A JP 2004094751 A JP2004094751 A JP 2004094751A
- Authority
- JP
- Japan
- Prior art keywords
- coordinate system
- parameter
- defining
- program
- importance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】3次元空間内の座標系を定義するパラメータを直感的且つすばやく、且つ正確に指定することができる座標系定義方法を提供する。
【解決手段】3次元座標系を3次元空間内に定義する座標系定義方法において、定義される座標系を決定するためのパラメータ指定の際、表示された3次元形状モデルのなかから、利用者に1番目の頂点P1をポインティング装置により入力させ(S1)、この結果得られたP1の座標値を、定義する座標系の原点とし(S2)、次に、2番目の頂点P2を入力させ(S3)、前記原点から点P2までの方向V1を、定義する座標系のX軸方向とし(S4)、さらに、3番目の頂点P3を入力させ(S5)、前記原点から点P3までの方向V2を、定義する座標系のZ軸方向とし(S6)、V1とV2との外積をY軸方向とする構成にした。
【選択図】 図2
【解決手段】3次元座標系を3次元空間内に定義する座標系定義方法において、定義される座標系を決定するためのパラメータ指定の際、表示された3次元形状モデルのなかから、利用者に1番目の頂点P1をポインティング装置により入力させ(S1)、この結果得られたP1の座標値を、定義する座標系の原点とし(S2)、次に、2番目の頂点P2を入力させ(S3)、前記原点から点P2までの方向V1を、定義する座標系のX軸方向とし(S4)、さらに、3番目の頂点P3を入力させ(S5)、前記原点から点P3までの方向V2を、定義する座標系のZ軸方向とし(S6)、V1とV2との外積をY軸方向とする構成にした。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、CAD装置など専用の3次元形状処理装置やパーソナルコンピュータなど汎用の情報処理装置において実施される、3次元空間内の座標系定義方法に係わり、特に、画面を用いてインタラクティブに定義することができる座標系定義方法に関する。
【0002】
【従来の技術】
グラフィクス表示装置とコンピュータとを用いたCAD/CAM装置など3次元形状処理装置では、従来より、画面を用いて3次元形状を生成したり、生成されている3次元形状を変形させたり、様々な検証をおこなったりしている。
そのような画面を用いた操作時に、3次元形状処理システムでは、3次元空間内の仮想的な平面(ここでは作業平面と呼ぶ)を用いて作業をすることがある。そのような場合、利用者は例えばX軸およびY軸を含む平面として定義される作業平面を定義する変換マトリックスのパラメータを何らかの手段で入力しなければならない。
しかしながら、従来、直感的且つすばやくそのパラメータを指定する方法はなかった。例えば、表示されている3次元形状モデルの座標系とは異なる新たな座標系を定義したい場合、表示されているその3次元形状モデルの座標系を表示させ、マウスなどポインティング装置によりその座標系の原点の位置をドラッグして移動させたり、座標軸をドラッグして回転させたりして座標系を定義するというような方法では、正確な定義が不可能であるので、従来は、原点、X軸方向、Y軸方向などパラメータをキーボードを用いて数字で入力せざるを得なかったのである。
【0003】
【発明が解決しようとする課題】
前記したように、従来技術においては、3次元空間内の座標系を正確に定義したい場合、直感的且つすばやくそのパラメータを指定することができなかった。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、3次元空間内の座標系を定義するパラメータを直感的且つすばやく、且つ正確に指定することができる座標系定義方法を提供することにある。
【0004】
【課題を解決するための手段】
前記の課題を解決するために、請求項1記載の発明では、3次元座標系を3次元空間内に定義する座標系定義方法において、定義される座標系の二つの軸を含む平面として表わされる作業平面を決定するパラメータを指定させる際、表示された既存の要素のなかから前記パラメータ指定の基準として用いる要素を指定させる構成にしたことを特徴とする。
また、請求項2記載の発明では、請求項1記載の発明において、原点座標および二つの軸方向を指示して作業平面を決定する場合、既存の要素として、原点となる頂点と、その頂点から前記二つの軸方向を指示するための他の二つの頂点とを指定させる構成にしたことを特徴とする。
また、請求項3記載の発明では、請求項2記載の発明において、二つの軸をX軸およびY軸としたことを特徴とする。
また、請求項4記載の発明では、請求項1、請求項2、または請求項3記載の発明において、基準となるパラメータの重要度をあらかじめ決めておき、指定された前記要素によって作業平面を決定するパラメータが正確に求まらない場合、重要度の低いパラメータを重要度の高いパラメータによって変更する構成にしたことを特徴とする。
また、請求項5記載の発明では、請求項4記載の発明において、重要度の低いパラメータを重要度の高いパラメータによって変更する際、試行錯誤による再変更を可能にしたことを特徴とする。
また、請求項6記載の発明では、請求項1乃至請求項5のいずれか1項に記載の発明において、前記要素を基準として指定させる際、ポインティング装置を用いて指定させる構成にしたことを特徴とする。
また、請求項7記載の発明では、情報処理装置上で実行されるプログラムにおいて、請求項1乃至請求項6のいずれか1項に記載の座標系定義方法によった座標系定義を実行させるようにプログラミングされている構成にしたことを特徴とする。
また、請求項8記載の発明では、プログラムを記憶した記憶媒体において、請求項7記載のプログラムを記憶したことを特徴とする。
【0005】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図1は本発明が実施されるパーソナルコンピュータなど情報処理装置のハードウェア構成図である。図示したように、この情報処理装置は、プログラムに従って動作するCPU1、そのプログラムや各種データを一時的に記憶するメモリ(例えばRAM)2、前記プログラムや各種データを保存しておく外部記憶装置(例えばハードディスク記憶装置)3、データや指示を入力する入力装置であるキーボード4およびマウスなどポインティング装置5、3次元形状などを表示する表示装置6を備える。そして、前記プログラム(ソフトウェア)の一つとして、例えば3次元CADプログラムなど、3次元空間中に平面を定義する必要がある既存のプログラムを用い、そのユーザーインターフェースに以下の動作フローに説明するようなプログラムを組み込む。これにより、利用者にとって自然で使いやすいパラメータ入力による座標系定義機能を実現できる。
前記したような構成で、本発明の第1の実施例の情報処理装置では、画面上に表示する3次元の座標系を定義するに当たり、定義される座標系の二つの座標軸(例えばX軸とY軸)を含む平面として表わされる作業平面を決定するパラメータを指定させる際、表示されている3次元形状モデル中の既存の要素を基準として指定させる。なお、以下においては、マウスなどポインティング装置を用いて画面上で頂点などの位置を指示することをピックと呼ぶ。
まず、3点を指示することにより前記作業平面を指定する場合について、その3点を結ぶ直線のうちの2直線が直交している例を図2に示した動作フロー図および図3に示した説明図などにより説明する。なお、この例では、最も単純なケースとして、座標系を決定するのに適当な要素として、既に直方体が存在している(表示されている)ものとしている。画面上でその直方体の頂点をピックし、その座標情報などを用いて作業平面を定義するのである。
【0006】
この場合、まず、プログラムに従って(以下、同様)CPU1が利用者に原点とする頂点の入力を促す(S1)。そして、利用者がP1(図3(a)参照)をピックすると、CPU1はこの結果得られた座標値P1(x1,y1,z1)を、定義する作業平面の原点とする(S2)(図3(a)参照)。
次に、CPU1は利用者に2番目の頂点の入力を促す(S3)。そして、利用者のピックにより入力された直方体上の他の点P2(x2,y2,z2)の座標情報を取得すると、先に入力してあった原点から点P2までの方向V1(x2−x1,y2−y1,z2−z1)を、定義する作業平面のX軸方向とする(S4)(図3(b)参照)。
最後に、利用者に3番目の点P3(x3,y3,z3)の入力を促す(S5)。そして、利用者のピックにより入力された点P3の座標情報を取得すると、先に入力してあった原点から点P3までの方向V2(x3−x1,y3−y1,z3−z1)を、定義する作業平面のZ軸方向、つまり法線方向とする(S6)(図3(c)参照)。
こうして、平面のパラメータが決定され、作業平面の定義が完了する(図4参照)。例えば、V1の成分を(V1x,V1y,V1z)、同様にV2の成分を(V2x,V2y,V2z)、また、V1とV2から求められる外積をV3(V3x,V3y,V3z)とし、これをY軸方向とした場合には、元の座標(そのとき表示されている3次元形状モデルが存在する3次元空間の座標)からこの平面を基準とした座標への4×4変換マトリックスは以下のように表現できる。
[V1x,V3x,V2x,0.0]
[V1y,V3y,V2y,0.0]
[V1z,V3z,V2z,0.0]
[−(P1x×V1x+P1y×V1y+P1z×V1z),−(P1x×V3x+P1y×V3y+P1z×V3z),−(P1x×V2x+P1y×V2y+P1z×V2z),1.0]
こうして、この実施例によれば、頂点など、表示された既存の要素を用いて作業平面の定義を簡単な操作でおこなうことができる。また、指示された各点は指し示された位置が不正確であっても、既存の頂点であるので、正確な座標値が得られる。
【0007】
本発明の第2の実施例では、基準となるパラメータの重要度をあらかじめ決めておき、指定された要素によって作業平面を決定するパラメータが正確に求まらない場合、重要度の低いパラメータを重要度の高いパラメータによって変更する。以下、そのような例として、3点を結ぶ直線のうちの2直線が直交していない一般的な場合について説明する。なお、この例では、P1(原点)とP2(X軸方向)が重要度の高いパラメータで、P3(Z軸方向)が重要度の低いパラメータである。
前記した第1の実施例では、指示された各点を結ぶ方向がそれぞれ直交しているので、そのままの情報で平面を定義することができるが、ここでは、直方体以外の要素を用いても平面を定義できるように、指示された点の座標値から作業平面を計算する方法を一般化する。
図5(a)に示した例のように、指示された3点を結ぶ線が直交しない場合には、指示されたX軸方向を固定し、指示されたZ軸方向をX軸方向と直交するように自動的に修正して(図5(b)参照)平面を定義できるパラメータを算出する。この場合、図6に示したような平面Fを作業平面として定義することを利用者が意図しているとする。図6に示した平面Fは、X軸を指示するために使われた点P1,P2(図5参照)で定義される稜線に接し、法線(Z軸方向)は以下で説明する方法に則って算出された方向である。
【0008】
図7はZ軸方向を算出する方法を示す説明図である。図7において、V1は利用者が指示した1点目P1、2点目P2から決められるX方向ベクトルであり、V2は前記1点目P1、3点目P3から決定できる仮のZ軸方向ベクトルである。これらの方向ベクトルは直交しているとは限らないので、このままでは平面の定義には不都合である。そこで、CPU1は、V2を、V1を基準にして直交するように修正する。つまり、V1とV2の外積V1×V2を生成し、この外積とV1との外積V3(V1×V2×V1)を求める。このとき、V3はV1に直交するようにV2を回転移動させた方向となる。このような方向のV3をZ軸方向として用いる。変換マトリックスは第1の実施例と同様である。外積V3の計算はV1の成分を(V1x,V1y,V1z)、V2の成分を(V2x,V2y,V2z)とした場合、以下の通りである。
V3x=V1y×V2z−V1z×V2y
V3y=V1z×V2x−V1x×V2z
V3z=V1x×V2y−V1y×V2x
こうして、平面を定義するためのパラメータとして適切な、それぞれ直交するV1,V2,V3が求まり、作業平面の定義が完了する。
このように、本発明の第2の実施例によれば、指示された要素によって作業平面を決定するパラメータが正確に求まらない場合でも、作業平面の定義を簡単な操作でおこなうことができる。
【0009】
なお、第2の実施例では、重要度の低いパラメータを重要度の高いパラメータによって変更する際、試行錯誤による再変更が可能である。図5に示した例では直方体を元にしているので、指定する頂点の位置関係がだいたい直角になるので、試行錯誤することはあまりないが、これが例えば不定形(いろいろな位置に頂点を有する形状)だったとすると、どの頂点とどの頂点を指定すれば直角に交わる座標軸の指示ができるかというのはすぐにはわからない。しかし、この実施例によれば、入力するパラメータは必ずしも直角に交わっている必要はないので、利用者が適当な頂点を入力していくことで(必ずしも直角に交わるような頂点をパラメータとして入力することなしに)座標系を決定できるし、もし、生成された座標系が気に入らなかったら、そのときの指定を取り消し、指定しなおすことができるのである。例えば、画面に「取り消し」というボタン(アイコン)を表示させ、マウスなどポインティング装置によりそのボタンが指示されたことを認識すると、CPU1はそのとき取得されている結果を破棄し、動作フローを例えばP1指定のステップに戻す。
以上、作業平面をX軸およびY軸を含む面とする場合で説明したが、作業平面はY軸とZ軸を含む面、またはZ軸とX軸を含む面でもよく、その場合も同様にして本発明によった3次元空間内の座標系定義をおこなうことができる。
また、以上説明したような本発明の座標系定義方法にしたがってプログラミングしたプログラムを着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によった座標系定義をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、そのような情報処理装置においても本発明によった座標系定義をおこなうことができる。
【0010】
【発明の効果】
以上説明したように、本発明によれば、請求項1記載の発明では、3次元座標系を3次元空間内に定義する際、定義される座標系の二つの軸を含む平面として表わされる作業平面を決定するパラメータを指定させる場合、表示された既存の要素のなかからパラメータ指定の基準として用いる要素が指定されるので、3次元空間内の座標系を定義するパラメータを直感的且つすばやく指定することができるし、指定位置が意図する要素から少しずれていてもその要素の座標値が指定位置となるため、位置を正確に指定することができる。
また、請求項2記載の発明では、請求項1記載の発明において、原点座標および二つの軸方向を指示して作業平面を決定する場合、既存の要素として、原点となる頂点と、その頂点から二つの軸方向を指示するための他の二つの頂点とを指定すればよいので、請求項1記載の発明と同様の効果を得ることができる。
また、請求項3記載の発明では、請求項2記載の発明において、二つの軸がX軸およびY軸であるので、作業平面がX軸およびY軸を含む一般的な平面の場合で請求項1記載の発明の効果を得ることができる。
また、請求項4記載の発明では、請求項1、請求項2、または請求項3記載の発明において、基準となるパラメータの重要度があらかじめ決めておかれ、指定された要素によって作業平面を決定するパラメータが正確に求まらない場合、重要度の低いパラメータが重要度の高いパラメータによって変更されるので、要素の指定が簡単になる。
また、請求項5記載の発明では、請求項4記載の発明において、重要度の低いパラメータを重要度の高いパラメータによって変更する際、試行錯誤による再変更が可能であるので、利用者の意図に反した座標系が設定されてしまうというような事態を避けることができる。
また、請求項6記載の発明では、請求項1乃至請求項5のいずれか1項に記載の発明において、要素を基準として指定させる際、ポインティング装置を用いて指定するので、操作がさらに容易になる。
また、請求項7記載の発明では、請求項1乃至請求項6のいずれか1項に記載の座標系定義方法によった座標系定義を実行させるようにプログラミングされているプログラムが情報処理装置上で実行されるので、情報処理装置を用いて請求項1乃至請求項6のいずれか1項に記載の発明の効果を得ることができる。
また、請求項8記載の発明では、請求項7記載のプログラムを着脱可能な記憶媒体に記憶することができるので、その記憶媒体をこれまで請求項1乃至請求項6のいずれか1項に記載の発明によった座標系定義をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、そのような情報処理装置においても請求項1乃至請求項6のいずれか1項に記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図1】本発明が実施される情報処理装置のハードウェア構成図である。
【図2】本発明の第1の実施例を示す座標系定義方法の動作フロー図である。
【図3】本発明の第1の実施例を示す座標系定義方法の説明図である。
【図4】本発明の第1の実施例を示す座標系定義方法の他の説明図である。
【図5】本発明の第2の実施例を示す座標系定義方法の説明図である。
【図6】本発明の第2の実施例を示す座標系定義方法の他の説明図である。
【図7】本発明の第2の実施例を示す座標系定義方法の他の説明図である。
【符号の説明】
1 CPU
2 メモリ
3 外部記憶装置
5 ポインティング装置
6 表示装置
【発明の属する技術分野】
本発明は、CAD装置など専用の3次元形状処理装置やパーソナルコンピュータなど汎用の情報処理装置において実施される、3次元空間内の座標系定義方法に係わり、特に、画面を用いてインタラクティブに定義することができる座標系定義方法に関する。
【0002】
【従来の技術】
グラフィクス表示装置とコンピュータとを用いたCAD/CAM装置など3次元形状処理装置では、従来より、画面を用いて3次元形状を生成したり、生成されている3次元形状を変形させたり、様々な検証をおこなったりしている。
そのような画面を用いた操作時に、3次元形状処理システムでは、3次元空間内の仮想的な平面(ここでは作業平面と呼ぶ)を用いて作業をすることがある。そのような場合、利用者は例えばX軸およびY軸を含む平面として定義される作業平面を定義する変換マトリックスのパラメータを何らかの手段で入力しなければならない。
しかしながら、従来、直感的且つすばやくそのパラメータを指定する方法はなかった。例えば、表示されている3次元形状モデルの座標系とは異なる新たな座標系を定義したい場合、表示されているその3次元形状モデルの座標系を表示させ、マウスなどポインティング装置によりその座標系の原点の位置をドラッグして移動させたり、座標軸をドラッグして回転させたりして座標系を定義するというような方法では、正確な定義が不可能であるので、従来は、原点、X軸方向、Y軸方向などパラメータをキーボードを用いて数字で入力せざるを得なかったのである。
【0003】
【発明が解決しようとする課題】
前記したように、従来技術においては、3次元空間内の座標系を正確に定義したい場合、直感的且つすばやくそのパラメータを指定することができなかった。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、3次元空間内の座標系を定義するパラメータを直感的且つすばやく、且つ正確に指定することができる座標系定義方法を提供することにある。
【0004】
【課題を解決するための手段】
前記の課題を解決するために、請求項1記載の発明では、3次元座標系を3次元空間内に定義する座標系定義方法において、定義される座標系の二つの軸を含む平面として表わされる作業平面を決定するパラメータを指定させる際、表示された既存の要素のなかから前記パラメータ指定の基準として用いる要素を指定させる構成にしたことを特徴とする。
また、請求項2記載の発明では、請求項1記載の発明において、原点座標および二つの軸方向を指示して作業平面を決定する場合、既存の要素として、原点となる頂点と、その頂点から前記二つの軸方向を指示するための他の二つの頂点とを指定させる構成にしたことを特徴とする。
また、請求項3記載の発明では、請求項2記載の発明において、二つの軸をX軸およびY軸としたことを特徴とする。
また、請求項4記載の発明では、請求項1、請求項2、または請求項3記載の発明において、基準となるパラメータの重要度をあらかじめ決めておき、指定された前記要素によって作業平面を決定するパラメータが正確に求まらない場合、重要度の低いパラメータを重要度の高いパラメータによって変更する構成にしたことを特徴とする。
また、請求項5記載の発明では、請求項4記載の発明において、重要度の低いパラメータを重要度の高いパラメータによって変更する際、試行錯誤による再変更を可能にしたことを特徴とする。
また、請求項6記載の発明では、請求項1乃至請求項5のいずれか1項に記載の発明において、前記要素を基準として指定させる際、ポインティング装置を用いて指定させる構成にしたことを特徴とする。
また、請求項7記載の発明では、情報処理装置上で実行されるプログラムにおいて、請求項1乃至請求項6のいずれか1項に記載の座標系定義方法によった座標系定義を実行させるようにプログラミングされている構成にしたことを特徴とする。
また、請求項8記載の発明では、プログラムを記憶した記憶媒体において、請求項7記載のプログラムを記憶したことを特徴とする。
【0005】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図1は本発明が実施されるパーソナルコンピュータなど情報処理装置のハードウェア構成図である。図示したように、この情報処理装置は、プログラムに従って動作するCPU1、そのプログラムや各種データを一時的に記憶するメモリ(例えばRAM)2、前記プログラムや各種データを保存しておく外部記憶装置(例えばハードディスク記憶装置)3、データや指示を入力する入力装置であるキーボード4およびマウスなどポインティング装置5、3次元形状などを表示する表示装置6を備える。そして、前記プログラム(ソフトウェア)の一つとして、例えば3次元CADプログラムなど、3次元空間中に平面を定義する必要がある既存のプログラムを用い、そのユーザーインターフェースに以下の動作フローに説明するようなプログラムを組み込む。これにより、利用者にとって自然で使いやすいパラメータ入力による座標系定義機能を実現できる。
前記したような構成で、本発明の第1の実施例の情報処理装置では、画面上に表示する3次元の座標系を定義するに当たり、定義される座標系の二つの座標軸(例えばX軸とY軸)を含む平面として表わされる作業平面を決定するパラメータを指定させる際、表示されている3次元形状モデル中の既存の要素を基準として指定させる。なお、以下においては、マウスなどポインティング装置を用いて画面上で頂点などの位置を指示することをピックと呼ぶ。
まず、3点を指示することにより前記作業平面を指定する場合について、その3点を結ぶ直線のうちの2直線が直交している例を図2に示した動作フロー図および図3に示した説明図などにより説明する。なお、この例では、最も単純なケースとして、座標系を決定するのに適当な要素として、既に直方体が存在している(表示されている)ものとしている。画面上でその直方体の頂点をピックし、その座標情報などを用いて作業平面を定義するのである。
【0006】
この場合、まず、プログラムに従って(以下、同様)CPU1が利用者に原点とする頂点の入力を促す(S1)。そして、利用者がP1(図3(a)参照)をピックすると、CPU1はこの結果得られた座標値P1(x1,y1,z1)を、定義する作業平面の原点とする(S2)(図3(a)参照)。
次に、CPU1は利用者に2番目の頂点の入力を促す(S3)。そして、利用者のピックにより入力された直方体上の他の点P2(x2,y2,z2)の座標情報を取得すると、先に入力してあった原点から点P2までの方向V1(x2−x1,y2−y1,z2−z1)を、定義する作業平面のX軸方向とする(S4)(図3(b)参照)。
最後に、利用者に3番目の点P3(x3,y3,z3)の入力を促す(S5)。そして、利用者のピックにより入力された点P3の座標情報を取得すると、先に入力してあった原点から点P3までの方向V2(x3−x1,y3−y1,z3−z1)を、定義する作業平面のZ軸方向、つまり法線方向とする(S6)(図3(c)参照)。
こうして、平面のパラメータが決定され、作業平面の定義が完了する(図4参照)。例えば、V1の成分を(V1x,V1y,V1z)、同様にV2の成分を(V2x,V2y,V2z)、また、V1とV2から求められる外積をV3(V3x,V3y,V3z)とし、これをY軸方向とした場合には、元の座標(そのとき表示されている3次元形状モデルが存在する3次元空間の座標)からこの平面を基準とした座標への4×4変換マトリックスは以下のように表現できる。
[V1x,V3x,V2x,0.0]
[V1y,V3y,V2y,0.0]
[V1z,V3z,V2z,0.0]
[−(P1x×V1x+P1y×V1y+P1z×V1z),−(P1x×V3x+P1y×V3y+P1z×V3z),−(P1x×V2x+P1y×V2y+P1z×V2z),1.0]
こうして、この実施例によれば、頂点など、表示された既存の要素を用いて作業平面の定義を簡単な操作でおこなうことができる。また、指示された各点は指し示された位置が不正確であっても、既存の頂点であるので、正確な座標値が得られる。
【0007】
本発明の第2の実施例では、基準となるパラメータの重要度をあらかじめ決めておき、指定された要素によって作業平面を決定するパラメータが正確に求まらない場合、重要度の低いパラメータを重要度の高いパラメータによって変更する。以下、そのような例として、3点を結ぶ直線のうちの2直線が直交していない一般的な場合について説明する。なお、この例では、P1(原点)とP2(X軸方向)が重要度の高いパラメータで、P3(Z軸方向)が重要度の低いパラメータである。
前記した第1の実施例では、指示された各点を結ぶ方向がそれぞれ直交しているので、そのままの情報で平面を定義することができるが、ここでは、直方体以外の要素を用いても平面を定義できるように、指示された点の座標値から作業平面を計算する方法を一般化する。
図5(a)に示した例のように、指示された3点を結ぶ線が直交しない場合には、指示されたX軸方向を固定し、指示されたZ軸方向をX軸方向と直交するように自動的に修正して(図5(b)参照)平面を定義できるパラメータを算出する。この場合、図6に示したような平面Fを作業平面として定義することを利用者が意図しているとする。図6に示した平面Fは、X軸を指示するために使われた点P1,P2(図5参照)で定義される稜線に接し、法線(Z軸方向)は以下で説明する方法に則って算出された方向である。
【0008】
図7はZ軸方向を算出する方法を示す説明図である。図7において、V1は利用者が指示した1点目P1、2点目P2から決められるX方向ベクトルであり、V2は前記1点目P1、3点目P3から決定できる仮のZ軸方向ベクトルである。これらの方向ベクトルは直交しているとは限らないので、このままでは平面の定義には不都合である。そこで、CPU1は、V2を、V1を基準にして直交するように修正する。つまり、V1とV2の外積V1×V2を生成し、この外積とV1との外積V3(V1×V2×V1)を求める。このとき、V3はV1に直交するようにV2を回転移動させた方向となる。このような方向のV3をZ軸方向として用いる。変換マトリックスは第1の実施例と同様である。外積V3の計算はV1の成分を(V1x,V1y,V1z)、V2の成分を(V2x,V2y,V2z)とした場合、以下の通りである。
V3x=V1y×V2z−V1z×V2y
V3y=V1z×V2x−V1x×V2z
V3z=V1x×V2y−V1y×V2x
こうして、平面を定義するためのパラメータとして適切な、それぞれ直交するV1,V2,V3が求まり、作業平面の定義が完了する。
このように、本発明の第2の実施例によれば、指示された要素によって作業平面を決定するパラメータが正確に求まらない場合でも、作業平面の定義を簡単な操作でおこなうことができる。
【0009】
なお、第2の実施例では、重要度の低いパラメータを重要度の高いパラメータによって変更する際、試行錯誤による再変更が可能である。図5に示した例では直方体を元にしているので、指定する頂点の位置関係がだいたい直角になるので、試行錯誤することはあまりないが、これが例えば不定形(いろいろな位置に頂点を有する形状)だったとすると、どの頂点とどの頂点を指定すれば直角に交わる座標軸の指示ができるかというのはすぐにはわからない。しかし、この実施例によれば、入力するパラメータは必ずしも直角に交わっている必要はないので、利用者が適当な頂点を入力していくことで(必ずしも直角に交わるような頂点をパラメータとして入力することなしに)座標系を決定できるし、もし、生成された座標系が気に入らなかったら、そのときの指定を取り消し、指定しなおすことができるのである。例えば、画面に「取り消し」というボタン(アイコン)を表示させ、マウスなどポインティング装置によりそのボタンが指示されたことを認識すると、CPU1はそのとき取得されている結果を破棄し、動作フローを例えばP1指定のステップに戻す。
以上、作業平面をX軸およびY軸を含む面とする場合で説明したが、作業平面はY軸とZ軸を含む面、またはZ軸とX軸を含む面でもよく、その場合も同様にして本発明によった3次元空間内の座標系定義をおこなうことができる。
また、以上説明したような本発明の座標系定義方法にしたがってプログラミングしたプログラムを着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によった座標系定義をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、そのような情報処理装置においても本発明によった座標系定義をおこなうことができる。
【0010】
【発明の効果】
以上説明したように、本発明によれば、請求項1記載の発明では、3次元座標系を3次元空間内に定義する際、定義される座標系の二つの軸を含む平面として表わされる作業平面を決定するパラメータを指定させる場合、表示された既存の要素のなかからパラメータ指定の基準として用いる要素が指定されるので、3次元空間内の座標系を定義するパラメータを直感的且つすばやく指定することができるし、指定位置が意図する要素から少しずれていてもその要素の座標値が指定位置となるため、位置を正確に指定することができる。
また、請求項2記載の発明では、請求項1記載の発明において、原点座標および二つの軸方向を指示して作業平面を決定する場合、既存の要素として、原点となる頂点と、その頂点から二つの軸方向を指示するための他の二つの頂点とを指定すればよいので、請求項1記載の発明と同様の効果を得ることができる。
また、請求項3記載の発明では、請求項2記載の発明において、二つの軸がX軸およびY軸であるので、作業平面がX軸およびY軸を含む一般的な平面の場合で請求項1記載の発明の効果を得ることができる。
また、請求項4記載の発明では、請求項1、請求項2、または請求項3記載の発明において、基準となるパラメータの重要度があらかじめ決めておかれ、指定された要素によって作業平面を決定するパラメータが正確に求まらない場合、重要度の低いパラメータが重要度の高いパラメータによって変更されるので、要素の指定が簡単になる。
また、請求項5記載の発明では、請求項4記載の発明において、重要度の低いパラメータを重要度の高いパラメータによって変更する際、試行錯誤による再変更が可能であるので、利用者の意図に反した座標系が設定されてしまうというような事態を避けることができる。
また、請求項6記載の発明では、請求項1乃至請求項5のいずれか1項に記載の発明において、要素を基準として指定させる際、ポインティング装置を用いて指定するので、操作がさらに容易になる。
また、請求項7記載の発明では、請求項1乃至請求項6のいずれか1項に記載の座標系定義方法によった座標系定義を実行させるようにプログラミングされているプログラムが情報処理装置上で実行されるので、情報処理装置を用いて請求項1乃至請求項6のいずれか1項に記載の発明の効果を得ることができる。
また、請求項8記載の発明では、請求項7記載のプログラムを着脱可能な記憶媒体に記憶することができるので、その記憶媒体をこれまで請求項1乃至請求項6のいずれか1項に記載の発明によった座標系定義をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、そのような情報処理装置においても請求項1乃至請求項6のいずれか1項に記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図1】本発明が実施される情報処理装置のハードウェア構成図である。
【図2】本発明の第1の実施例を示す座標系定義方法の動作フロー図である。
【図3】本発明の第1の実施例を示す座標系定義方法の説明図である。
【図4】本発明の第1の実施例を示す座標系定義方法の他の説明図である。
【図5】本発明の第2の実施例を示す座標系定義方法の説明図である。
【図6】本発明の第2の実施例を示す座標系定義方法の他の説明図である。
【図7】本発明の第2の実施例を示す座標系定義方法の他の説明図である。
【符号の説明】
1 CPU
2 メモリ
3 外部記憶装置
5 ポインティング装置
6 表示装置
Claims (8)
- 3次元座標系を3次元空間内に定義する座標系定義方法において、定義される座標系の二つの軸を含む平面として表わされる作業平面を決定するパラメータを指定させる際、表示された既存の要素のなかから前記パラメータ指定の基準として用いる要素を指定させることを特徴とする座標系定義方法。
- 請求項1記載の座標系定義方法において、原点座標および二つの軸方向を指示して作業平面を決定する場合、既存の要素として、原点となる頂点と、その頂点から前記二つの軸方向を指示するための他の二つの頂点とを指定させることを特徴とする座標系定義方法。
- 請求項2記載の座標系定義方法において、二つの軸をX軸およびY軸としたことを特徴とする座標系定義方法。
- 請求項1、請求項2、または請求項3記載の座標系定義方法において、基準となるパラメータの重要度をあらかじめ決めておき、指定された前記要素によって作業平面を決定するパラメータが正確に求まらない場合、重要度の低いパラメータを重要度の高いパラメータによって変更することを特徴とする座標系定義方法。
- 請求項4記載の座標系定義方法において、重要度の低いパラメータを重要度の高いパラメータによって変更する際、試行錯誤による再変更を可能にしたことを特徴とする座標系定義方法。
- 請求項1乃至請求項5のいずれか1項に記載の座標系定義方法において、前記要素を基準として指定させる際、ポインティング装置を用いて指定させることを特徴とする座標系定義方法。
- 情報処理装置上で実行されるプログラムにおいて、請求項1乃至請求項6のいずれか1項に記載の座標系定義方法によった座標系定義を実行させるようにプログラミングされていることを特徴とするプログラム。
- プログラムを記憶した記憶媒体において、請求項7記載のプログラムを記憶したことを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002257058A JP2004094751A (ja) | 2002-09-02 | 2002-09-02 | 3次元空間内の座標系定義方法、プログラム、及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002257058A JP2004094751A (ja) | 2002-09-02 | 2002-09-02 | 3次元空間内の座標系定義方法、プログラム、及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004094751A true JP2004094751A (ja) | 2004-03-25 |
Family
ID=32062093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002257058A Pending JP2004094751A (ja) | 2002-09-02 | 2002-09-02 | 3次元空間内の座標系定義方法、プログラム、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004094751A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102782688A (zh) * | 2009-12-28 | 2012-11-14 | 学校法人福冈大学 | 三维坐标确定装置、三维坐标确定方法以及程序 |
-
2002
- 2002-09-02 JP JP2002257058A patent/JP2004094751A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102782688A (zh) * | 2009-12-28 | 2012-11-14 | 学校法人福冈大学 | 三维坐标确定装置、三维坐标确定方法以及程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7420556B2 (en) | Information processing method and information processing apparatus | |
JPH03250267A (ja) | 画像表示装置及び画像表示方法 | |
US20070242073A1 (en) | Robot simulation apparatus | |
JP2005259148A (ja) | 要素を選択する方法およびプログラム | |
JP5813931B2 (ja) | 教示データの修正システム | |
JP2003256025A (ja) | ロボット動作教示方法及び装置 | |
JP2004094751A (ja) | 3次元空間内の座標系定義方法、プログラム、及び記憶媒体 | |
JP2000048065A (ja) | 仮想3次元パイプライン作図方法 | |
JP3672352B2 (ja) | 3次元立体配置編集方法及び3次元立体配置編集装置 | |
JP2008197736A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP3361652B2 (ja) | 立体図形配置入力方法及びグラフィックシステム | |
JP2009283009A (ja) | オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法 | |
JPH11249774A (ja) | 3次元情報表示システム及び方法 | |
JPH04137108A (ja) | ロボットのオフライン教示方法 | |
JP3732174B2 (ja) | 3次元立体配置編集方法及び3次元立体配置編集装置 | |
JPH1031757A (ja) | 図形処理装置および要素間最短距離算出方法 | |
JPWO2020188660A1 (ja) | 把持位置姿勢登録装置、把持位置姿勢登録方法及びプログラム | |
US6556227B1 (en) | Visualization techniques for constructive systems in a computer-implemented graphics system | |
US20070182759A1 (en) | Graphics processing apparatus, method and program storage medium thereof | |
JP4389350B2 (ja) | オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、並びにプログラム提供媒体 | |
JP2001338306A (ja) | 編集ツール属性変更処理装置、編集ツール属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、並びにプログラム提供媒体 | |
Jiménez et al. | Tetra-trees properties in graphic interaction | |
JP3686926B2 (ja) | 3次元cgデザイン装置及びプログラム | |
CN109213961B (zh) | 基于向量求交的采样点计算方法及计算机可读存储介质 | |
JPH06119430A (ja) | 図形表示装置 |