(57)【特許請求の範囲】
【請求項１】
複数の図形要素からなる立体図形を３次元グラフィックスで表示する表示手段と、前記表示手段における前記立体図形に対する操作を入力するための入力手段とを有する図形処理装置であって、
第１の図形要素と第２の図形要素が前記入力手段により選択されたときに、選択された第１の図形要素と第２の図形要素の幾何情報を記憶する幾何情報記憶手段と、
前記第１の図形要素の幾何情報に基づき前記第１の図形要素の投影基準を定める手段と、
前記第２の図形情報の幾何情報に基づき前記第２の図形要素の投影基準を定める手段と、
前記表示手段に表示されている図形の視線方向を記憶する視線方向記憶手段と、
前記視線方向と、前記第１の図形要素の投影基準と、前記第２の図形情報の投影基準とに基づき、図形要素を投影する投影面を決定する決定手段と、
前記投影面に、前記第１の図形要素と前記第２の図形要素とを投影する投影手段と、
前記投影面に投影された図形要素に基づき、前記第１の図形要素と前記第２の図形要素との間の距離を演算する演算手段とを有することを特徴とする図形処理装置。
【請求項２】
前記視線方向が、前記第１の図形要素又は前記第２の図形要素が選択されたときの視線方向であることを特徴とする請求項１に記載の図形処理装置。
【請求項３】
前記投影面が複数存在する場合、少なくとも１つ以上の投影面を選択するための情報を前記表示手段に表示する第１選択表示手段を更に有することを特徴とする請求項１又は２に記載の図形処理装置。
【請求項４】
前記投影面が複数存在する場合、１つの投影面を選択するための情報を前記表示手段に表示する第２選択表示手段を更に有することを特徴とする請求項３に記載の図形処理装置。
【請求項５】
前記投影面が複数存在する場合、それぞれの投影面の法線方向と前記視線方向がなす角が小さい投影面の優先度を高くすることを特徴とする請求項１又は２に記載の図形処理装置。
【請求項６】
前記投影面が複数存在する場合、特定のテーブルに従って優先度を決定することを特徴とする請求項１又は２に記載の図形処理装置。
【請求項７】
前記投影面が複数存在する場合、特定のテーブルに従って優先度を決定したとき優先度が同等であった場合は、それぞれの投影面の法線方向と前記視線方向がなす角が小さい投影面の優先度を高くすることを特徴とする請求項６に記載の図形処理装置。
【請求項８】
前記距離が最短距離であることを特徴とする請求項１乃至７のいずれかに記載の図形処理装置。
【請求項９】
前記第１の図形要素と前記第２の図形要素のそれぞれの形状の組み合わせにより、前記投影面を決定することを特徴とする請求項１乃至８に記載の図形処理装置。
【請求項１０】
複数の図形要素からなる立体図形を３次元グラフィックスで表示する表示手段と、前記表示手段における前記立体図形に対する操作を入力するための入力手段とを有する図形処理装置における図形処理方法であって、
第１の図形要素と第２の図形要素が前記入力手段により選択されたときに、選択された第１の図形要素と第２の図形要素の幾何情報を記憶する幾何情報記憶工程と、
前記第１の図形要素の幾何情報に基づき前記第１の図形要素の投影基準を定める工程と、
前記第２の図形情報の幾何情報に基づき前記第２の図形要素の投影基準を定める工程と、
前記表示手段に表示されている図形の視線方向を記憶する視線方向記憶工程と、
前記視線方向と、前記第１の図形要素の投影基準と、前記第２の図形情報の投影基準とに基づき、図形要素を投影する投影面を決定する決定工程と、
前記投影面に、前記第１の図形要素と前記第２の図形要素とを投影する投影工程と、
前記投影面に投影された図形要素に基づき、前記第１の図形要素と前記第２の図形要素との間の距離を演算する演算工程とを有することを特徴とする図形処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は図形処理装置及び方法に関し、特に、ＣＡＤシステム等において、ユーザが必要とする図形要素間の距離を、投影面に投影して算出するための図形処理装置及び方法に関する。
【０００２】
【従来の技術】
近年、コンピュータの性能が飛躍的に向上し、様々な処理をコンピュータ上で行えるようになっている。例えば、コンピュータ上でデザインを様々な面からシミュレートするＣＡＤも、従来は比較的高価なコンピュータを必要としていたが、近年はパーソナルコンピュータ上で実現できるものが多い。
【０００３】
ＣＡＤシステムは、図形要素（点、稜線、面など）の組み合わせでデザインを表現するものが一般的であるが、この場合、図形要素間の距離を求めることが必要となる。
【０００４】
図形要素間の距離を求める方法として、従来以下のような方法が知られている。
（１）測定したい３Ｄモデルをコンピュータディスプレイ上に表示しながら、マウスなどの入力手段により、ユーザが望む点、稜線、面などの測定対象となる２つの要素を連続して指示し、この２要素間の３次元空間上の最短距離を算出し、別途用意された結果表示出力手段を用いて算出された最短距離を表示する方法。
（２）測定したい３Ｄモデルをコンピュータディスプレイ上に表示しながら、マウスなどの入力手段により、ユーザが望む点、稜線、面などの測定対象となる２つの要素の近傍までポインタなどの位置指示手段を移動し、ディスプレイ上の図形要素とポインタ間の距離があらかじめ設定されている距離内に入れば、ディスプレイに表示されている図形要素の色が変更され、測定対象となる要素をユーザが確認しながら、３次元空間上の最短距離を算出し、別途用意された結果表示出力手段を用いて算出された最短距離を表示する方法。
（３）測定したい３Ｄモデルをコンピュータディスプレイ上に表示しながら、マウスなどの入力手段により、ユーザが望む点、稜線、面などの測定対象となる２つの要素の近傍までポインタなどの位置指示手段を移動し、ユーザが確定した場所であらかじめ設定されている表示装置上の距離内にクリッピングされる図形要素の中から３次元空間の視点に一番近い、すなわち表示装置上で一番手前に表示されている要素を測定対象要素とし、３次元空間上の最短距離を算出し、別途用意された結果表示出力手段を用いて算出された最短距離を表示する方法。
（４）上記（１）で述べた方法において更に、最短距離となる線分のユーザが望む投影平面への正射影を算出することにより、３次元空間上の要素間の投影最短距離を算出する方法。
（５）上記（２）で述べた方法において更に最短距離となる線分のユーザが望む投影平面への正射影を算出することにより、３次元空間上の要素間の投影最短距離を算出する方法。
（６）上記（３）で述べた方法において更に、最短距離となる線分のユーザが望む投影平面への正射影を算出することにより、３次元空間上の要素間の投影最短距離を算出する方法。
（７）特開平１０−３１７５７号公報に記されている図形処理装置および要素間最短距離算出方法のように３次元空間を表示しているディスプレイの視線方向を考慮した要素間の最短距離を算出する方法。
【０００５】
これらの要素間の最短距離を算出する方法の測定結果を示した図が図３０であって、図３０（ａ）では直線１と円弧２が測定対象要素であり、投影面３が投影すべき面であり、線分４が算出された測定結果である最短距離である。
【０００６】
又、図３０（ｂ）では円弧３０１と円弧３０２が測定対象要素であり、投影面３０３が投影すべき面であり、線分３０４が算出された測定結果である最短距離である。
【０００７】
従来の要素間最短距離測定方法においては、投影すべき面を特定するのに以下のいずれかの方法がとられていた。
（Ａ）いくつかの投影面に対応してそれぞれ要素間最短距離算出コマンドがあらかじめ用意されており、ユーザは自分が投影したい投影面に対応した要素間最短距離算出コマンドを選択して、測定を実施する方法。図３１はこの例の概略を示した図であって、あらかじめｘｙ平面とｙｚ平面とｘｚ平面の３つの投影面に対応してそれぞれ要素間最短距離算出コマンドが用意されており、例えばユーザがｙｚ平面へ投影した距離の測定を望んでいる場合にはあらかじめｙｚ平面投影用の要素間最短距離算出コマンドをユーザが選択して測定を実施する。
（Ｂ）１つの要素間最短距離算出コマンドの中にあらかじめ複数の投影面が設定されており、ユーザが測定要素を選択した後、用意された全ての投影面に投影した最短距離を全て同時に又は順次に表示することによって、ユーザはその中から自分の望む投影面へ投影された測定結果を選択的に読み取ることにとって測定が実現される方法。図３２はこの例の概略を示した図であって、あらかじめｘｙ平面とｙｚ平面とｘｚ平面の３つの投影面が設定されており、これらの投影面に投影された測定結果が全て表示されている。この場合一度にすべての測定結果を表示するとユーザの視認性を損ねるため、実際にはキーボードや、マウスなどの入力装置を操作することによって順次１つづつ測定結果を表示することが一般的である。
（Ｃ）要素間最短距離算出コマンドには投影面が設定されておらず、ユーザが測定対象部品を選択するのと同様に投影面も選択することによって、ユーザの望む投影面へ投影された最短距離が測定される方法。図３３はこの例の概略を示した図であって、ユーザが測定対象である図形３３１，３３２と希望する投影面である平面３３３を選択する。その結果、平面３３３に投影された最短距離を表示する。このときの投影面の選択方法には、ユーザが自分の投影したい投影面に平行な面を選択する方法や自分の投影したい投影面に垂直な直線と投影面の位置を選択する方法やいずれかをユーザが自在に切り替えられる方法などが一般的である。
（Ｄ）上記（Ｂ）と（Ｃ）を組み合わせた方法。つまり要素間最短距離算出コマンド内であらかじめ投影面の候補となる面がいくつか用意されておりそれらを優先的に表示した後、その中にユーザの望む投影面に投影された結果がなかった場合（Ｃ）と同様な方法でユーザが投影面を選択できるようになっている。
【０００８】
【発明が解決しようとする課題】
しかしながら、（Ａ）と（Ｂ）は、ユーザが投影面を選択する必要がないものの、あらかじめ用意されている投影面でしか測定ができないという制約を受けるため、実用的ではなない。
【０００９】
（Ｃ）と（Ｄ）は、ユーザが望む投影面を確実に選ぶことができるので、実用的ではあるものの、投影面を選択する操作をユーザが行わなければならないため作業効率が低下するという問題を有している。又、表示画面上にユーザが望む投影面に平行な平面やユーザが望む投影面に垂直な直線が表示されていない場合は、要素間最短距離算出コマンドの実施に先立って、表示画面上に投影面を選択するために必要な平面又は直線を作成・表示させておかなければならないため、更に作業効率が低下するという問題点もあった。
【００１０】
又、上記従来例ではディスプレイ上に表示している部品点数が多くなった場合、表示されている部品が視界を妨げ、測定結果が見にくく、ユーザの望む部分が測定されたのかどうかが確認ししにくいという問題点があった。
【００１１】
このため、ユーザは測定結果を確認するために、測定結果表示後に視線方向へ変更したり、視線を妨げている部品を非表示にしたりする操作を実行することを余儀なくされていた。このとき、視線変更や部品の非表示の操作そのものがユーザの作業効率を低下させるだけでなく、測定結果確認後に距離測定を開始する直前の作業に戻るためには、再び部品を表示させ、視線方向を元に戻す操作が必須となり一層ユーザの作業効率を低下させる結果となっていた。これらは、要素間最短距離を求める装置のユーザビリティ上の大きな問題点であった。
【００１２】
本発明は上記従来技術の問題点を解決するためになされたものであり、ユーザが望んでいる投影方向及び投影面を非常に高い確率で特定できる機能を有することによってユーザが投影面を選択することが不要或いは最小限となり、作業効率が良くユーザビリティの非常に高い図形処理装置及び方法を提供することを目的とする。
【００１３】
又、本発明はユーザの作業効率を低下させることなく、更に、ユーザが容易に測定結果を確認することが可能な最短距離算出機能を有する図形処理装置及び方法を提供する。
【００１４】
【課題を解決するための手段】
上記目的を達成するために本発明の図形処理装置は、複数の図形要素からなる立体図形を３次元グラフィックスで表示する表示手段と、前記表示手段における前記立体図形に対する操作を入力するための入力手段とを有する図形処理装置であって、第１の図形要素と第２の図形要素が前記入力手段により選択されたときに、選択された第１の図形要素と第２の図形要素の幾何情報を記憶する幾何情報記憶手段と、前記第１の図形要素の幾何情報に基づき前記第１の図形要素の投影基準を定める手段と、前記第２の図形情報の幾何情報に基づき前記第２の図形要素の投影基準を定める手段と、前記表示手段に表示されている図形の視線方向を記憶する視線方向記憶手段と、前記視線方向と、前記第１の図形要素の投影基準と、前記第２の図形情報の投影基準とに基づき、図形要素を投影する投影面を決定する決定手段と、前記投影面に、前記第１の図形要素と前記第２の図形要素とを投影する投影手段と、前記投影面に投影された図形要素に基づき、前記第１の図形要素と前記第２の図形要素との間の距離を演算する演算手段とを有する。
【００１５】
また、本発明の図形処理装置は、複数の図形要素からなる立体図形を３次元グラフィックスで表示する表示手段と、前記表示手段における前記立体図形に対する操作を入力するための入力手段とを有する図形処理装置であって、第１の図形要素と第２の図形要素が前記入力手段により選択されたときに、選択された第１の図形要素と第２の図形要素の幾何情報を記憶する幾何情報記憶手段と、前記第１の図形要素と前記第２の図形要素とを投影する投影面を設定する設定手段と、前記投影面に前記第１の図形要素と前記第２の図形要素とを投影する投影手段と、前記投影面に垂直な方向を算出する算出手段と、前記算出された方向に基づき、前記投影面を前記表示手段に表示する表示制御手段とを有する。
【００１６】
更に、本発明の図形処理方法は、複数の図形要素からなる立体図形を３次元グラフィックスで表示する表示手段と、前記表示手段における前記立体図形に対する操作を入力するための入力手段とを有する図形処理装置における図形処理方法であって、第１の図形要素と第２の図形要素が前記入力手段により選択されたときに、選択された第１の図形要素と第２の図形要素の幾何情報を記憶する幾何情報記憶工程と、前記第１の図形要素の幾何情報に基づき前記第１の図形要素の投影基準を定める工程と、前記第２の図形情報の幾何情報に基づき前記第２の図形要素の投影基準を定める工程と、前記表示手段に表示されている図形の視線方向を記憶する視線方向記憶工程と、前記視線方向と、前記第１の図形要素の投影基準と、前記第２の図形情報の投影基準とに基づき、図形要素を投影する投影面を決定する決定工程と、前記投影面に、前記第１の図形要素と前記第２の図形要素とを投影する投影工程と、前記投影面に投影された図形要素に基づき、前記第１の図形要素と前記第２の図形要素との間の距離を演算する演算工程とを有する。
【００１７】
また、本発明の図形処理方法は、複数の図形要素からなる立体図形を３次元グラフィックスで表示する表示手段と、前記表示手段における前記立体図形に対する操作を入力するための入力手段とを有する図形処理装置における図形処理方法であって、第１の図形要素と第２の図形要素が前記入力手段により選択されたときに、選択された第１の図形要素と第２の図形要素の幾何情報を記憶する幾何情報記憶工程と、前記第１の図形要素と前記第２の図形要素とを投影する投影面を設定する設定手段と、前記投影面に前記第１の図形要素と前記第２の図形要素とを投影する投影工程と、前記投影面に垂直な方向を算出する算出工程と、前記算出された方向に基づき、前記投影面を前記表示手段に表示する表示制御工程とを有する。
【００１８】
【発明の実施の形態】
以下、本発明の図形処理装置に係る一実施の形態を図面に基づき説明する。
【００１９】
［第１の実施形態］
図１は、本発明の図形処理装置の第１の実施の形態の構成を示すブロック図であり、１は制御線、データ線及びアドレス線を含むバスである。このバス１には、中央処理装置（ＣＰＵ）２、リードオンリメモリ（ＲＯＭ）３、ランダムアクセスメモリ（ＲＡＭ）４がそれぞれ接続されている。また、バス１には入力インターフェース５を介してキーボード、タブレット及びマウス等の入力装置６が、出力インターフェース７を介して出力装置８が、外部記憶装置インターフェース９を介して外部記憶装置１０がそれぞれ接続されている。出力装置８はＣＲＴ，ＬＣＤ等の表示出力装置８ａ及びプリンタ、プロッタ等の印字出力装置８ｂからなる。外部記憶装置１０はハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）、ＣＤ−ＲＯＭ、ミニディスク（ＭＤ）などの磁気ディスク及び磁気テープ等からなる。
【００２０】
ＣＰＵ２は本装置全体の制御を司るものである。ＲＯＭ３には、処理プログラム３ａ、パラメータ３ｂ、図形要素間の関係情報３ｃ等が格納されている。ＲＡＭ４は視線方向格納領域４ａ、第１の図形要素の幾何情報格納領域４ｂ、第２の図形要素の幾何情報格納領域４ｃ、投影面情報格納領域４ｄ、測定結果格納領域４ｅ、及び不図示の図形要素格納領域等を有している。そして、ＣＰＵ２は、ＲＯＭ３に記憶された処理プログラムに応じてＲＡＭ４を一時記憶装置として様々の処理及び制御、たとえば図形入力制御、図形表示処理、ピック処理、距離算出等を行う。表示装置８ａは必要に応じて複数のビットマッププレーン等を含んでおり、図形を表示する。
【００２１】
図２は、出力装置８ａに表示される画像の例を表しており、それぞれ８１は図形表示エリア、８２は第１ボタン、８３はマウスポインタ、８４は第１情報出力エリア、８５はパネル上の第２ボタン、８０はパネル上の第２情報出力エリア、８７はパネル、８６は３Ｄ図形である。これらのボタンは、全てソフトキーである。図形表示エリア８１には、ＲＡＭ４の不図示の図形要素格納領域に格納された図形要素に基づき、３Ｄ図形が表示されている。
【００２２】
この表示装置８ａ上で、キーボードや、マウスなどの入力装置６を操作することによって、図示されているような３Ｄ図形８６の要素間の最短距離の算出が対話的に行われる。またマウスポインタ８３と入力装置６を使用して、第１ボタン８２上の適切な位置を選択することにより、要素間の最短距離を算出するモードに入ることができる。
【００２３】
以下、図３に示したフローチャートに基づき、本実施の形態における図形要素間の最短距離を算出する処理について説明する。
【００２４】
まず、キーボードからの入力、或いは、マウスでマウスポインタ８３を移動することにより第１ボタン８２の中の図形要素間の最短距離を算出するモードを指示する。
【００２５】
この指示に基づき、Ｓ１０００において、図形要素間の最短距離を算出モードに入ったときにおける視線方向を，ＲＡＭ４の視線方向格納領域４ａに格納する。
【００２６】
次に、Ｓ１０１０において、マウスやキーボードなどの入力装置６を介してユーザが測定したい第１の図形要素（点、直線、面、円弧  等）を選択する。この時、誤った選択を防止して作業効率を向上させるため、あらかじめ選択したい図形要素の属性（点、直線、面、円弧  等の種別）をユーザが指定し、該当する属性の図形要素のみしか選択できないようにするフィルター機能や、あらかじめ選択したい図形要素を含む部品をユーザが指定し、該当の部品内の図形要素しか選択できないようにするフィルター機能を持たせてもよい。
【００２７】
又、選択対象となる図形要素が表示装置上で見にくい位置に配置されている場合、ユーザがマウスなどの入力装置６を使用し、視点の位置、視線方向を自由に変える操作を割り込みさせる機能、又、円弧の中心や線分の中点など実態の存在しない架空点や円筒面の中心など実態の存在しない架空直線などの選択を可能にするために、ユーザが円弧を選択することによってその中心点が選択されたように処理したり、線分を選択することによってその中点が選択されたように処理したり、円筒面を選択することによってその中心軸が選択されたように処理する等の架空要素選択機能を有する構成としても良い（以下、一般的は幾何学と同様に、両端が有限な線を「線分」とし、無限線を「直線」として区別する）。
【００２８】
次に、ステップＳ１０２０において、選択された第１の図形要素の幾何情報をＲＡＭ内の第１の図形要素の幾何情報格納領域４ｂに格納する。ここで幾何情報とは、点、直線、円弧、平面、円筒面などの図形に応じた端点・頂点・中心点等の座標や円の半径等の空間図形を一意的に決定するために必要なパラメータを意味する。
【００２９】
続いて、ステップＳ１０３０において、マウスやキーボードなどの入力装置６を介してユーザが測定したい第２の図形要素を選択する。この場合においてもステップＳ１０１０と同様に、前述のフィルター機能や割り込み機能や架空要素選択機能が設けられる。
【００３０】
次に、ステップＳ１０４０において、選択された第２の図形要素の幾何情報をＲＡＭ４の第２の図形要素の幾何情報格納領域４ｃに格納する。
【００３１】
次に、ステップＳ１０５０において、投影面を特定するために、ＲＡＭ４のそれぞれの領域に格納された第１、第２の図形要素の幾何情報と視線方向を参照して、ステップＳ１０６０において、ＲＯＭ３の領域３ｃに格納されている予め定められた図形要素間の関係に従って投影すべき平面の候補を特定し、ステップＳ１０７０において、特定された投影面情報をＲＡＭ４の投影面情報格納領域４ｄに格納する。ここで、投影面情報とは法線ベクトルと平面の通る点などの投影面を一意的に決定できるパラメータを意味する。もし候補が複数あった場合には各候補に優先順位を付与して格納する。この投影面を特定するための図形要素間の関係の詳細については後述する。
【００３２】
次に、ステップＳ１０８０において、ステップＳ１０７０で特定された投影面を作成し、作成した投影面上に選択された測定対象となる２図形要素の投影図形を作成する。
【００３３】
次に、ステップＳ１０９０において、ステップＳ１０８０において作成された２投影図形間の最短距離を算出する。
【００３４】
次に、ステップＳ１１００において、ステップＳ１０９０において算出された最短距離を、表示装置８ａ内の情報出力エリア８４に出力する。
【００３５】
次に，ステップＳ１１１０において、ステップＳ１０７０で特定された投影面とステップＳ１０９０で算出された最短距離の情報を元に、投影面と最短距離を表す線分を描画する。
【００３６】
このとき特定した投影面がユーザの望む投影面とは異なっていた場合でかつ、投影面の候補が他にあった場合は、次の候補へ表示を切り替えを指示するためのボタンを第２ボタン８５として表示し、マウスやキーボードなどの入力装置６からの指示により、その優先順位に従って順次Ｓ１０８０から Ｓ１１１０を繰り返して最短距離を表示装置８ａに出力し、投影面と最短距離を表す線分を描画する。
【００３７】
又、特定したすべての投影面がユーザの望む投影面とは異なっていた場合は、投影面を手動で選択するモードが選択可能である。第１ボタン８２の中の選択ボタンをマウスやキーボードなどの入力装置６で指示することにより、このモードに入る。このモードに入るとステップＳ１１５０で従来と同様に、ユーザは自分の投影したい投影面に平行な面を選択する、又は自分の投影したい投影面に垂直な直線を選択することによってユーザの望む投影面を選択し、その投影面情報がＲＡＭ上に格納される。
【００３８】
その後はステップＳ１０８０に戻って、前述した処理を行う。この処理の中で、投影面はユーザの望む投影面になっているのでステップＳ１１２０で要素間最短距離算出コマンドは終了するが、もしユーザの誤操作によって投影面が間違っている場合、又はユーザが他の投影面へ投影した最短距離も測定したいと判断した場合はステップＳ１１４０へ進んで他の投影面を指定することも可能である。
【００３９】
次に、第１、第２の図形要素の幾何情報と記憶された視線方向を元に、ユーザの望む投影すべき投影面を特定し、候補が複数あった場合には各候補に優先順位を付与する方法について説明する。
【００４０】
ユーザに投影面を選択する操作を行わせる従来例と異なり、本実施の形態では投影面を自動的に特定することを特徴としているが、特定された投影面がユーザの望む投影面に適合する確率が十分高くなければ実用的ではない。本実施の形態の投影面の特定は適合率を向上させるために２つの図形要素の幾何情報と記憶された視線方向を参照して一定の規則で特定することを特徴としており、その規則は下記の通りである。
【００４１】
下記の規則に従って、第１と第２の図形要素の幾何情報と記憶された視線方向から投影方向を決定し、この方向を投影面の法線ベクトルとする。又、同様にこの規則に従って投影面の位置も第１と第２の図形要素の幾何情報と記憶された視線方向から決定し、この点を投影面上の点とする。このように決定した投影面の法線ベクトルと投影面上の点で投影面を特定する。なお、平面の法線方向や直線に平行な方向など１８０°反転した２つの方向（方向ベクトルが正負の関係となる２方向）が存在する場合は常に視線方向とのなす角が小さい側の方向を選択するものとする。
【００４２】
＜投影方向を決定する規則＞
それぞれの図形要素に対して次のように投影基準を定義する。
（１）図形要素が点である場合はその点を投影基準とする。球である場合にはその中心点を投影基準とする。
（２）図形要素が（１）に該当せず、１つの直線に含まれる図形（直線又は線分）である場合には、その直線を投影基準とする。
（３）図形要素が（１）〜（２）に該当せず、円弧又は円弧の一部である場合には、その円弧を含む平面に垂直で円弧の中心点を通る直線を投影基準とする。
（４）図形要素が（１）〜（３）に該当せず、１つ平面に含まれる平面図形である場合には、その平面に垂直な任意の直線を投影基準とする。
（５）図形要素が（１）〜（４）に該当せず、回転体の一部である場合には、回転中心軸を投影基準とする。
（６）図形要素が（１）〜（５）に該当しない場合には、投影基準を定義しない。
【００４３】
ここで、一方の図形要素の投影基準を投影基準１、他方の図形要素の投影基準を投影基準２とするとき、第１の投影方向（以下、投影方向１とする）は、投影基準１が直線である場合は投影基準１に平行な方向とし、投影基準１が点である場合には存在しないもの
とする。
【００４４】
第２の投影方向（以下、投影方向２とする）は、投影基準１と投影基準２が共有点を持つ場合は投影基準１と２の両方を含む全ての平面Ｎの法線方向とし、投影基準１と投影基準２が共有点を持たない場合は投影基準１と２の最短距離で結ぶ線分をＬとして投影基準１と線分Ｌの両方を含む全ての平面Ｍの法線方向とする。ただし、条件に適合する投影方向２が無限に存在する場合はそれらの方向の中で視線方向となす角が最も小さい方向とする。
【００４５】
ここで、共有点とは一般的に幾何学で使用される意味と同義であり、「空間内の全ての点の中で２つの空間図形の両方に含まれている点の集合」の意味である。従って、平行な２平面や平行な２直線のように互いに交わったり含まれたりしない２図形の関係を「共有点を持たない」とし、平面とその平面を貫通する直線や平面とその平面上にある直線のように互いに交わる又は含まれる２図形の関係を「共有点を持つ」とする。又、前述の通り、「線分」とは両端が有限な直線のことであって、無限線である「直線」とは区別されている。
【００４６】
＜複数の候補が存在したときの優先順位を付与する規則＞
視線方向のなす角が小さい投影方向を上位の優先順位とする。
【００４７】
＜投影面の位置を決定する規則＞
上記の条件で特定された投影方向のそれぞれに対して、選択された２つの図形の内で該当の投影方向に有限な図形上の点でかつ該当の投影方向に対して距離が最も遠い点を含む位置とする。
【００４８】
以下、各図形要素について、投影基準と投影方向１を具体的に説明する。＜投影方向を決定する規則＞に記述されている通り（１）〜（６）の分類では、点は半径０の球、円弧は高さ０の回転体、直線・線分は半径０の回転体と考えることができるので、図形要素は「球」、「平面」、「回転体」の３つに分類できる。よって、各図形要素にとって投影基準とは、
「球」の投影基準：中心点
「平面」の投影基準：平面に直交する直線（法線）の全て（同一方向で無限に存在）（以下、「法線の全て」の略記する）
「回転体」の投影基準：中心軸を含む直線（１本）  （以下、「中心線」と略記する）
となる。
【００４９】
従って、投影方向１とは＜投影方向を決定する規則＞に記述の通り
「球」の投影方向１：投影基準が点だから存在しない。
「平面」の投影方向１：平面の法線の方向（１方向に決定する）
「回転体」の投影方向１：中心軸の方向（１方向に決定する）
となる。
【００５０】
以下、第一の図形要素を球１、又は平面１、又は回転体１、第一の図形要素の投影基準を中心点１、又は法線１の全て、又は中心線１、及び、第二の図形要素を球２、又は平面２、又は回転体２、第二の図形要素の投影基準を中心点２、又は法線２の全て、又は中心線２、として、それぞれの組み合わせごとに空間内の位置関係を場合分けし、投影方向２が決定する過程を説明する。
【００５１】
まず、２つの図形要素の投影基準１と投影基準２が共有点を持つ場合について、＜投影方向を決定する規則＞の記述に従って、「投影基準１と２の両方を含む全ての平面Ｎ」→「平面Ｎの法線方向」→「投影方向２」の順に決定する過程を具体的に説明する。
【００５２】
＜組み合わせ１−１−１＞球１と球２の場合（図４参照）
球１の投影基準である中心点１と球２の投影基準である中心点２が共有点を持つことから、中心点１と中心点２は一致している。この場合、平面Ｎは一致した１点を含む全ての平面となる。従って、平面Ｎの法線方向とは、全ての方向となり、球１の投影方向２は視線方向と同じ方向に決定する。
【００５３】
図４において、（ａ）は球１と球２の投影基準１、２を示し、（ｂ）は投影基準１と投影基準２の両方を含む全ての平面Ｎを示し、（ｃ）は全ての平面Ｎの法線方向を示し、（ｄ）は投影方向２を示している。
【００５４】
＜組み合わせ１−１−２＞球１と平面２の場合（図５参照）
球１の投影基準である中心点１と平面２の投影基準である法線２の全ての内のいずれかは必ず共有点を持つ。この場合、平面Ｎは法線２の内の中心点１を含む法線を含む全ての平面であるから、中心点１を含み平面２に垂直な全ての平面となる。従って、平面Ｎの法線方向とは、平面２に平行な全ての方向となり、球１の投影方向２は平面２に平行な全ての方向の中で視線方向に最も近い方向に決定する。
【００５５】
図５において、（ａ）は球１の投影基準１と平面２の投影基準２を示し、（ｂ）は投影基準１と投影基準２の両方を含む全ての平面Ｎを示し、（ｃ）は平面Ｎの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００５６】
＜組み合わせ１−１−３＞球１と回転体２の場合（図６参照）
球１の投影基準である中心点１と回転体２の投影基準である中心線２が共有点を持つことから、中心点１は中心線２上にある。この場合、平面Ｎは中心線２を含む全ての平面となる。従って、平面Ｎの法線方向とは、中心線２に垂直な全ての方向となり、球１の投影方向２は中心線２に垂直な全ての方向の中で視線方向に最も近い方向に決定する。
【００５７】
図６において、（ａ）は球１の投影基準１と回転体２の投影基準２を示し、（ｂ）は投影基準１と投影基準２の両方を含む全ての平面Ｎを示し、（ｃ）は平面Ｎの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００５８】
＜組み合わせ１−２−１＞平面１と球２の場合（投影基準１と投影基準２が反対であるが、組み合わせは図５と同じ。）
平面１の投影基準である法線１の全ての内のいずれかと球２の投影基準である中心点２は必ず共有点を持つ。この場合、平面Ｎは法線１の全ての内のいずれかと中心点２を含む全ての平面であるから、中心点２を含み平面１に垂直な全ての平面となる。従って、平面Ｎの法線方向とは、平面１に平行な全ての方向となり、平面１の投影方向２は平面２に平行な全ての方向の中で視線方向に最も近い方向に決定する。
【００５９】
＜組み合わせ１−２−２＞平面１と平面２の場合（図７参照）
平面１の投影基準である法線１の全ての内のいずれかと平面２の投影基準である法線２の全ての内のいずれかは必ず共有点を持つ。この場合、平面Ｎは平面１と平面２の両方に垂直な全ての平面となる。従って、平面Ｎの法線方向とは、平面１と平面２の両方に平行な全ての方向となり、平面１の投影方向２は平面１と平面２の両方に平行な全ての方向の中で視線方向に最も近い方向に決定する。
【００６０】
図７において、（ａ）は平面１と平面２の投影基準１、２を示し、（ｂ−１）は投影基準１と投影基準２の両方を含む全ての平面Ｎを（ｂ―２）は平面１と平面２とが平行な場合の投影基準１と投影基準２の両方を含む全ての平面Ｎを示し、（ｃ−１）は平面Ｎの全ての法線方向を）ｃ−２）は平面１と平面２とが平行な場合の平面Ｎの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００６１】
＜組み合わせ１−２−３＞平面１と回転体２の場合（図８参照）
平面１の投影基準である法線１の全ての内のいずれかと回転体２の投影基準である中心線２は必ず共有点を持つ。この場合、平面Ｎは法線１の全ての内のいずれかと中心線２を含む平面であるから、平面１に垂直で中心線２を含む平面となる。従って、平面Ｎの法線方向とは、平面１に平行で中心線２に垂直な全ての方向（平面１と中心線２が直交しない場合は１方向）となり、平面１の投影方向２は平面１に平行で中心線２に垂直な全ての方向の中で視線方向に最も近い方向に決定する。
【００６２】
図８において、（ａ）は平面１の投影基準１と回転体２の投影基準２を示し、（ｂ）は投影基準１と投影基準２の両方を含む全ての平面Ｎを示し、（ｃ）は平面Ｎの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００６３】
＜組み合わせ１−３−１＞回転体１と球２の場合（投影基準１と投影基準２が反対であるが、組み合わせは図６と同じ。）
回転体１の投影基準である中心線１と球２の投影基準である中心点２が共有点を持つことから、中心点２は中心線１上にある。この場合、平面Ｎは中心線１を含む全ての平面となる。従って、平面Ｎの法線方向とは、中心線１に垂直な全ての方向となり、回転体１の投影方向２は中心線１に垂直な全ての方向の中で視線方向に最も近い方向に決定する。
【００６４】
＜組み合わせ１−３−２＞回転体１と平面２の場合（投影基準１と投影基準２が反対であるが、組み合わせは図８と同じ。）
回転体１の投影基準である中心線１と平面２の投影基準である法線２の全ての内のいずれかは必ず共有点を持つ。この場合、平面Ｎは中心線１を含み平面２に垂直な全ての平面となる。従って、平面Ｎの法線方向とは、中心線１に垂直で平面２に平行な全ての方向となり、回転体１の投影方向２は中心線１に垂直で平面２に平行な全ての方向の中で視線方向に最も近い方向に決定する。
【００６５】
＜組み合わせ１−３−３＞回転体１と回転体２の場合（図９参照）
回転体１の投影基準である中心線１と回転体２の投影基準である中心線２が共有点を持つことから、中心線１と中心線２は交わる又は一致している。この場合、平面Ｎは中心線１と中心線２を含む平面となる。従って、平面Ｎの法線方向とは、中心線１と中心線２の両方に垂直な方向となり、回転体１の投影方向２は中心線１と中心線２の両方に垂直な全ての方向の中で視線方向に最も近い方向に決定する。
【００６６】
図９において、（ａ）は回転体１と回転体２の投影基準１、２を示し、（ｂ−１）は投影基準１と投影基準２の両方を含む全ての平面Ｎを（ｂ−２）は中心線１と中心線２とが一致している場合の投影基準１と投影基準２の両方を含む全ての平面Ｎを示し、（ｃ−１）は平面Ｎの全ての法線方向を（ｃ−２）は中心線１と中心線２とが一致する場合の平面Ｎの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００６７】
次に、２つの図形要素の投影基準１と投影基準２が共有点を持たない場合について、＜投影方向を決定する規則＞の記述に従って、「投影基準１と２の最短距離で結ぶ線分Ｌ」→「投影基準１と線分Ｌの両方を含む全ての平面Ｍ」→「平面Ｍの法線方向」→「投影方向２」の順に具体的に説明する。
【００６８】
＜組み合わせ２−１−１＞球１と球２の場合（図１０参照）
球１の投影基準である中心点１と球２の投影基準である中心点２が共有点を持たないことから、中心点１と中心点２は一致していない。この場合、線分Ｌは中心点１と中心点２を結ぶ線分となり、平面Ｍは線分Ｌを含む全ての平面であるから、中心点１と中心点２を含む全ての平面となる。従って、平面Ｍの法線方向とは、線分Ｌに垂直な全ての方向となり、球１の投影方向２は中心点１と中心点２を結ぶ線分に垂直な方向の中で視線方向に最も近い方向に決定する。
【００６９】
図１０において、（ａ）は球１と球２の投影基準１、２とを最短距離で結ぶ線分Ｌを示し、（ｂ）は投影基準１と線分Ｌの両方を含む全ての平面Ｍを示し、（ｃ）は平面Ｍの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００７０】
＜組み合わせ２−１−２＞球１と平面２の場合
球１の投影基準である中心点１と平面２の投影基準である法線２の全ての内のいずれかは必ず共有点を持つため、この場合はありえない。
【００７１】
＜組み合わせ２−１−３＞球１と回転体２の場合（図１１参照）
球１の投影基準である中心点１と回転体２の投影基準である中心線２が共有点を持たないことから、中心点１は中心線２上にない。この場合、線分Ｌは中心点１から中心線２へ下ろした垂線となり、平面Ｍは中心点１と線分Ｌを含む全ての平面となる。従って、平面Ｍの法線方向とは、線分Ｌに垂直な全ての方向となり、球１の投影方向２は線分Ｌに垂直な方向の中で視線方向に最も近い方向に決定する。
【００７２】
図１１において、（ａ）は球１の投影基準１と回転体２の投影基準２とを最短距離で結ぶ線分Ｌを示し、（ｂ）は投影基準１と線分Ｌの両方を含む全ての平面Ｍを示し、（ｃ）は平面Ｍの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００７３】
＜組み合わせ２−２−１＞平面１と球２の場合
平面１の投影基準である法線１の全ての内のいずれかと球２の投影基準である中心点２は必ず共有点を持つため、この場合はありえない。
【００７４】
＜組み合わせ２−２−２＞平面１と平面２の場合
平面１の投影基準である法線１の全ての内のいずれかと平面２の投影基準である法線２の全ての内のいずれかは必ず共有点を持つため、この場合はありえない。
【００７５】
＜組み合わせ２−２−３＞平面１と回転体２の場合
平面１の投影基準である法線１の全ての内のいずれかと回転体２の投影基準である中心線２は必ず共有点を持つため、この場合はありえない。
【００７６】
＜組み合わせ２−３−１＞回転体１と球２の場合（図１２参照）
回転体１の投影基準である中心線１と球２の投影基準である中心点２が共有点を持たないことから、中心点２は中心線１上にない。この場合、線分Ｌは中心点２から中心線１へ下ろした垂線となり、平面Ｍは中心線１と線分Ｌを含む平面であるから、中心線１と中心点２を含む平面となる。従って、平面Ｍの法線方向とは、中心線１と中心点２を含む平面の法線方向となり、回転体１の投影方向２は中心線１と中心点２を含む平面に垂直な方向に決定する。
【００７７】
図１２において、（ａ）は回転体１の投影基準１と球１の投影基準、２とを最短距離で結ぶ線分Ｌを示し、（ｂ）は投影基準１と線分Ｌの両方を含む全ての平面Ｍを示し、（ｃ）は平面Ｍの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００７８】
＜組み合わせ２−３−２＞回転体１と平面２の場合
回転体１の投影基準である中心線１と平面２の投影基準である法線２の全ての内のいずれかは必ず共有点を持つため、この場合はありえない。
【００７９】
＜組み合わせ２−３−３＞回転体１と回転体２の場合（図１３参照）
回転体１の投影基準である中心線１と回転体２の投影基準である中心線２が共有点を持たないことから、中心線１と中心線２はねじれの位置又は平行である。この場合、線分Ｌは中心線１と中心線２を最短で結ぶ線分（平行の場合は垂線）となり、平面Ｍは中心線１と線分Ｌを含む（平行の場合は中心線２も含む）平面となる。従って、平面Ｍの法線方向とは、中心線１と線分Ｌの両方に（平行の場合は中心線２にも）垂直な方向となり、回転体１の投影方向２は中心線１と線分Ｌの両方に（平行の場合は中心線２にも）垂直な方向（この方向から投影すると２つの中心線は平行に投影される）と決定する。
【００８０】
図１３において、（ａ）は回転体１と回転体２の投影基準１、２とを最短距離で結ぶ線分Ｌを示し、（ｂ）は投影基準１と線分Ｌの両方を含む全ての平面Ｍを示し、（ｃ）は平面Ｍの全ての法線方向を示し、（ｄ）は投影方向２を示している。
【００８１】
以上の組み合わせを表にまとめたものが、図１４である。
【００８２】
３次元空間内に描画された直線、円弧、閉じた平面、回転体等の図形要素は上述の＜投影方向を決定する規則＞内で定義している投影基準に平行な方向（投影方向１）又は垂直な方向（投影方向２）へ投影すると点・円弧・直線・多角形等の単純な図形に投影される。従って、これらの図形要素を含んでいる立体図形（描画された部品）は投影基準に平行な方向（投影方向１）を「正面方向」（又は「側面方向」）、投影基準に垂直な方向（投影方向２）が「側面方向」（又は「正面方向」）として描かれている可能性が高く、ユーザはこれらのいずれかの方向へ投影したいと望んでいる可能性が高いといえる。
【００８３】
又、投影基準に垂直な方向（投影方向２）はそれだけの条件では無限に存在してしまうので、他方の図形要素との位置関係を参照することによって、一方の図形の「側面方向」（又は「正面方向」）となる可能性が高い方向の中から、他方の図形の「正面方向」又は「側面方向」となる可能性の高い方向を選択するという手順で最適な方向を特定している。以上のような理由から、このように特定された投影方向は、２つの図形要素の幾何情報と視線方向から推定する範囲では、ユーザの望む投影面に適合する確率が実用的なレベルで十分高いといえる。
【００８４】
又、ユーザが図形を正面方向へ投影したいか、側面方向へ投影したいかは、ユーザの視線方向を参照すれば、適合する可能性が高い。図１５はそれを示した図であって、同じ部品の同じ図形要素を選択した場合でも、（ａ）のような視線方向で表示させている状態で要素間最短距離算出コマンドを実行させた場合は投影基準に垂直な方向（側面方向）へ、（ｂ）のような視線方向で表示させている状態で要素間最短距離算出コマンドを実行させた場合は投影基準に平行な方向（正面方向）へ投影させたい場合が多いと考えられる。このため、複数の投影方向の候補が存在した場合は、視線方向に近い方向、つまり視線方向とのなす角が小さい投影方向ほど優先順位を上位にすることによって、ユーザの望む投影方向に適合する確率を更に高めている。
【００８５】
図１６は測定結果の表示例であって、第１の図形要素と第２の図形要素の内、視線方向からみて視点から遠い側の図形に一致して、投影面が表示されている。幾何情報や視線方向を考慮せずに投影面を決定した場合と異なり、本実施の形態のように第１と第２の図形要素の幾何情報と視線方向を考慮して決定した投影方向に対して距離が最も遠い点を含む位置に投影面を表示すれば、必ず測定対象の２部品の奥側に背景として投影面と投影結果と測定結果を表示させることができるため、ユーザにとっての視認性を向上させることができる。
【００８６】
以上のような効果により、ユーザが投影面を選択することなく、ユーザが必要とする方向へ投影した図形要素間の最短距離が非常に高い確率で算出できる機能を有するユーザビリティの優れた図形処理装置及び要素間最短距離算出方法を提供することができる。
【００８７】
［第２の実施の形態］
次に、本発明の第２の実施の形態を図１７のフローチャートに基づき説明する。本実施の形態では第１の実施の形態とほぼ同様な処理であるが、以下の処理が異なる。
【００８８】
第１の実施の形態ではＳ１０００において図形間の最短距離を算出するモードに入ったときにおける視線方向をＲＡＭ４の格納領域４ａに格納していたが、これに代わりにＳ１０２１において、第１の図形要素が選択されたときにおける視線方向をＲＡＭ４の格納領域４ａに格納する。
【００８９】
第１の実施の形態では、投影面を測定するときに入力する視線方向を要素間の最短距離を算出するモードに入ったときの視線方向としていたが、本実施の形態ではそれを第１の図形要素が選択されたときの視線方向とした。
【００９０】
ユーザが処理している対象図形の形状によっては、この方がユーザの望む投影面に適合する確率が高くなる場合があれば、このように処理してもかまわない。又、視線方向を第２の図形要素が選択されたときとしても、ユーザの望む投影面に適合する確率が高くなるのであれば、本実施の形態と同様の効果が得られる。
【００９１】
図１８はそのフローチャートを示したものであって、ステップＳ１０４１において、第２の図形要素が選択されたときにおける視線方向をＲＡＭ４の格納領域４ａに格納している。更に、ソフトキーを利用して、どの状態における視線方向を参照するかをユーザによる設定可能としてもよい。
【００９２】
［第３の実施の形態］
次に、本発明の第３の実施の形態を、図１９に基づき説明する。本実施の形態では第１の実施形態とほぼ同様な処理であるが、以下の処理が異なる。
【００９３】
第１の実施の形態における投影面を特定する規則の中の上述の＜投影面の位置を決定する規則＞を本実施の形態では、下記が異なる。
【００９４】
＜第３の実施の形態における投影面の位置を決定する規則＞
特定された投影方向のそれぞれに対して、選択された２つの図形の内で該当の投影方向に有限な図形上の点でかつ該当の投影方向に対して距離が最も遠い点を含む位置から更にｄだけ遠ざかった位置とする。
【００９５】
図１９は本実施の形態における表示結果を示した図であって、第１の実施の形態の表示結果の図１６と異なる点は、図１６が第１の図形要素と第２の図形要素の内、視線方向からみて視点から遠い側の図形に一致させて、投影面を表示しているのに対して、図１９では更に投影方向へｄだけ遠ざけて表示している点である。
【００９６】
図１９のように、視線方向からみて視点から遠い側の図形要素が投影面に完全に含まれてしまう場合などは、図１６のように奥側の図形と一致させるのではなく、図１９のように第１と第２の図形要素の幾何情報から相対距離から適当な長さを算出した適当な距離：ｄだけ更に視線から遠ざけて投影面を表示させた方が一層ユーザにとっての視認性を向上させることができる場合もある。図１９では第１の図形と第２の図形の相対距離の１／３倍の長さをｄとして表示させている。
【００９７】
［第４の実施の形態］
図２０は、本発明の図形処理装置の第４の実施の形態の構成を示すブロック図であり、２０１は制御線、データ線及びアドレス線を含むバスである。このバス１には、中央処理装置（ＣＰＵ）２０２、リードオンリメモリ（ＲＯＭ）２０３、ランダムアクセスメモリ（ＲＡＭ）２０４がそれぞれ接続されている。また、バス２０１には入力インターフェース２０５を介してキーボード、タブレット及びマウス等の入力装置２０６が、出力インターフェース２０７を介して出力装置２０８が、外部記憶装置インターフェース２０９を介して外部記憶装置２１０がそれぞれ接続されている。出力装置２０８はＣＲＴ，ＬＣＤ等の表示出力装置２０８ａ及びプリンタ、プロッタ等の印字出力装置２０８ｂからなる。外部記憶装置２１０はハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）、ＣＤ−ＲＯＭ、ミニディスク（ＭＤ）などの磁気ディスク及び磁気テープ等からなる。
【００９８】
ＣＰＵ２０２は本装置全体の制御を司るものである。ＲＯＭ２０３には、処理プログラム２０３ａ及びパラメータ２０３ｂが格納されている。ＲＡＭ２０４は、第１の図形要素の幾何情報格納領域２０４ａ、第２の図形要素の幾何情報格納領域２０４ｂ、投影面情報格納領域２０４ｃ、測定結果格納領域２０４ｄ、及び不図示の図形要素格納領域などを有している。そして、ＣＰＵ２０２は、ＲＯＭ２０３に記憶された処理プログラムに応じてＲＡＭ２０４を一時記憶装置として様々の処理及び制御、たとえば図形入力制御、図形表示処理、ピック処理、距離算出等を行う。表示装置２０８ａは必要に応じて複数のビットマッププレーン等を含んでおり、図形を表示する。
【００９９】
図２１は、図２０における出力装置２０８ａに表示される画像の例を表しており、それぞれ２８１は図形表示エリア、２８２は第１ボタン、２８３はマウスポインタ、２８４は第１情報出力エリア、２８５はパネル上の第２ボタン、２８０はパネル上の第２情報出力エリア、２８７はパネル、２８６は３Ｄ図形である。これらのボタンは、全てソフトキーである。図形表示エリア２８１には、ＲＡＭ２０４の不図示の図形要素格納領域に格納された図形要素に基づき、３Ｄ図形が表示される。
【０１００】
この表示装置２０８ａ上で、キーボードや、マウスなどの入力装置６を操作することによって、図示されるような３Ｄ図形２８６の要素間の最短距離算出が対話的に行われる。またマウスポインタ２８３と入力装置２０６を使用して、第一ボタン２８２上の適切な位置を選択することにより、要素間の最短距離を算出するモードに入ることができる。
【０１０１】
以下、図２２に図示したフローチャートに基づき、本実施の形態における要素間の最短距離を算出する処理について説明する。
【０１０２】
まず、キーボードからの入力、或いは、マウスでマウスポインタ２８３を移動することにより第１のボタン２８２の中の図形要素間の最短距離を算出するモードを指示する。
【０１０３】
この指示に基づき、図形要素間の最短距離を算出するモードに入る。このモードで、Ｓ２０００において、マウスやキーボードなどの入力装置６を介してユーザが測定したい第１の図形要素（点、稜線、面、円弧  等）を選択する。この時、誤った選択を防止して作業効率を向上させるため、あらかじめ選択したい図形要素の属性（点、直線、面、円弧  等の種別）をユーザが指定し、該当する属性の図形要素のみしか選択できないようにするフィルター機能や、あらかじめ選択したい図形要素を含む部品をユーザが指定し、該当の部品内の図形要素しか選択できないようにするフィルター機能を持たせてもよい。
【０１０４】
又、選択対象となる図形要素が表示装置上で見にくい位置に配置されている場合、ユーザがマウスなどの入力装置２０６を使用し、視点の位置、視線方向を自由に変える操作を割り込みさせる機能、又、円弧の中心や線分の中点など実態の存在しない架空点や円筒面の中心など実態の存在しない架空直線などの選択を可能にするために、ユーザが円弧を選択することによってその中心点が選択されたように処理したり、線分を選択することによってその中点が選択されたように処理したり、円筒面を選択することによってその中心軸が選択されたように処理する等の架空要素選択機能を有する構成としてもよい。
【０１０５】
次に、ステップＳ２０１０において、選択された第１の図形要素の幾何情報をＲＡＭ２０４の第１の図形要素の幾何情報格納領域２０４ａに格納する。ここで幾何情報とは、点、直線、円弧、平面、円筒面などの図形に応じた、点・端点・頂点の座標や円の半径等の数値であって、空間図形を一意的に決定するために必要なパラメータを意味する。
【０１０６】
続いて、ステップＳ２０２０において、マウスやキーボードなどの入力装置２０６を介してユーザが測定したい第２の図形要素を選択する。この場合においてもステップＳ２０１０と同様に前述のフィルター機能や割り込み機能や架空要素選択機能が設けられる。
【０１０７】
次に、ステップＳ２０３０において、選択された第２の図形要素の幾何情報をＲＡＭ２０４の第２の図形要素の幾何情報格納領域２０４ｂに格納する。
【０１０８】
次に、ステップＳ２０４０において、パネル２８７又は第２の情報出力エリア２８６を介してユーザに投影面を自動選択とするか手動選択とするかの選択を促す。ユーザの選択はマウスやキーボードなどの入力装置２０６を介して、パネル上の第２ボタン２８５にマウスポインタを配置することによって入力される。
【０１０９】
次に、ステップＳ２０４０においてユーザが手動を選択した場合は、ステップＳ２０６０に処理が移る。
【０１１０】
次に、ステップＳ２０５０において、マウスやキーボードなどの入力装置２０６を介して、マウスポインタを操作し、ユーザが自分の投影したい投影面を選択し、ユーザの望む投影面をＲＡＭ２０４の投影面情報格納領域２０４ｃへ格納する。
【０１１１】
又、ステップＳ２０４０においてユーザが自動を選択した場合はｘｙ平面・ｙｚ平面・ｘｚ平面などのコマンド内にあらかじめ用意された平面を投影面としてＲＡＭ２０４の投影面情報格納領域２０４ｃへ格納する。
【０１１２】
次に、ステップＳ２０６０において、ステップＳ２０４０またはステップＳ２０５０で決定した投影面を作成し、投影面上に選択された測定対象となる２図形の投影図形を作成する。
【０１１３】
次に、ステップＳ２０７０において、ステップＳ２０６０において投影された２投影図形間の最短距離を算出する。
【０１１４】
次に、ステップＳ２０８０において、投影面に垂直な方向と現在の視線方向のなす角度を算出し、算出された角度だけ視線方向を旋回させることによって視線方向を投影面に対して垂直な方向に変更する。
【０１１５】
次に、ステップＳ２０９０において、ステップＳ２０７０において算出された最短距離を数値で表示装置２０８に出力する。
【０１１６】
次に、ステップＳ２１１０において、ステップＳ２０７０で算出された最短距離の情報に基づき、表示装置８ａに最短距離を表す線分と投影面を描画する。
【０１１７】
ステップＳ２０８０における視線方向を投影面に対して垂直な方向に変更する処理が実行されていることが従来例と異なる点であって、図２３（ａ）は従来例における測定結果の表示状態、図２３（ｂ）は本実施例における視線方向を投影面に対して垂直な方向に変更する処理を施した測定結果の表示状態である。図２３に示すとおり、立体的に図形を表示する３次元図形処理装置であっても、測定結果を表示する際は（ｂ）のように平面的に表示した方が、ユーザにとって測定結果が確認しやすく、視認性が高いといえる。
【０１１８】
このように、ステップＳ２０８０における視線方向を投影面に対して垂直な方向に変更する処理によって、視認性が高くユーザビリティの優れた図形処理装置を提供することができる。
【０１１９】
ここでは投影面をあらかじめ設定された平面の中からユーザが選択する方法を説明したが、第１〜第３の実施形態のように自動的に決定する方法を採用してもよい。
【０１２０】
［第５の実施の形態］
次に、本発明の第５の実施の形態を図２４に示すフローチャートに基づき説明する。第４の実施の形態とほぼ同様な処理であるが、以下の処理が異なる。
【０１２１】
ステップＳ２０８０の後にステップＳ２０８１を追加して、３つの絶対座標軸であるｘ軸、ｙ軸、ｚ軸の中で投影面とのなす角が最も小さい軸を投影面へ投影した直線が、表示装置の図形表示エリアの水平方向又は垂直方向になるように視線を回転させる。ただし、該当の座標軸を投影した直線が水平方向又は垂直方向になるように回転させる角度は、水平方向又は垂直方向、時計周り又は半時計周り等全ての組み合わせの中で、絶対値が最小の角度を必ず選択するものとする。
【０１２２】
図２５（ａ）は第４の実施の形態における測定結果の表示状態、図２５（ｂ）は本実施の形態における絶対座標のｘｙ平面、ｙｚ平面、ｘｚ平面のいずれかを水平・垂直方向を合わせる回転処理を実行した測定結果の表示状態である。現在の視線方向から投影面の視線方向へ方向を変換させただけでは、（ａ）のように測定結果がななめに表示されてしまう可能性が高い。図形処理装置内で描画されている図形要素は、３つの絶対座標軸であるｘ軸、ｙ軸、ｚ軸のいずれかに平行又は垂直であることがほとんどであるから、ステップＳ２０８１に示すような回転処理をした方が図形要素や最短距離を示す線分が表示装置内の図形表示エリアで水平又は垂直な方向となる可能性が高くなる。
【０１２３】
このように３つの絶対座標軸であるｘ軸、ｙ軸、ｚ軸の中で投影面とのなす角が最も小さい軸を投影面へ投影した直線が、表示装置の図形表示エリアの水平方向又は垂直方向になるように視線を回転させて表示することによって、ユーザにとって測定結果の確認しやすく、視認性が高くなる。このような効果により、視認性が更に高くユーザビリティの優れた図形処理装置を提供することができる。
【０１２４】
［第６の実施の形態］
次に、本発明の第６の実施の形態を図２６のフローチャートに基づき説明する。第５の実施の形態とほぼ同様な処理であるが、以下の処理が異なる。
【０１２５】
ステップＳ２０８１の後にステップＳ２０８２を追加して、表示装置２０８ａの図形表示エリアの中央部に投影面に投影された２つの図形と最短距離を示す線分を表示させるように視線位置とズームを設定する。
【０１２６】
このステップＳ２０８２における表示装置２０８ａの図形表示エリアの中央部に投影面に投影された２つの図形と最短距離を示す線分を表示させるように視線位置とズームを設定する処理を実行することが第１、第５の実施の形態と異なる点であって、図２７（ａ）は第５の実施の形態における測定結果の表示状態、図２７（ｂ）は本実施の形態における視線位置とズームの設定処理を実行した測定結果の表示状態である。この視線位置とズームの設定処理に使用するパラメータとして、「表示装置の図形表示エリア」に対する「投影面に投影された２つの図形と最短距離を示す線分が表示されているエリア」の割合があるが、この割合はプログラムの内で定数として固定する方法や、測定対象の大きさから判断してプログラム側で適宜変化させる方法や、ユーザが設定する方法などが考えられる。図２７（ｂ）はこの割合を２０％とした例である。
【０１２７】
このように測定された部分を表示装置２０８ａの図形表示エリアのほぼ中央に表示することによって、ユーザにとって測定結果の確認しやすく、視認性が高くなる。このような効果により、視認性が更に高くユーザビリティの優れた図形処理装置を提供することができる。
【０１２８】
［第７の実施の形態］
次に、本発明の第７の実施の形態を図２８のブロック図と図２９のフローチャートに基づき説明する。
【０１２９】
図２８は本発明の図形処理装置の第７の実施の形態の構成を示すブロック図であり、図２０と異なる点はＲＡＭ２０４に部品の表示・非表示状態格納領域２０４ｅ、視線状態格納領域２０４ｆが追加されている点である。
【０１３０】
図２９は本実施の形態に係る要素間の最短距離を算出するモードに入った後の処理の流れを示すフローチャートであり、第６の実施の形態とほぼ同様な処理であるが、以下の処理が異なる。
【０１３１】
まず、ステップＳ１００において、要素間の最短距離を算出するモードに入ったときの「視線位置と方向とズームの状態」をＲＡＭ２０４内の視線状態格納領域２０４ｆに「視線状態リスト」として格納し、同時に「表示装置に表示されている全部品の表示・非表示状態」をＲＡＭ２０４内の部品の表示・非表示状態格納領域２０４ｅに「表示状態リスト」として格納する。以降のＳ２１００までの処理は第６の実施の形態と同様である。
【０１３２】
要素間の最短距離を算出するモードを終了するときに、ステップＳ２１１０を追加して、ＲＡＭ２０４内の視線状態格納領域２０４ｆに格納された「視線状態リスト」と、部品の表示・非表示状態格納領域２０４ｅに格納された「表示状態リスト」を読み出し、それを基に、視線の位置と方向とズームの状態と表示装置２０８ａに表示されている全部品の表示・非表示の状態を要素間の最短距離を算出するモードに入る前の状態に戻した後、要素間の最短距離を算出するモードを終了する。
【０１３３】
第４の実施の形態では視線方向を投影面に対して垂直な方向に変更する処理によって、又、第５の実施の形態では３つの絶対座標軸であるｘ軸、ｙ軸、ｚ軸の中で投影面とのなす角が最も小さい軸を投影面へ投影した直線が、表示装置の図形表示エリアの水平方向又は垂直方向に合わせる処理によって、又、第６の実施の形態では更に測定された部分を表示装置のほぼ中央に表示させる処理によって、ユーザによる測定結果の確認が容易になり視認性が向上しているが、その表示状態のままで要素間の最短距離を算出するモードを終了した場合、要素間の最短距離の算出に続く作業をユーザが継続するにあたって適切でない可能性が高い。本実施の形態では要素間の最短距離を算出するモードに入ったときのの視線や部品の表示・非表示の表示状態を記憶し、要素間の最短距離を算出するモードを終了するときにその表示状態に戻す処理によって、ユーザは要素間の最短距離の算出に続く作業を継続しやすい表示状態を自動的に得ることが可能になり、一層ユーザビリティの優れた図形処理装置を提供することができる。
【０１３４】
以上説明したように、第１の実施の形態によれば、図形要素の幾何情報と視線方向を参照して投影方向を特定することにより、ユーザが投影面を選択することなく、ユーザが必要とする方向へ投影した図形要素間の最短距離が非常に高い確率で表示することが可能となる。
【０１３５】
又、図形要素の幾何情報と視線方向を参照して投影面の位置を特定することにより、ユーザにとって測定結果の視認性の高い図形処理装置及び方法を提供することが可能となる。
【０１３６】
又、第２の実施の形態によれば、視線方向を格納するタイミングを変更することによって様々なユーザの用途に対応することが可能なる。
【０１３７】
又、第３の実施形態によれば、更にユーザにとって測定結果の視認性の高い図形処理装置及び方法を提供することが可能となる。
【０１３８】
又、第４の実施の形態によれば、視線方向を投影面に対して垂直な方向に変更する処理によって、ユーザにとって測定結果を確認しやすくすることが可能となる。
【０１３９】
又、第５の実施の形態によれば、３つの絶対座標軸であるｘ軸、ｙ軸、ｚ軸の中で投影面とのなす角が最も小さい軸を投影面へ投影した直線が、表示装置の図形表示エリアの水平方向又は垂直方向になるように視線を回転させる処理によって、ユーザにとって測定結果を確認しやすくすることが可能となる。
【０１４０】
又、第６の実施の形態によれば、測定された部分を図形エリアの中央に表示させる視線の移動処理によって、ユーザにとって測定結果を確認しやすくすることが可能となる。
【０１４１】
又、第７の実施の形態によれば、要素間の最短距離を算出するモードに入ったときの視線や部品の表示・非表示の表示状態を記憶し要素間の最短距離を算出するモードを終了するときにその表示状態に戻す処理によって、ユーザは要素間の最短距離の算出に続く作業を継続しやすい表示状態を自動的に得ることが可能になる。
【０１４２】
【発明の効果】
以上のとおり本発明によれば、ユーザビリティの高い図形処理装置及び方法が提供できる。
【図面の簡単な説明】
【図１】本発明の図形処理装置の第１の実施の形態の構成を示すブロック図である。
【図２】図１の表示装置に表示される画面の例を示す図である。
【図３】図１の図形処理装置における図形要素間の距離を算出する動作処理を示すフローチャートである。
【図４】第１の図形要素が球、第２の図形要素が球の組み合わせの場合の具体例を説明する図である。
【図５】第１の図形要素が球、第２の図形要素が平面の組み合わせの場合の具体例を説明する図である。
【図６】第１の図形要素が球、第２の図形要素が回転体の組み合わせの場合の具体例を説明する図である。
【図７】第１の図形要素が平面、第２の図形要素が平面の組み合わせの場合の具体例を説明する図である。
【図８】第１の図形要素が平面、第２の図形要素が回転体の組み合わせの場合の具体例を説明する図である。
【図９】第１の図形要素が回転体、第２の図形要素が回転体の組み合わせの場合の具体例を説明する図である。
【図１０】第１の図形要素が球、第２の図形要素が球の組み合わせの場合の具体例を説明する図である。
【図１１】第１の図形要素が球、第２の図形要素が回転体の組み合わせの場合の具体例を説明する図である。
【図１２】第１の図形要素が回転体、第２の図形要素が球の組み合わせの場合の具体例を説明する図である。
【図１３】第１の図形要素が回転体、第２の図形要素が回転体の組み合わせの場合の具体例を説明する図である。
【図１４】第１、第２の図形要素の具体的な組み合わせと処理の関係をまとめた表である。
【図１５】図１の表示装置に表示される測定結果の表示例を示す図である。
【図１６】図１の表示装置に表示される測定結果の表示例を示す図である。
【図１７】第２の実施の形態における図形要素間の距離を算出する動作処理を示すフローチャートである。
【図１８】第３の実施の形態における図形要素間の距離を算出する動作処理を示すフローチャートである。
【図１９】第３の実施の形態における表示装置に表示される測定結果の表示例を示す図である。
【図２０】本発明の図形処理装置の第４の実施の形態の構成を示すブロック図である。
【図２１】図２０の表示装置に表示される画面の例を示す図である。
【図２２】図２０の図形処理装置における第４の実施の形態の動作処理を示すフローチャートである。
【図２３】図２０の表示装置に表示される表示例を示す図である。
【図２４】図２０の図形処理装置における第５の実施の形態の動作処理を示すフローチャートである。
【図２５】図２０の表示装置に表示される表示例を示す図である。
【図２６】図２０の図形処理装置における第６の実施の形態の動作処理を示すフローチャートである。
【図２７】図２０の表示装置に表示される表示例を示す図である。
【図２８】本発明の図形処理装置の第７の実施の形態の構成を示すブロック図である。
【図２９】図２８の図形処理装置における第７の実施の形態の動作処理を示すフローチャートである。
【図３０】従来の測定結果の表示例を示す図である。
【図３１】従来の図形処理装置の１例を示す図である。
【図３２】従来の図形処理装置の１例を示す図である。
【図３３】従来の図形処理装置の１例を示す図である。
【符号の説明】
１  バス
２  ＣＰＵ
３  ＲＯＭ
３ａ  処理プログラム３ａ
３ｂ  パラメータ
３ｃ  図形要素間の関係情報
４  ＲＡＭ
４ａ  視線方向格納領域
４ｂ  第１の図形要素の幾何情報格納領域
４ｃ  第２の図形要素の幾何情報格納領域
４ｄ  投影面情報格納領域
４ｅ  測定結果格納領域
６  入力装置
８  出力装置
１０  外部記憶装置
【図１】
0004054589.tif 000002
【図２】
0004054589.tif 000003
【図３】
0004054589.tif 000004
【図４】
0004054589.tif 000005
【図５】
0004054589.tif 000006
【図６】
0004054589.tif 000007
【図７】
0004054589.tif 000008
【図８】
0004054589.tif 000009
【図９】
0004054589.tif 000010
【図１０】
0004054589.tif 000011
【図１１】
0004054589.tif 000012
【図１２】
0004054589.tif 000013
【図１３】
0004054589.tif 000014
【図１４】
0004054589.tif 000015
【図１５】
0004054589.tif 000016
【図１６】
0004054589.tif 000017
【図１７】
0004054589.tif 000018
【図１８】
0004054589.tif 000019
【図１９】
0004054589.tif 000020
【図２０】
0004054589.tif 000021
【図２１】
0004054589.tif 000022
【図２２】
0004054589.tif 000023
【図２３】
0004054589.tif 000024
【図２４】
0004054589.tif 000025
【図２５】
0004054589.tif 000026
【図２６】
0004054589.tif 000027
【図２７】
0004054589.tif 000028
【図２８】
0004054589.tif 000029
【図２９】
0004054589.tif 000030
【図３０】
0004054589.tif 000031
【図３１】
0004054589.tif 000032
【図３２】
0004054589.tif 000033
【図３３】
0004054589.tif 000034