(57)【特許請求の範囲】
【請求項１】
視点の変更が可能な三次元図形表示装置において、
ベクトルの表示のために、該ベクトル表示図形におけるベクトルの先端点、または始点に、同一平面上になく、かつ該ベクトルの大きさに対応する長さより短い３本以上の線分を、前記ベクトルを表示する表示空間を示す座標軸にそれぞれ平行とし、かつ該３本以上の線分がそれぞれ平行となる軸を区別可能なように接続する形式で、該ベクトル表示データを作成するデータ作成手段と、
該作成されたデータを用いて、視点の位置に対応して該ベクトル表示図形をディスプレイ上に表示する表示手段と
を備えることを特徴とする三次元図形の表示装置。
【請求項２】
前記データ作成手段が、前記３本以上の線分を、前記それぞれ平行となる軸に対応する変数の値が正である範囲に限定して、前記ベクトル表示データを作成することを特徴とする請求項１記載の三次元図形の表示装置。
【請求項３】
前記データ作成手段が、前記３本以上の線分を、前記それぞれ平行となる軸に対応する変数の値が負である範囲に限定して、前記ベクトル表示データを作成することを特徴とする請求項１記載の三次元図形の表示装置。
【請求項４】
視点の変更が可能な三次元図形表示装置において、
ベクトルの表示のために、該ベクトル表示図形におけるベクトルの先端点、または始点に、各座標軸方向に平行な２枚以上の面を接続する形式で、該ベクトル表示データを作成するデータ作成手段と、
該作成されたデータを用いて、視点の位置に対応して該ベクトル表示図形をディスプレイ上に表示する表示手段と
を備えることを特徴とする三次元図形の表示装置。
【請求項５】
視点の変更が可能な三次元図形表示装置において、
ベクトルの表示のために、該ベクトル表示図形におけるベクトルの先端点、または始点に、各座標軸方向に平行な線分、面、立体、またはこれらの２種以上の組合わせを接続する形式で、該ベクトル表示データを作成するデータ作成手段と、
該作成されたデータを用いて、視点の位置に対応して該ベクトル表示図形をディスプレイ上に表示する表示手段と
を備えることを特徴とする三次元図形の表示装置。
【請求項６】
視点の変更が可能な形式で三次元図形を表示させるプログラムを記録した記録媒体であって、
ベクトルの表示のために、ベクトル表示図形におけるベクトルの先端点、または始点に、同一平面上になく、かつ該ベクトルの大きさに対応する長さより短い３本以上の線分を、前記ベクトルを表示する表示空間を示す座標軸にそれぞれ平行とし、かつ該３本以上の線分がそれぞれ平行となる軸を区別可能なように接続する形式で、該ベクトルの表示データを作成する機能と、
該作成されたデータを用いて、視点の位置に対応して該ベクトルの表示図形をディスプレイ上に表示する機能と
を計算機に行わせるためのプログラムを記録した計算機読出し可能記録媒体。
【請求項７】
視点の変更が可能な形式で三次元図形を表示させるプログラムを記録した記録媒体であって、
ベクトルの表示のために、ベクトル表示図形におけるベクトルの先端点、または始点に、各座標軸方向に平行な２枚以上の面を接続する形式で、該ベクトルの表示データを作成する機能と、
該作成されたデータを用いて、視点の位置に対応して該ベクトルの表示図形をディスプレイ上に表示する機能と
を計算機に行わせるためのプログラムを記録した計算機読出し可能記録媒体。
【請求項８】
視点の変更が可能な形式で三次元図形を表示させるプログラムを記録した記録媒体であって、
ベクトルの表示のために、ベクトル表示図形におけるベクトルの先端点、または始点に、各座標軸方向に平行な線分、面、立体、またはこれらの２種以上の組合せを接続する形式で、該ベクトルの表示データを作成する機能と、
該作成されたデータを用いて、視点の位置に対応して該ベクトルの表示図形をディスプレイ上に表示する機能と
を計算機に行わせるためのプログラムを記録した計算機読出し可能記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表示図形の回転や移動など、利用者からその図形を見る視点を変更することができる視点変更機能を持つ三次元図形の表示装置に係り、更に詳しくはこのような視点変更を行っても、例えば座標軸上の目盛の位置を常に確認することが可能な三次元図形の表示装置に関する。
【０００２】
【従来の技術】
従来の三次元図形の表示装置において、例えば三軸グラフなど、三方向の軸と目盛を表示する場合には、一般に目盛は１つの方向だけにしか表示されていなかった。図２４は軸と目盛の表示方法の従来例である。同図において、ｘ軸に対する目盛はｘ−ｙ平面、ｙ軸に対する目盛はｙ−ｚ平面、ｚ軸に対する目盛はｘ−ｚ平面上にしか描かれていない。
【０００３】
このような表示方法は、視点が固定された形式の三次元図形表示装置においては有効であるが、回転や移動など利用者の操作によって表示された図面に対する視点の変更が可能な表示装置においては、目盛線の延長上に視点がきた場合に目盛線は点となってしまい、その点上に軸が描かれるため、目盛の位置を識別することが不可能となる。
【０００４】
図２５はこのような問題点の説明図である。同図は図２４の座標軸を、ｙ−ｚ平面に垂直な方向、すなわちｘ軸方向から見た場合の軸と目盛を示す図であり、ｚ軸上の目盛がｚ軸と重なってしまうために、その目盛の位置を識別することができなくなっている。同様に図２４の座標軸をｚ−ｘ平面に垂直な方向から見た場合にはｘ軸上の目盛、ｘ−ｙ平面に垂直な方向から見た場合にはｙ軸上の目盛が軸と重なってしまい、目盛の位置を識別することができなくなる。
【０００５】
また図２４のように軸と目盛を表示する場合には、視点の移動や特定の目盛付近の拡大によって、他の軸が表示領域から見えなくなるときは、方向を示す指標となる他の軸が表示されなくなることによって、利用者が表示された部分をどの方向から見ているかという方向認識ができなくなってしまう。図２６はこのような場合の例を示し、ｙ軸以外の他の２つの方向、すなわちｘ，ｚ軸が表示領域外にある場合のｙ軸の表示状態を示す。この表示状態では、表示領域に示されているｙ軸上の部分を、利用者はどの方向から見ているかを認識することができない。すなわち従来の目盛表示方向では、軸の目盛自体は視点の方向を示す機能を持っていない。
【０００６】
続いて従来の三次元図形表示装置におけるベクトルの表示方法について説明する。図２７は従来のベクトル表示例の説明図である。同図においては、ベクトルはその始点と先端点とを結ぶ線分（本発明では以後、この部分をベクトルの幹線と呼ぶことにする。）、および全体として矢印とするために先端点に付けられた２本の短い線分（この部分を枝線と呼ぶことにする。）を用いて一次元的に表示するか、三角形のような二次元図形を用いて表示が行われている。
【０００７】
このようなベクトルの表示方法は、視点が固定された三次元図形の表示装置においては、一般的に常にベクトルの始点と先端点とを区別することができて表示が有効であるが、視点の変更が可能な表示装置においては、ベクトルの図形が視線と同一方向の面上にある場合にはベクトルの枝線と幹線とが重なってしまい、ベクトルの先端点と始点とを区別することができなくなってしまう。
【０００８】
図２８はこのような問題点の説明図である。同図においてｘ−ｙ平面に垂直な方向に視点がある場合には、ベクトルの始点と先端点とを区別することができるが、ｙ−ｚ平面、およびｚ−ｘ平面に垂直な方向に視点がある場合には、ベクトルの幹線と枝線とが重なってしまい、ベクトルの始点と先端点とを識別することができない。
【０００９】
次にベクトルの表示に際しても、従来の表示方法においては特定の目盛付近を拡大することなどによって、座標軸が表示領域の外に出た場合には方向を示す指標がなくなり、どの方向からベクトルを見ているかという方向認識ができなくなってしまう。
【００１０】
図２９はこのような問題点の説明図であり、３本の軸が表示領域外にある場合のベクトル図形の表示状態を示す。この図においては、３本の軸が表示領域から見えなくなってしまい、ベクトルをどの方向から見ているかという方向認識を行うことができない。
【００１１】
最後に従来の三次元図形表示装置において、立体の内部を表示する時の表示方法について説明する。
図３０は立体図形の内部の表示方法の従来例である。同図においては、直方体の内部に１つの立方体が存在する様子が示されている。この図では、この内部の立方体の存在を示すために直方体の前面、上面、および右側面の３つの面が削除されて、図形表示が行われている。
【００１２】
このように立体図形の一部分を削除して立体の内部の状態を表示する方法は、視点が固定された三次元図形の表示装置においては有効であるが、視点の変更が可能な表示装置では、例えば削除されていない面が確認対象となる立方体と視点との中間に存在する場合には、立体の内側を表示することができず、内部の物体を確認することができなくなる。
【００１３】
図３１はこのような問題点の説明図である。同図は図３０の表示形式の立体図形を左斜め前方から見た状態を示している。従来の表示装置においては、削除されている面が決まっているために、図３１においては内部の立方体の一部が左側面の壁に隠れてしまい、内部の物体を完全に確認することができない。
【００１４】
【発明が解決しようとする課題】
以上のように、表示図形の回転や移動などのように、利用者の操作によって表示図形に対する視点の変更が可能な三次元図形表示装置においては、従来のような軸の目盛の表示方法を用いると、軸の目盛線の延長上に視点がある場合に目盛線が点となってしまい、その点の上に軸が描かれるため、目盛の位置が識別できなくなるという第１の問題点があった。
【００１５】
またこのような三次元図形表示装置において、従来の座標軸と目盛の表示方法では、他の軸が表示領域から見えなくなった場合に、表示領域をどの方向から見ているかという方向認識ができなくなるという第２の問題点があった。
【００１６】
次に、このような視点の変更が可能な三次元図形の表示装置において従来のようなベクトルの表示方法を用いると、ベクトル表示図形が視線と同一方向の面上に描かれている場合には、ベクトルの幹線と枝線が重なってしまい、ベクトルの始点と先端点とを区別できなくなるという第３の問題点があった。
【００１７】
またこのような表示装置において、ベクトルを表示する図形付近のみを拡大することによって座標軸が表示領域から見えなくなる場合には、そのベクトルをどの方向から見ているかという方向認識ができなくなるという第４の問題点があった。
【００１８】
更にこのように視点の変更が可能な三次元図形の表示装置においては、立体の内部に存在する物体を確認しようとする時、例えば削除されていない立体の面が表示対象となる内部の物体と視点との中間に存在する場合には、立体内部の物体を確認できなくなるという第５の問題点があった。
【００１９】
本発明は、以上述べたような第１〜第５の問題点を解決することができる三次元図形の表示装置を提供することを目的とする。
【００２０】
【課題を解決するための手段】
図１は本発明の原理構成ブロック図である。同図は利用者の操作に応じて、回転や移動など、表示図形を見るための視点の変更が可能な三次元図形表示装置において、本発明を実現するための原理構成を示す。
【００２１】
後述する本発明の第１の実施例においては、前述の第１、および第２の問題点を解決する三次元図形表示装置が実現される。すなわち座標軸の目盛線の延長上に視点がある場合にも、目盛の位置を識別可能にするという目的と、ある座標軸の一部の目盛付近を拡大することによって、他の座標軸が表示領域から見えなくなっても、利用者がどの方向から拡大された部分を見ているかという方向認識を可能とするという目的とを達成するものである。
【００２２】
第１の実施例において、図１のデータ作成手段１は座標軸の表示のために、表示座標軸に垂直な面内にあって、かつ同一直線上にない２本以上の線分の組合わせとして、その座標軸に対応する変数の値のそれぞれに対する目盛データを作成する。
【００２３】
また表示手段２は、データ作成手段１によって作成された目盛データを用いて、利用者の視点の位置に対応して、座標軸およびその目盛をディスプレイ上に表示する。
【００２４】
すなわち従来例の図２４では、例えばｘ軸に対する目盛はｘ−ｙ平面上の１本の線分のみで表されているが、第１の実施例では更にもう１本の線分を、例えばｚ−ｘ平面に追加し、同一直線上にない２本以上の線分の組合わせとして、目盛線のデータが作成されることになる。これによって例えばｘ−ｚ平面に垂直な方向、すなわちｙ軸の方向からｘ軸を見てもｚ−ｘ平面の目盛線はそのまま表示され、視点の方向によって目盛の位置が不明になるということがなくなる。
【００２５】
第１の実施例において、例えば２本の線分としての目盛線のなす角度は一般的に任意の角度でよいが、２本の目盛線を互いに垂直とし、それぞれの目盛線がその目盛がつけられている軸以外の他の軸に平行となるようにしておけば、その軸のある目盛付近を拡大することによって他の軸が表示領域から見えなくなっても、表示部分をどのような方向から見ているかという方向認識が可能となる。
【００２６】
後述する本発明の第２の実施例は、前述の第３、および第４の問題点の解決を目的とするものである。すなわち視点の変更によってベクトルの始点と先端点の区別が不明になるという問題点の解決と、ベクトル表示図形付近だけを拡大することによって座標軸が表示領域から見えなくなった場合にも、そのベクトル図形をどの方向から見ているかという方向認識を可能にすることを目的とする。
【００２７】
第２の実施例において、図１のデータ作成手段１はベクトルの表示のために、ベクトル表示図形におけるベクトルの先端点、または始点に、同一平面上になく、かつこのベクトルの大きさに対応する長さよりも短い３本以上の線分を接続する形式で、ベクトル表示データを作成するものである。
【００２８】
また表示手段２は、データ作成手段１によって作成されたデータを用いて、視点の位置に対応してそのベクトル表示図形をディスプレイ上に表示するものである。
【００２９】
すなわち第２の実施例では、例えば従来例の図２７で説明した１本の幹線に２本の枝線をつけた矢印に代わって、枝線を３本以上とした矢印が用いられる。この３本の枝線として同一平面上にないものを用いることによって、３本の枝線のうち２本の枝線を含む平面上に視点がある場合にも、他の１本の枝線は幹線と重なることがなく、必ず１本以上の枝線が表示されることになるので、ベクトルの始点と先端点とを区別することが常に可能となる。
【００３０】
また第２の実施例において、例えば３本の枝線を各座標軸にそれぞれ平行とすることにより、そのベクトルの表示領域のみが拡大されて座標軸が表示領域から見えなくなっても、そのベクトルをどの方向から見ているかという方向認識が可能となる。
【００３１】
後述する本発明の第３の実施例は前述の第５の問題点を解決するためのものである。すなわち視点の変更が可能な三次元図形表示装置において、例えば削除されていない立体の面が表示対象となる立体内部の物体と視点との中間に存在する場合にも、確認対象としての立体内部の物体を表示可能とすることである。
【００３２】
第３の実施例において、図１のデータ作成手段１は物体、ここでは前述の外側の立体の表示のために、その物体の各外郭面の表示データを作成するとともに、その物体の内部の任意の１点からそれぞれの外郭面を見る方向を、各外郭面データに対する表方向として決定するものである。
【００３３】
また表示手段２は、その物体の表示にあたって、視点の位置に対応して各外郭面が視点から見て表方向か否かを判定し、表方向である外郭面のみをディスプレイ上に表示するものであり、これによって利用者がどの方向から見ても表示物体、ここでは外部の立体の内部の状態を確認可能とすることができる。
【００３４】
すなわち第３の実施例においては、図３１で説明した問題点が解決される。図３１において、内部の立方体を隠している左側面の面は視点の方向から見て表方向ではなくなるために、この面は表示されず、逆に右側面、すなわち図３０では表示されていない面が視点から見て表方向となるために表示され、その結果内部の立方体の存在を完全に確認することが可能となる。
【００３５】
以上説明したように、本発明によれば視点の変更が可能な三次元図形表示装置において、座標軸の目盛線や、立体図形の内部の状態を常に確認することが可能となり、またベクトルの先端点と始点との区別をすることも可能となる。
【００３６】
【発明の実施の形態】
図２は本発明の三次元図形の表示装置の機能的構成を示すブロック図である。同図において、データ作成部１１は軸や目盛のデータ、ベクトル表示図形の矢印の基準としての矢印図形のデータ、その他の図形などのデータを三次元座標（ｘ，ｙ，ｚ）の集合として作成するものであり、座標変換部１２は、データ作成部によって作成されたベクトルの基準となる矢印図形を用いて、実際の方向、位置、および大きさを持ったベクトルを表現する矢印図形を作成するために、基準の矢印図形の座標変換を行うものである。
【００３７】
視点変換部１３は、データ作成部１１によって作成されたデータ、および／または座標変換部１２によって座標変換された結果としての実際の方向、位置、および大きさを持ったベクトル表示矢印図形を、利用者の視点の位置によって変化する座標系に置き換える座標変換を行うものである。ここで表示図形の回転、移動、拡大、または縮小などが行われる。表示部１４は、視点変換部１３によって処理が終了した変換後の図形データを二次元化し、コンピュータディスプレイ上に表示できるデータに加工して、その結果を表示する。
【００３８】
図３は図２の各部の機能を実現するためのコンピュータ環境におけるシステム構成ブロック図である。同図においてシステムは入力機器２１、コンピュータ２５、コンピュータによって作成された表示データを格納するフレームバッファ３０、フレームバッファ３０のデータを表示するためのグラフィックディスプレイ３１、外部記憶装置３２、および媒体駆動装置を備えている。
【００３９】
図２のデータ作成部１１の機能は、キーボード２２、マウス２３、またはフロッピーディスク２４などの入力機器２１からコンピュータ２５に必要なデータが送られ、ＣＰＵ２６において三次元図形のデータ作成が行われることによって実現される。作成されたデータは、例えばコンピュータ２５のメモリ２７に格納される。
【００４０】
座標変換部１２の機能は、座標変換が必要とされる三次元図形データ、例えばベクトル表示データに対してＣＰＵ２６によって座標変換処理が行われることによって実現される。
【００４１】
視点変換部１３の機能は、キーボード２２、マウス２３、またはフロッピーディスク２４などの入力機器２１から視点データがコンピュータ２５に送られ、ＣＰＵ２６によって視点変更後の三次元図形データが作成されることによって実現される。
【００４２】
表示部１４の機能は、視点変換部１３の機能によって作成された三次元図形データが、グラフィックディスプレイ３１に対応するフレームバッファ３０のデータに変換された後、グラフィックディスプレイ３１に送られることによって実現される。なおコンピュータ２５にグラフィックアクセラレータ２８などのグラフィック表示用の専用機器が備えられている場合には、フレームバッファ３０のデータの作成を高速に行うことができる。
【００４３】
外部記憶装置３２は例えば磁気ディスク装置、光ディスク装置、光磁気ディスク装置などであり、コンピュータ２５は表示に必要なデータを入力機器２１から受け取る代わりに、外部記憶装置３２に格納されているデータを用いることもできる。またデータ作成やデータ表示のためのプログラムを、外部記憶装置３２から読み出して図形表示を実行することもできる。
【００４４】
媒体駆動装置３３は可搬記憶媒体３４は駆動し、その記憶内容にアクセスする。可搬記憶媒体３４としてはメモリカード、フロッピーディスク、ＣＤ−ＲＯＭ（compact disk read only memory)、光ディスク、光磁気ディスクなど、任意の計算機読み出し可能記憶媒体を使用することができる。この可搬記憶媒体３４には、例えば図形データの他に、表示用のデータの作成や、データ表示を行うプログラムを格納することもできる。
【００４５】
図４は本発明の第１の実施例における目盛の表示方法の説明図である。同図において、各軸に対しては軸に垂直な面の方向にあって、かつ同一直線上にない２本の線分の組合わせとして、目盛が表示されている。例えばｚ軸に対しては、ｚ軸に垂直なｚ−ｘ平面、およびｙ−ｚ平面上に目盛が描かれている。
【００４６】
図５は第１の実施例における目盛表示方法のその他の例である。同図に示すように、目盛を２本の線分の組合わせとしてではなく面、立体、立体の組合わせ、面の組合わせ、面と立体の組合わせ、および線分と立体の組合わせなどのように各種の形式で表示することが可能である。
【００４７】
図６は、第１の実施例において、一部の座標軸が表示領域から見えなくなった場合にも、表示領域をどの方向から見ているかという方向認識を可能にするための目盛表示方法の説明図である。同図において、目盛は図４におけると同様に軸に垂直な面内にあって、かつ同一直線上にない２本の互いに垂直な線分の組合わせとして表示されているが、どの面内にあるかが色によって区別されている。例えばｘ軸に対する目盛のうち、ｘ−ｙ平面上の目盛線は青、ｚ−ｘ平面上の目盛線は緑で示されている。
【００４８】
図７は２本の線分を色でなく、線の種類や、太さ、図形の形を変える例と、図６において例えばｘ軸に対する目盛のうち、ｙ軸に平行な目盛線はｙの値が正の範囲のみ、またｚ軸に平行な目盛線はｚの値が正の範囲のみ描かれているのに対して、逆に負の範囲のみ描く場合の例を示す。同図において目盛が正の範囲のみに対して、線の種類、線の太さ、および図形の形を変える例が示され、負の範囲のみの場合として２本の線分の組を用いる例が示されている。
【００４９】
図８は第１の実施例におけるｘ軸に対する目盛の作成処理のフローチャートである。同図において、原点からｘ軸上の点Ａｘまでの間にｎ個の目盛をとり、これらの目盛に対してそれぞれ２本の目盛線を作成する処理が行われる。
【００５０】
まずステップＳ１において、それぞれの目盛に対応する変数ｉの値が１に初期化され、ステップＳ２でｉの値が作成すべき目盛の個数ｎを越えているか否かが判定され、越えていない場合にはステップＳ３で、ｘの値がＡｘ／ｎ・ｉの点に対して、ｙ軸と平行にｌの長さ、およびｚ軸に平行にｌの長さを持つ線分２本が作成される。
【００５１】
その後ステップＳ４でｉの値が歩進された後に、ステップＳ２に戻り、ｉがｎを越えているか否かが判定され、越えていない場合にはステップＳ３以降の処理が繰り返される。ステップＳ２でｉがｎを越えている、すなわち既にｎ個の目盛に対して目盛線が作成されたと判定された時点で、処理を終了する。
【００５２】
図８の処理は図２のデータ作成部１１によって行われる。データ作成部１１は同様にしてｙ軸、ｚ軸に対する目盛も作成する。また、例えば図６のように目盛を色分けするような場合には、色のデータを付加する。第１の実施例ではベクトル図形を取り扱わないので座標変換部１２による処理はない。
【００５３】
続いて視点変換部１３による処理が実行される。データ作成部１１によって作成された座標軸の線と目盛のデータが、利用者の視点の位置によって変化する座標系に置き換えられる。この処理は基本的にはビューイング変換と呼ばれるものであり、視点（目の位置）Ｅからワールド座標系の原点０に向かって物体、ここでは座標軸の線と目盛を見ることから、物体の中心付近に原点０が存在するものと仮定される。
【００５４】
ベクトル  外１  の方向は視線の方向であり、最終的に求めるべきものは物体
【００５５】
【外１】
0003791915.tif 000002
【００５６】
のスクリーン座標（Ｘ，Ｙ）、すなわち視線方向  外２  に対して垂直に立つス
【００５７】
【外２】
0003791915.tif 000003
【００５８】
クリーン上でのＸ，Ｙの座標である。そのために視点座標系が用いられるが、視点座標系のＸ，Ｙ軸は  外３  に対して垂直、Ｚ軸は  外４  方向であり、原点
【００５９】
【外３】
0003791915.tif 000004
【００６０】
【外４】
0003791915.tif 000005
【００６１】
は視点Ｅである。
ワールド座標で表された任意の点の視点座標を求めるためにビューイング行列を用いたビューイング変換が行われ、その結果を用いて最終的にスクリーン座標が求められる。なお以上の処理の詳細は次の文献に示されている。
【００６２】
L.Ammeraal著、池野他訳：Ｃによるグラフィックス技法、p.79〜86、オーム社(1993)
最後に表示部による処理が行われる。各座標軸の線と目盛のデータが直交射影をとることによって二次元化され、コンピュータディスプレイ上に表示される。
【００６３】
図９、および図１０は第１の実施例の効果の説明図である。図９は、従来技術の図２４に対する図２５と同様に、図４をｙ−ｚ平面に垂直な方向、すなわちｘ軸方向から見た場合の目盛を示す図である。図２５と比較して、ｚ軸に対する目盛は明確に表示されている。図４の表示方法を用いれば、同様にｚ−ｘ平面に垂直な方向から見た場合のｘ軸上の目盛、およびｘ−ｙ平面に垂直な方向から見た場合のｙ軸上の目盛を明確に表示することが可能である。これにより各軸の方向から見た場合、従来の二軸グラフと同様の表示が可能となる。
【００６４】
図１０はｙ軸上の目盛の一部を拡大して表示した場合の例である。同図においては、ｘおよびｚ軸が表示領域から見えなくなっているが、このｙ軸が図６の一部であることから、表示領域を利用者がどの方向から見ているかという方向認識が可能となり、この図では右斜め上方から見下ろしていることが容易に推定できる。すなわち、目盛線が位置を示すだけでなく、視線の方向まで示唆するものとなる。
【００６５】
次に本発明の第２の実施例について説明する。図１１は第２の実施例におけるベクトル図形の表示例である。同図においては、ベクトルの幹線が線分の場合には、枝線が線分の組合わせ、面の組合わせ、あるいは立体となっている例、幹線が線でなく二次元の三角形などの面で表示されている場合には、枝線が線分の組合わせ、面の組合わせ、あるいは立体として表示されている例などが示されている。
【００６６】
図１２は第２の実施例においてベクトルの始点、または先端点における枝線として、各座標軸方向に平行な線分、または図形などを接続した形式で、ベクトル図形を表示する例を示す。
【００６７】
同図においてはベクトルの始点、または先端にｘ方向を示す赤、ｙ方向を示す緑、ｚ方向を示す青のそれぞれの線分がつけられている。また図形を変える場合の例としてｘ方向の四角柱、ｙ方向の円柱、ｚ方向の線分が接続された例が示されている。
【００６８】
更に、このように各軸方向に平行な線分として図７で説明したように平行な軸に対応する座標の値が正の範囲でなく、負の範囲だけにあるように、例えば色で区別した線分を接続する形式で、ベクトル表示図形を作成することも可能である。
【００６９】
更に第２の実施例は、ベクトルを１つだけ表示するのではなく、複数のベクトルを表示する場合にも応用が可能である。図１３はそのような表示例を示す。このように複数のベクトルを表示する場合にも、例えば枝線として同一平面上にない３本の線分を用いることによって、どの方向から見ても全てのベクトルの始点と先端点とを区別することが可能となる。
【００７０】
図１４は第２の実施例におけるベクトル図形表示処理のフローチャートである。同図においてまずステップＳ１１で基準矢印図形データの作成が行われる。この基準矢印図形データについて、図１５を用いて説明する。
【００７１】
図１５はデータ作成部１１によって作成される基準の矢印図形の例を示しており、３本の同一平面上にない枝線が幹線に接続された基準ベクトル矢印図形を示している。ここでは枝線が座標軸方向に平行とはなっていないが、枝線を座標軸方向に平行とする場合の基準矢印図形も、このような座標点の集合として作成される。また各軸方向に対応して枝線を色分けして表示する場合にも、その色を示すデータが基準矢印図形の作成に際して付け加えられる。
【００７２】
図１４のステップＳ１２において座標変換処理が行われる。この処理では、基準となる矢印図形に対応して、ベクトルの始点の座標位置（ｘ，ｙ，ｚ）と、ベクトルの大きさと方向、すなわちベクトルの成分（ｕ，ｖ，ｗ）が与えられることによって、実際のベクトルとしての矢印図形の作成が行われる。この座標変換処理の実質的内容は３次元空間における移動と回転であり、座標系の変更と考えた場合の点の移動、原点を通る任意の線分に関する任意の点における回転、任意の点を始点とするベクトルに関する回転を含め、その詳細は前述した文献の次のページに示されている。
【００７３】
Ｃによるグラフィックス技法、ｐ．６７〜７４
続いて図１４のステップＳ１３で視点変換処理が行われる。座標変換部１２によって座標変換が行われた矢印図形データを用いて、視点の位置によって変化する座標系へのそのデータの置き換えが行われる。この処理については、第１の実施例における場合と全く同様に実行される。
【００７４】
続いてステップＳ１４で表示処理が行われる。この処理においては、視点変換部１３による処理結果としての矢印図形データに対して直交射影をとることによって二次元化を行い、その結果をコンピュータディスプレイ上に表示する処理が行われる。
【００７５】
続いて図１４のステップＳ１５で表示するためのベクトルデータが残っているか否かが判定され、残っている場合にはステップＳ１２の座標変換処理以降が繰り返される。この座標変換処理では、常にステップＳ１１で作成された基準矢印図形データが用いられ、この基準矢印データを参考として、新しく実際のベクトルを表示するための矢印図形が作成される。そしてステップＳ１２〜Ｓ１４の処理が表示すべきベクトルの個数分だけ繰り返され、ステップＳ１５でベクトルデータが残っていないと判定された時点で処理を終了する。
【００７６】
続いて第２の実施例の効果について説明する。図１６は図１１のベクトル表示図形のうち、上の２つの図形を各方向から見た場合の表示状態を示す。従来例の図２７に対する図２８と異なって、どの方向から見てもベクトルの始点と先端点との区別が示されている。すなわち、回転などを行ってもベクトルの状態を確認することができ、自由な角度からベクトルを見ることができる。またワイヤフレーム表示を用いることにより、他の表現方法よりも早く描画することができる。
【００７７】
なお、図１６の中央のｙ−ｚ平面上の表示状態において、右側の矢印は図１１の左上の図形、すなわち幹線が線分の場合の表示状態を示し、３本の枝線のうち図１１において幹線の上にある枝線は枝線の影になって見えなくなっており、幹線の下側の２本の枝線が表示されている。また左側の表示状態は図１１の右上の幹線が二次元の三角形である場合の表示図形の表示結果に対応している。なお、図１６の中央の表示状態は、一番上の表示状態においてｘ座標の大きい視点から、ｙ軸に垂直にベクトル図形を見た場合の表示状態を示している。
【００７８】
図１７は、第２の実施例において３本の座標軸の方向に平行な枝線がベクトルの始点、または先端点に接続された場合に、３本の座標軸が表示領域から見えなくなった状態を示す。この表示状態において、利用者がベクトルをどの方向から見ているかという方向認識が可能である。すなわちベクトルの枝線が始点または先端点を示すだけでなく、視線の方向も示唆するものとなる。
【００７９】
最後に本発明の第３の実施例について説明する。第３の実施例は、三次元図形の表示装置において、どのような視点から立体図形を見ても、その内部状態が確認できるようにする表示方法を提供するものである。
【００８０】
図１８は第３の実施例における立体図形の内部状態の表示例である。同図は、従来例で説明した図３０の表示状態において、視点を変化させた場合に表示される表示結果の例を示し、図３１と異なり、立体図形の左側の側面が削除され、逆に右側の側面が表示されるという形式で表示が行われ、その結果立体図形の内部状態が明確に確認可能となっている。
【００８１】
図１９は第３の実施例におけるデータ処理部の処理フローチャートである。同図で処理が開始されると、まずステップＳ２１で作成すべき外郭面が存在するか否かが判定される。ここで外郭面とは裏側を表示しない面のことである。すなわち、図１８において、外郭面とは、上面、左側面、前面の３つである。この面の裏側、表側について本発明における図２０を用いて説明する。
【００８２】
図２０はある面の表、裏の判定方法の説明図である。例えば図１８のようなある立体図形（外側）の内部を１つの領域として考えれば、この領域の内側を向いている側は表（方向）と判断し、領域の外側を向いている側は裏（方向）と判断することができる。すなわち領域の内側方向が表（方向）と判断される。
【００８３】
図１９において、ステップＳ２１でデータを作成すべき外郭面があると判定されると、ステップＳ２２でその外郭面に対するデータが作成され、ステップＳ２３で法線データが与えられて計算が実施され、内側方向が表側とされる。この法線計算では、多面体のポリゴン（ある１つの面）から多面体の外側に向かって、そのポリゴンに垂直なベクトルが法線ベクトルとして求められる。例えば５個の頂点を持つポリゴン（五角形）に対しては、1)５個の頂点を左回りに結び、５個のベクトル（５つの辺に相当）を作り、2)そのうち連続した２個のベクトルをとり、3)この２個のベクトルの外積をとることにより法線ベクトルが求められる。その一般的な計算式は次の文献に記述されている。なお、面の表、裏の方向判定については表示部の処理（後述）と同様である。
【００８４】
佐藤義雄著：実習グラフィックス p.55 〜56  アスキー(1986)
ステップＳ２３の処理の終了後、ステップＳ２４でデータを作成すべき外郭面がなくなったか否かが判定され、まだ存在する場合にはステップＳ２２以降の処理が繰り返される。ステップＳ２１で作成すべき外郭面が存在しないと判定されるか、あるいはステップＳ２４でデータを作成すべき外郭面が残っていないと判定されると、ステップＳ２５でその他の形状データ、例えば立体内部に表示すべき他の図形のデータなどが作成されて処理を終了する。
【００８５】
第３の実施例においては、ベクトル図形が表示されないために、図２の座標変換部１２による処理は行われない。視点変換部１３による処理は第１の実施例におけると同様である。また表示部１４による処理は、視点の方向によってどの面の表示を行うべきかについて、表、裏の判定を行うことから開始される。
【００８６】
この判定処理では、データ処理部１１によるステップＳ２３の法線計算処理と同様にして多面体の各ポリゴンに対する法線ベクトルが求められ、法線ベクトルが視線の方向を向いているか否かが判定される。すなわち、法線ベクトルＮと視線ベクトル（視線方向の単位ベクトル）ベクトルＶとの内積ベクトルＮ・Ｖが正であれば表方向、負であれば裏方向と判定される。なおこの処理の具体例などの詳細は前述した文献の次のページに記述されている。
【００８７】
実習グラフィックスｐ.56 〜58
表示部１４は、表方向と判定されたものに対してだけデータの二次元化を行い、その結果をコンピュータディスプレイ上に表示する。なお視点変更に際してはすべての描画データが描き替えられるが、このとき表示の有無が判定される。表、または裏と判定される面のデータ自体は１つしか存在せず、そのデータの表示の有無が判定される。
【００８８】
図２１は第３の実施例における立体図形内側の表示方法の他の例である。同図においては、視点と立体図形内側との間にある面、すなわち裏方向と判定された面に対しては、その外枠だけが表示される形式で、立体内側の状態が確認可能となっている。
【００８９】
図２２は第３の実施例における立体図形内側の表示方法の更に別の例である。同図においては、立体図形の内側に更に別の物体が表示される形式で表示が行われている。
【００９０】
図２３は、第３の実施例としての表示方法を用いて、立体図形内側を各種の方向から見た場合の表示状態を示す。このように第３の実施例を用いれば、利用者が表示図形の回転や、移動などのための視点の変更を行って立体図形をどの角度から見た場合にも、立体図形の内側や内側に存在する物体の確認が可能になる。面の透明表示や、立体図形の作り直しなどの特別な処理は不要で、容易に実現でき、かつ高速な描画が可能となる。
【００９１】
【発明の効果】
以上詳細に説明したように、本発明の第１の実施例によれば座標軸につけられた目盛を、どのように視点を変更しても常に確認することが可能となり、例えばグラフを自由な角度から見ることにより、現象を把握しやすくなる。
【００９２】
また第２の実施例によれば、視点をどのように変更してもベクトル図形の始点と先端点とを識別することが可能になり、ベクトルによって表される物理現象の把握が容易となる。またワイヤフレーム表示を用いることより、他の表現方法を用いるよりも描画を早く行うことができる。
【００９３】
更に第３の実施例によれば、視点をどのように変更しても、立体の内側の状態や、内側にある別の物体の形状などを常に確認することができる。面の透明表示や、立体図形の作り直しなどの特別な処理を行うことなく、高速な描画が可能となる。
【図面の簡単な説明】
【図１】本発明の原理構成ブロック図である。
【図２】本発明の三次元図形の表示装置の機能的な構成を示すブロック図である。
【図３】図２の各部の機能を実現するためのコンピュータ環境におけるシステム構成を示すブロック図である。
【図４】第１の実施例における目盛の表示例を示す図である。
【図５】第１の実施例における目盛表示方法のその他の例を示す図である。
【図６】第１の実施例における目盛線の区別を説明する図である。
【図７】第１の実施例における目盛線の区別のその他の例を示す図である。
【図８】第１の実施例における目盛線の作成処理のフローチャートである。
【図９】第１の実施例において軸と目盛の表示状態の例を示す図である。
【図１０】第１の実施例において２本の座標軸が表示領域の外にある場合の表示状態の例を示す図である。
【図１１】第２の実施例におけるベクトル図形の表示例を示す図である。
【図１２】第２の実施例においてベクトルの枝線が座標軸の方向に平行な場合のベクトル図形の表示例を示す図である。
【図１３】第２の実施例において複数のベクトル図形の表示例を示す図である。
【図１４】第２の実施例におけるベクトル図形表示処理のフローチャートである。
【図１５】第２の実施例における基準矢印図形の説明図である。
【図１６】第２の実施例におけるベクトル図形表示結果を説明する図である。
【図１７】第２の実施例において３本の座標軸が表示領域の外にある場合のベクトル図形の例を示す図である。
【図１８】第３の実施例における立体図形内側の表示例を示す図である。
【図１９】第３の実施例におけるデータ処理部の処理フローチャートである。
【図２０】面の表方向と裏方向との説明図である。
【図２１】第３の実施例における立体図形内側の表示方法の他の例を示す図である。
【図２２】第３の実施例における立体図形内側の表示方法の更に異なる例を示す図である。
【図２３】第３の実施例において立体図形内側を各種の方向から見た場合の表示状態を示す図である。
【図２４】従来の三次元図形表示装置における軸と目盛の表示例を示す図である。
【図２５】図２３の座標軸をｙ−ｚ平面に垂直な方向から見た場合の表示状態を示す図である。
【図２６】従来の三次元図形表示装置において２本の座標軸が表示領域の外にある場合の表示状態の例を示す図である。
【図２７】従来の三次元図形表示装置におけるベクトルの表示例を示す図である。
【図２８】図２６のベクトル表示図形を各種の方向から見た場合の表示状態を示す図である。
【図２９】従来の三次元図形表示装置において３本の座標軸が表示領域の外にある場合のベクトル図形の表示例を示す図である。
【図３０】従来の三次元図形表示装置における立体図形の内側の表示例を示す図である。
【図３１】従来の三次元図形表示装置において図２９の状態から視点を変更した場合の表示例を示す図である。
【符号の説明】
１    データ作成手段
２    表示手段
１１  データ作成部
１２  座標変換部
１３  視点変換部
１４  表示部
２１  入力機器
２２  キーボード
２３  マウス
２４  フロッピーディスク
２５  コンピュータ
２６  ＣＰＵ
２７  メモリ
２８  グラフィックアクセラレータ
３０  フレームバッファ
３１  グラフィックディスプレイ
３２  外部記憶装置
３３  媒体駆動装置
３４  可搬記憶媒体
【図１】
0003791915.tif 000006
【図２】
0003791915.tif 000007
【図３】
0003791915.tif 000008
【図４】
0003791915.tif 000009
【図５】
0003791915.tif 000010
【図６】
0003791915.tif 000011
【図７】
0003791915.tif 000012
【図８】
0003791915.tif 000013
【図９】
0003791915.tif 000014
【図１０】
0003791915.tif 000015
【図１１】
0003791915.tif 000016
【図１２】
0003791915.tif 000017
【図１３】
0003791915.tif 000018
【図１４】
0003791915.tif 000019
【図１５】
0003791915.tif 000020
【図１６】
0003791915.tif 000021
【図１７】
0003791915.tif 000022
【図１８】
0003791915.tif 000023
【図１９】
0003791915.tif 000024
【図２０】
0003791915.tif 000025
【図２１】
0003791915.tif 000026
【図２２】
0003791915.tif 000027
【図２３】
0003791915.tif 000028
【図２４】
0003791915.tif 000029
【図２５】
0003791915.tif 000030
【図２６】
0003791915.tif 000031
【図２７】
0003791915.tif 000032
【図２８】
0003791915.tif 000033
【図２９】
0003791915.tif 000034
【図３０】
0003791915.tif 000035
【図３１】
0003791915.tif 000036