(57)【特許請求の範囲】
【請求項１】
平面ディスプレイ上に３次元モデルの表示を行う３次元モデル処理装置において、
該３次元モデルのデータを記憶する３次元モデル記憶部と、
前記平面ディスプレイ上に表示されている３次元モデルの特定の位置のユーザによる指定を受け取る位置入力手段と、
該位置入力手段によってユーザが指定した３次元モデル上の特定の位置と、前記３次元モデル記憶部に記憶された該３次元モデルのデータとに基づいて、該３次元モデルを見る視点の方向を算出し、該算出結果に応じて該３次元モデルを平面ディスプレイ上に表示する表示制御手段とを備えたことを特徴とする３次元モデル処理装置。
【請求項２】
前記表示制御手段が、
前記３次元モデルの特定の位置と該３次元モデルのデータとに基づいて、該３次元モデルを見る視点方向を算出するビュー演算部と、
該ビュー演算部の出力する視点方向に応じて、該視点方向と垂直な平面上に前記３次元モデルを投影させて前記平面ディスプレイ上に表示するビュー制御部とを備えたことを特徴とする請求項１記載の３次元モデル処理装置。
【請求項３】
前記ビュー演算部が、
前記３次元モデルを見る視点方向を算出する演算を実行する演算処理部と、
前記３次元モデルの特定の位置と該３次元モデルのデータとを該演算処理部に与え、該演算処理部による演算を制御する演算制御部とを備えたことを特徴とする請求項２記載の３次元モデル処理装置。
【請求項４】
前記ユーザによって指定される３次元モデルの特定の位置が該３次元モデルのコーナであることと、
該コーナの指定に応じて、前記演算処理部が、該指定されたコーナを通る該３次元モデルの稜線を表わすベクトルの平均値の逆向きの方向を、前記視点方向として算出することを特徴とする請求項３記載の３次元モデル処理装置。
【請求項５】
前記３次元モデル記憶部が、
前記演算制御部に対して、前記ユーザによってコーナが指定された３次元モデルが表現する立体の面のデータ、稜線のデータ、および端点のデータを出力するモデル管理部によって構成されることを特徴とする請求項４記載の３次元モデル処理装置。
【請求項６】
前記演算処理部が、前記３次元モデルの底面の各頂点の座標と該３次元モデルが表現する立体の形成のために該底面を押し出すべき方向と該押出しの距離とを用いて、前記３次元モデルの稜線を表わすベクトルの平均値を求めることを特徴とする請求項４記載の３次元モデル処理装置。
【請求項７】
前記３次元モデル記憶部が、
前記演算制御部に対して、前記ユーザによってコーナが指定された３次元モデルの底面の各頂点の座標と、該３次元モデルが表現する立体の形成のために該底面を押し出すべき方向と該押出しの距離とを出力するモデル管理部によって構成されることを特徴とする請求項６記載の３次元モデル処理装置。
【請求項８】
前記演算処理部が、前記ユーザによって指定されたコーナが前記３次元モデルの底面の各頂点のいずれかと一致するかを判別し、
いずれかと一致する時、該一致する点と連結されることによって前記稜線を表わす頂点を検索し、
該一致する点と該検索された頂点とを結ぶベクトルとして、前記稜線を表わす３つのベクトルを求め、
該求められた３つのベクトルの平均値を求めることを特徴とする請求項６記載の３次元モデル処理装置。
【請求項９】
前記演算処理部が、前記ユーザによって指定されたコーナが前記３次元モデルの底面の各頂点のいずれかと一致するかを判定し、
いずれとも一致しない時、該底面の各頂点を前記押出し方向に押出し距離だけ移動させ、
該移動された各頂点のいずれかと前記ユーザによって指定されたコーナとが一致するかを判定し、
該いずれかが一致する時、該一致する頂点の移動前の位置と連結されることによって前記底面の稜線を表わす各頂点を検索し、
前記コーナと一致する頂点と、該検索された各頂点を前記押出し方向に押出し距離だけ移動させた各点、および該一致する頂点の移動前の位置とを結ぶベクトルとして、前記稜線を表わす３つのベクトルを求め、
該求められた３つのベクトルの平均値を求めることを特徴とする請求項６記載の３次元モデル処理装置。
【請求項１０】
前記３次元モデルの特定の位置を指定するユーザからのコマンドを受け取り、該コマンドのデータを前記演算制御部に与えると共に、前記演算処理部の出力を前記ビュー制御部に与えるコマンド処理部を更に備えたことを特徴とする請求項３記載の３次元モデル処理装置。
【請求項１１】
前記ユーザによって指定される位置が３次元モデルのコーナであることと、
該コーナの指定に応じて、前記演算処理部が、該指定されたコーナと該３次元モデルの重心とを結ぶ方向を前記視点の方向として算出することを特徴とする請求項３記載の３次元モデル処理装置。
【請求項１２】
前記ユーザによって指定される３次元モデルの特定の位置が該３次元モデルの稜線であることを特徴とする請求項１記載の３次元モデル処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はコンピュータ援用設計（ＣＡＤ）における３次元モデルの表示方式に係り、更に詳しくは３次元モデルを見る視点の方向を算出するためのビュー演算機構に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
３次元のＣＡＤでは、３次元モデルの設計を行う場合にモデルを見る視点方向として、モデルの斜めから見下ろすアイソメビューを用いることが多い。
【０００３】
図１４はこのアイソメビュー、すなわち等角投影図の説明図である。この等角投影図は軸測投影図の一種であり、投影面に対してＸ，Ｙ，Ｚの３つの軸上の縮尺比と、楕円とが等しくなるような投影図である。
【０００４】
このアイソメビューは、３次元ＣＡＤにおいてモデルを立体的に認識するために用いられるが、従来においてはあるモデルに対する視点方向をアイソメビューに変換する場合には、▲１▼ローテーション機能によって手動でモデルの視点方向を回転させるか、▲２▼システムに登録されている固定ビューの指定によってビューの変換を行うと言う方法がとられていた。
【０００５】
図１５はローテーション機能によって手動で視点の方向を回転させる方法の説明図である。同図において、ディスプレイ上にはローテーションガイドとして用いられる円が表示されている。この円は画面から手前、すなわちオペレータ側に向かう半球をイメージしており、この半球上の任意の位置を指定することによって、その位置の方向から３次元モデルを見た場合のモデルの表示が行われるようになっているが、この方法を用いる場合にはオペレータが自分の感で視点方向の回転を行うために、望ましいビューの方向が得にくいという問題点があった。
【０００６】
また第２の方法である、システムに登録されている固定ビューを指定するときには、固定ビューとして多くの方向が登録されている場合にはある意味では希望の視点方向に近いものが得られることになるが、実際には選択が面倒になると言う問題点があった。またモデルの初期状態の向きによっては、希望の視点方向を得るための操作が難しいと言う問題点もあった。
【０００７】
本発明は、３次元モデルを見る視点方向の指定をできるだけ人間の感覚にあうように簡略化し、３次元モデルの設計作業を効率化することを目的とする。
【０００８】
【課題を解決するための手段】
図１は本発明の原理ブロック図である。同図は平面ディスプレイ上に３次元モデルの表示を行う３次元モデル処理装置の原理構成ブロック図である。
【０００９】
図１において、３次元モデル記憶部１は３次元モデルのデータを記憶するものである。また位置入力手段２は、平面ディスプレイ上に表示されている３次元モデルの特定の位置、例えばコーナのユーザによる指定を受け取るものである。
【００１０】
更に表示制御手段３は、位置入力手段２によってユーザが指定した３次元モデルの特定の位置と３次元モデル記憶部１に記憶されている３次元モデルのデータとに基づいて、その３次元モデルを見る視点の方向を算出し、その算出結果に応じて３次元モデルを平面ディスプレイ上に表示するものである。
【００１１】
図１の構成ブロックのうちで、３次元モデル記憶部１は例えばモデル管理部によって構成され、また位置入力手段２は例えばマウスやキーボードと後述する入力処理部とによって構成され、さらに表示制御手段３は例えばビュー演算部とビュー制御部とによって構成される。
【００１２】
【作用】
本発明においては３次元モデルの特定の位置がユーザによって指定され、その指定に応じて３次元モデルに対する視点の方向が算出される。このユーザによって指定される位置は例えば３次元モデルのコーナであり、そのコーナの指定に応じて、例えば演算制御部の制御によって視点方向の算出に必要な演算データが供給される。
【００１３】
供給されるデータは、例えば３次元モデルの底面の各頂点の座標と、３次元モデルが表現する立体の形成のためにその底面を押し出すべき方向と押し出しの距離であり、これらの演算データを用いて、例えば演算処理部によって、指定されたコーナを通る３次元モデルの稜線を表わすベクトルの平均値の逆向きの方向が視点方向として算出される。
【００１４】
このように本発明によれば、例えば３次元モデルのコーナの指定に応じて３次元モデルを見る視点方向が自動的に決定される。
【００１５】
【実施例】
図２は本発明のビュー演算機構の全体構成ブロック図である。同図においてビュー演算機構は、例えばユーザによる３次元モデルのコーナのマウスによる指定を受け取るためのグラフィックディスプレイ（ＧＤ）１０、ＧＤ１０からの入力コマンドを受け取る入力処理部１１、入力処理部１１からの入力コマンドを受け取り、入力データを処理するコマンド処理部１２、コマンド処理部１２からの入力データに従ってビュー方向の演算を行うビュー演算部１３、ビュー演算部１３に対して３次元モデルに対する形状データを出力するモデル管理部１４、ビュー演算部１３の演算したビュー方向をコマンド処理部１２を介して受け取り、グラフィックディスプレイ１０における３次元モデルの表示を制御するビュー制御部１５から構成されている。
【００１６】
図３は本発明におけるビューの制御の全体処理フローチャートである。同図において処理が開始されると、ステップ（Ｓ）１で、例えばユーザからビュー変更条件が入力され、それに応じてＳ２、およびＳ３で図２のグラフィックディスプレイ１０からのデータが入力処理部１１に入力され、入力処理部１１、およびコマンド処理部１２によって、ステップＳ４で入力データの処理が行われる。例えばコマンド処理部では、指定されたコマンド情報により、例えばマウスによるディスプレイ画面上の指定情報から必要なデータ、例えばコーナ情報が取り出される。この入力データの処理において、例えばマウスによる画面上の指定３次元モデルが円錐であるような場合には、エラーとして次の入力の待ち状態となり、ステップＳ２からの処理が繰り返される。
【００１７】
Ｓ４の入力データの処理が終了すると、次にＳ５でそのデータに基づき、モデル管理部１４からビュー演算部１３に形状データが出力され、Ｓ６でビュー演算処理が行われ、その結果に応じてビュー制御部１５によってＳ７でビューの制御が行われる。
【００１８】
図４は図２におけるビュー演算部１３の詳細構成ブロック図である。同図においてビュー演算部１３は、コマンド処理部１２からの入力データを受け取る演算制御部１３ａと、コマンド処理部１２に対してビュー情報を出力する演算処理部１３ｂとから構成され、モデル管理部１４からの形状データは演算制御部１３ａに与えられる。なお演算処理部１３ｂから出力されたビュー情報は、図２において入力処理部１１から出力される入力コマンドデータと共に、コマンド処理部１２を介してビュー制御部１５に与えられる。
【００１９】
図５は図４における演算制御部の処理フローチャートである。同図において、演算制御部の処理はコマンド処理部の処理に引き続いて行われ、ステップＳ１０でコマンド処理部１２からの入力データの受け取りが行われ、Ｓ１１でその入力データに応じて、ユーザによってコーナが指定された立体プリミティブ、すなわち３次元モデルが検索される。この検索時において、例えばユーザによって指定された３次元モデルが円錐であるような場合にはエラーと判定され、Ｓ１０以降の処理が繰り返される。Ｓ１１で立体プリミティブが検索された時には、Ｓ１２で立体プリミティブの形状データがモデル管理部１４から取り出され、演算制御部の処理が終了する。
【００２０】
図６はモデル管理部１４に格納されている立体プリミティブの形状データである。これは図５のＳ１２で取り出される立体プリミティブの形状データを表わしており、その形状データは立体プリミティブの底面の端点（頂点）の位置と、それらの連結情報、底面をどの方向に押し出すと立体プリミティブが形成されるかを示す押出し方向と、押出し距離である。この押出し方向が底面に垂直な場合には、押出し距離は立体プリミティブの高さとなる。
【００２１】
図７は演算処理部の処理フローチャートである。同図において演算処理部の処理は演算制御部の処理に引き続いて行われる。まずステップＳ１６で、ユーザによって指定された３次元モデルのコーナを示すコーナ情報が取り出され、Ｓ１７で立体プリミティブの端点データ、すなわち底面の端点データが取り出され、Ｓ１８で端点データとコーナ情報とが一致するか否かが判定される。
【００２２】
端点データのいずれかがコーナ情報と一致する時には、ステップＳ１９でコーナ情報と一致する端点Ｐとの連結点Ｐｃが検索され、ステップＳ２０でベクトル外１  が求められ、Ｓ２１で連結点Ｐｃが全て検索されたか否かが判定され、
【００２３】
【外１】
0003544585.tif 000002
【００２４】
まだ全てが検索されていない時にはＳ１９からの処理が繰り返される。なおこの場合、コーナ情報と一致する点Ｐとの連結点としては端点データのみでなく、高さ方向に対応する押出し距離だけ押出し方向に押し出した点についても、Ｓ２０でベクトルが求められる。そしてＳ２１で全ての連結点の検索が終了したと判定されると、Ｓ２２で３つのベクトルの平均ベクトルが求められ、処理を終了する。
【００２５】
これに対してコーナ情報が立体プリミティブの端点データと一致しないとＳ１８で判定されると、端点データが軌跡情報に従ってステップＳ２５で押し出されて点Ｐとされ、Ｓ２６で点Ｐがコーナ情報と一致するか否かが判定される。一致しないと判定された時には、Ｓ２７で全ての端点データに対して押し出しが行われたか否かが判定される。押し出されたと判定された時には処理を終了する。
【００２６】
全ての端点の押出しが終了していないと判定された時には、Ｓ２５以降の処理が繰り返され、Ｓ２６で押し出された点Ｐがコーナ情報と一致したと判定されると、Ｓ２８でＰとして押し出される前の端点に連なる点Ｐｃ′が検索され、Ｓ２９でこの点が押出し方向に押し出されて点Ｐｃとされ、ステップＳ３０でベクトル  外２  が求められ、Ｓ３１で全ての点Ｐｃ′が検索されたか否かが判定され
【００２７】
【外２】
0003544585.tif 000003
【００２８】
、まだ検索されていない時にはＳ２８以降の処理が繰り返され、全て検索されたと判定した時点でＳ２２で平均ベクトルが求められ、処理を終了する。なおステップＳ３０において、立体プリミティブの高さの方向に相当するベクトルが求められることは前述と同様である。
【００２９】
以上の説明においては、モデル管理部１４に保持されているデータは図６で説明した立体プリミティブの形状データであるものとして、図７の演算処理部の処理フローチャートを説明したが、本発明の３次元モデルデータとしてはより一般的に立体の全ての端点の情報、すなわち座標とそのつながりのデータを用いることもできることは当然である。
【００３０】
図８はそのようなより一般的な３次元モデルデータの説明図である。同図において、端点の情報としては各端点の座標、稜線の情報としては稜線の構成要素としての端点の情報、面の情報としては面の構成要素としての稜線の情報と各端点の情報を持つような形式の３次元データが示されている。このように全ての端点情報を保持することによって、例えばユーザによってコーナが指定されて選択された端点と、それにつらなる端点の情報をモデル管理部１４から獲得することは容易であり、ユーザによって指定されたコーナを通る稜線ベクトルの平均値の算出も容易に実行される。
【００３１】
図９（ａ）  は、視点方向ベクトル  外３  と３次元モデルが定義される座標系（
【００３２】
【外３】
0003544585.tif 000004
【００３３】
Ｘ，Ｙ，Ｚ）との関係を示す図である。
３次元モデルを見る視線方向は、図の矢印で表されるように、座標系（Ｘ，Ｙ，Ｚ）で定義され、視点方向の逆ベクトルで表される。この視点方向ベクトル  外４  は、ユーザが３次元モデルを見ている方向を示す。
【００３４】
【外４】
0003544585.tif 000005
【００３５】
図９（ｂ）  は、３次元モデルが定義される座標系（Ｘ，Ｙ，Ｚ）と３次元モデルを表示するディスプレイの表示面Ｓとの関係を示す図である。
両者は視点方向ベクトル  外５  を介して関係しており、表示面Ｓはベクトル
【００３６】
【外５】
0003544585.tif 000006
【００３７】
外６  に対し、垂直な平面で定義される。表示面Ｓ上には、別の２次元座標系
【００３８】
【外６】
0003544585.tif 000007
【００３９】
（Ｖ，Ｗ）が定義されている。ここでは、座標系（Ｖ，Ｗ）は、直角座標系をなしているとしており、Ｖ軸とＷ軸は互いに直角であるとしている。
図１０は、３次元モデル上の一点（コーナＤ）が指定される場合に求められるベクトル  外７  を示している。  外８  はここでは以下の式に基づいて求めら
【００４０】
【外７】
0003544585.tif 000008
【００４１】
【外８】
0003544585.tif 000009
【００４２】
れる。
【００４３】
【数１】
0003544585.tif 000010
【００４４】
そして、この  外９  は図１０の３次元モデルを見る新しい視点方向として採
【００４５】
【外９】
0003544585.tif 000011
【００４６】
用される。
この  外１０  に対しては、視点方向  外１１  から見た図形を表示する表示
【００４７】
【外１０】
0003544585.tif 000012
【００４８】
【外１１】
0003544585.tif 000013
【００４９】
面Ｓ上の座標系（Ｖ′，Ｗ′）も図９（ｂ）  の場合と同様に決定される。
すなわち、  外１２  は、稜線を現すベクトルの平均ベクトルの逆ベクトルで
【００５０】
【外１２】
0003544585.tif 000014
【００５１】
あり、この  外１３  に垂直な平面を表示面Ｓ′とする。表示面Ｓ′上の座標（
【００５２】
【外１３】
0003544585.tif 000015
【００５３】
Ｖ′，Ｗ′）は、この  外１４  を用いて決定される。例えば、座標軸Ｖ方向の
【００５４】
【外１４】
0003544585.tif 000016
【００５５】
単位ベクトルを  外１５  、座標軸Ｗ方向の単位ベクトルを  外１６  とすると、
【００５６】
【外１５】
0003544585.tif 000017
【００５７】
【外１６】
0003544585.tif 000018
【００５８】
【数２】
0003544585.tif 000019
【００５９】
より求められる。  外１７  はそれぞれ座標軸Ｖ′，Ｗ′方向の単位ベクトルで
【００６０】
【外１７】
0003544585.tif 000020
【００６１】
ある。
以上により、新しい視点方向ベクトル  外１８  及び表示面Ｓ′上の座標系（
【００６２】
【外１８】
0003544585.tif 000021
【００６３】
Ｖ′，Ｗ′）が求められた。
次に、図１１（ａ）  ，（ｂ）  ，（ｃ）  を参照しながら、現在の視点方向  外１９  か
【００６４】
【外１９】
0003544585.tif 000022
【００６５】
ら新しい視点方向  外２０  への視点方向の変化に伴う３次元モデルの回転及び
【００６６】
【外２０】
0003544585.tif 000023
【００６７】
表示面への投影をいかにして行うかを説明する。
図１１（ａ）  は、ＹＺ平面にベクトル  外２１  を投影した場合の両者がなす角
【００６８】
【外２１】
0003544585.tif 000024
【００６９】
度αを示している。同様に図１１（ｂ）  は、ＸＺ平面に投影した場合の両者のなす角度β、図１１（ｃ）  は、ＸＹ平面に投影した場合の両者のなす角度γを示している。
【００７０】
ここで３次元モデル上の点を（ａｘ  ，ａｙ  ，ａｚ  ）とし、上記α，β，γの角度に従って回転させられた後の３次元モデル上の点を（ａ′ｘ  ，ａ′ｙ  ，ａ′ｚ  ）とする。すると、視点方向が変わったことによる３次元モデルの回転は、以下の式で表される。
【００７１】
【数３】
0003544585.tif 000025
【００７２】
ここで
【００７３】
【数４】
0003544585.tif 000026
【００７４】
次に、上記（３）  ，（４）  式で回転させられた３次元モデルを表示面Ｓ′に投影することにより、３次元モデル上の各点の座標値を表示点上の座標系（Ｖ′，Ｗ′）における座標値に変換して、実際のディスプレイスクリーン上の座標値を求める。
【００７５】
例えば、視点方向の移動の際にユーザが指定した点を
【００７６】
【数５】
0003544585.tif 000027
【００７７】
とする（図１０の場合、点Ｄに相当する）。この点を上記式（３）  ，（４）  によって回転変換した結果の点を
【００７８】
【数６】
0003544585.tif 000028
【００７９】
とする。更に、（２）  式で求められたベクトル  外２２  に同じ回転変換を施したベクトルを  外２３  とする。ここで、
【００８０】
【外２２】
0003544585.tif 000029
【００８１】
【外２３】
0003544585.tif 000030
【００８２】
【数７】
0003544585.tif 000031
【００８３】
であるとすると、これらより３次元モデル上の点（ａ′ｘ，ａ′ｙ，ａ′ｚ  ）の表示面Ｓ″（ベクトル  外２４  により規定される表示面）上の座標（ａ″ｖ，ａ″ｗ  
【００８４】
【外２４】
0003544585.tif 000032
【００８５】
）は以下の式で与えられる。
【００８６】
【数８】
0003544585.tif 000033
【００８７】
この（ａ″ｖ，ａ″ｗ  ）に基づいて、表示面Ｓ″に投影した３次元図形が描かれ、最終的な結果を得る。
以上、３次元モデルに対する視点方向の変化に伴う、ビュー変更の実現方法について述べたが、このような方法については、例えば「ＣＧハンドブック」森北出版（株）等に記載されている。
【００８８】
図１２は、前記ビュー変更の方法を具体的に説明するための図である。同図において、ユーザがコーナＢを指定したものとして、ビュー変更を説明する。ここで現在の視点方向は
【００８９】
【数９】
0003544585.tif 000034
【００９０】
であるとする。
ユーザが、コーナＢを指定したことにより、新しく視点方向を示すベクトル  外２５  は（１）  式によって決定される。まず、（１）  式の  外２６  に対応するベ
【００９１】
【外２５】
0003544585.tif 000035
【００９２】
クトルとして
【００９３】
【外２６】
0003544585.tif 000036
【００９４】
【数１０】
0003544585.tif 000037
【００９５】
が図７のＳ２０又はＳ３０において求められる。
次に、図７のＳ２２において、式（１）  に従って  外２７  が求められ、
【００９６】
【外２７】
0003544585.tif 000038
【００９７】
【数１１】
0003544585.tif 000039
【００９８】
となる。
次に、式（２）  に基づいて、表示面Ｓ′上の座標軸  外２８  が求められる。今
【００９９】
【外２８】
0003544585.tif 000040
【０１００】
ここで、  外２９  を  外３０  と採ると、
【０１０１】
【外２９】
0003544585.tif 000041
【０１０２】
【外３０】
0003544585.tif 000042
【０１０３】
【数１２】
0003544585.tif 000043
【０１０４】
であるから、
【０１０５】
【数１３】
0003544585.tif 000044
【０１０６】
次に、（３）  ，（４）  式に基づいて、３次元モデルの回転を行う。今の場合、
【０１０７】
【数１４】
0003544585.tif 000045
【０１０８】
である。これより（４）  式は
【０１０９】
【数１５】
0003544585.tif 000046
【０１１０】
となり、（１０）式より、（３）  式は
【０１１１】
【数１６】
0003544585.tif 000047
【０１１２】
となる。図１２の各点は、
【０１１３】
【数１７】
0003544585.tif 000048
【０１１４】
となる。式（１０）の  外３１  も同様に変換すると、
【０１１５】
【外３１】
0003544585.tif 000049
【０１１６】
【数１８】
0003544585.tif 000050
【０１１７】
となり、
【０１１８】
【数１９】
0003544585.tif 000051
【０１１９】
であるから、式（６）  は、
【０１２０】
【数２０】
0003544585.tif 000052
【０１２１】
となる。（１６）式より各点は、ベクトル    外３２  により規定される表示面Ｓ″上
【０１２２】
【外３２】
0003544585.tif 000053
【０１２３】
の点に変換され、下記のようになる。
【０１２４】
【数２１】
0003544585.tif 000054
【０１２５】
図１３は、上記各点を表示面Ｓ″上の座標系（Ｖ″，Ｗ″）にプロットしたものであり、図１２の図形が視点の変更の結果（ビュー変更の結果）どのように表示されるかを示した図である。
【０１２６】
図１３において、ｘ，ｙ，ｚ軸はそれぞれ、図形Ａ′，Ｂ′，Ｃ′，Ｄ′，Ｅ′，Ｆ′，Ｇ′，Ｈ′が定義される座標系を現している。
点Ｂ′は、視点の変更の際にユーザによって指定された点であり、視点変更後は表示面座標（Ｖ″，Ｗ″）の原点に来ている。このように、本実施例によればＣＡＤ等の表示画面に表示されている３次元図形上の一点を指定するだけで、３次元図形を見る視点方向を容易に変えることが出来る。
【０１２７】
以上の説明においては、ユーザが３次元モデルのコーナを指定することによってそのコーナを通る稜線のベクトルの平均の逆方向が視点方向として決定されるものとしたが、コーナと重心を通るベクトルの方向にビューを変更することも、またユーザが３次元モデルの稜線を指定してビュー変更を行うことも可能である。
【０１２８】
【発明の効果】
以上詳細に説明したように本発明によれば、３次元ＣＡＤにおけるビューの変更を人間の感覚に合うように簡略化することができ３次元ＣＡＤの操作性の向上に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の原理構成ブロック図である。
【図２】本発明のビュー演算機構の全体構成を示すブロック図である。
【図３】本発明におけるビューの制御の全体処理フローチャートである。
【図４】ビュー演算部の詳細構成を示すブロック図である。
【図５】演算制御部の処理のフローチャートである。
【図６】立体プリミティブの形状データの例を示す図である。
【図７】演算処理部の処理のフローチャートである。
【図８】より一般的な３次元モデルデータの説明図である。
【図９】視点方向を表す  外３３  と表示面との関係を示す図である。
【外３３】
0003544585.tif 000055
【図１０】立体上の１つのコーナーが指定された場合に求められるベクトル  外３４  の
【外３４】
0003544585.tif 000056
概観を示す図である。
【図１１】ベクトル  外３５  とベクトル  外３６  との関係を示す図である。
【外３５】
0003544585.tif 000057
【外３６】
0003544585.tif 000058
【図１２】ビュー変更の具体例を説明する図である。
【図１３】ビュー変更の結果を示す図である。
【図１４】アイソメビューの説明図である。
【図１５】手動で視点の方向を回転させる方法の説明図である。
【符号の説明】
１      ３次元モデル記憶部
２      位置入力手段
３      表示制御手段
１０    グラフィックディスプレイ
１１    入力処理部
１２    コマンド処理部
１３    ビュー演算部
１３ａ  演算制御部
１３ｂ  演算処理部
１４    モデル管理部
１５    ビュー制御部
【図１】
0003544585.tif 000059
【図２】
0003544585.tif 000060
【図３】
0003544585.tif 000061
【図４】
0003544585.tif 000062
【図５】
0003544585.tif 000063
【図６】
0003544585.tif 000064
【図７】
0003544585.tif 000065
【図８】
0003544585.tif 000066
【図９】
0003544585.tif 000067
【図１０】
0003544585.tif 000068
【図１１】
0003544585.tif 000069
【図１２】
0003544585.tif 000070
【図１３】
0003544585.tif 000071
【図１４】
0003544585.tif 000072
【図１５】
0003544585.tif 000073