(57)【要約】【課題】操作者の注目部分を表示画面内に留めたまま自動的に視点の回転移動操作を行う。【解決手段】表示画面内での注目点の座標（Ｘａ，Ｙａ）を（０，０）に決定し、その近傍範囲を注目範囲と推定する（Ｓ９０２０１）。３次元図形の表面上の点を順にチェック対象点とし（Ｓ９０２０２、Ｓ９０２０３）、チェック対象点に対応した座標（Ｘ，Ｙ）が表示画面１２の注目範囲内にあって（Ｓ９０２０５：ＹＥＳ）、チェック対象点の投影面座標系ＸＹＺでのＺ座標が現時点での最大値（Ｚ＿ＭＡＸ）よりも大きい場合（Ｓ９０２０６：ＹＥＳ）、当該チェック対象点のＺ座標を現時点でのＺ座標の最大値（Ｚ＿ＭＡＸ）とする（Ｓ９０２０７）。未チェックの点がないと判断されると（Ｓ９０２０２：ＮＯ）、回転中心位置が（Ｘａ，Ｙａ，Ｚ＿ＭＡＸ）に設定される（Ｓ９０２０８）。【選択図】　　　　図７
2004078380.tif 000002
【特許請求の範囲】
【請求項１】
表示対象物である３次元図形が投影面に投影された２次元図形を有限の表示範囲を有する表示画面内に表示させる図形表示制御装置であって、
前記表示画面上における操作者の注目範囲を推定する注目範囲推定手段と、
前記３次元図形の表面上にあって前記注目範囲内に相当する点の中で前記投影面に最も近い抽出点又はその近傍点を回転操作における回転中心位置に設定する回転中心設定手段と、
前記回転中心設定手段で設定された回転中心位置を中心に前記投影面を回転させる視点変更手段とを備えていることを特徴とする図形表示制御装置。
【請求項２】
前記回転中心設定手段が、前記注目範囲内の１点に相当する前記抽出点の近傍点を前記回転中心位置に設定することを特徴とする請求項１に記載の図形表示制御装置。
【請求項３】
前記注目範囲推定手段が、前記表示画面の中央近傍範囲を前記注目範囲と推定することを特徴とする請求項１又は２に記載の図形表示制御装置。
【請求項４】
前記注目範囲推定手段が、前記３次元図形の表面上に前記注目範囲内に相当する点がないときに、前記相当する点が現れるまで前記注目範囲を徐々に広げていく範囲拡大手段を備えていることを特徴とする請求項１〜３のいずれか１項に記載の図形表示制御装置。
【請求項５】
表示対象物である３次元図形が投影面に投影された２次元図形を有限の表示範囲を有する表示画面内に表示させる図形表示制御方法であって、
前記表示画面上における操作者の注目範囲を推定する注目部分推定ステップと、
前記３次元図形の表面上にあって前記注目範囲内に相当する点の中で前記投影面に最も近い抽出点又はその近傍点を回転操作における回転中心位置に設定する回転中心設定ステップと、
前記回転中心設定ステップで設定された回転中心位置を中心に前記投影面を回転させる視点変更ステップとを備えていることを特徴とする図形表示制御方法。
【請求項６】
前記回転中心設定ステップにおいて、前記注目範囲内の１点に相当する前記抽出点の近傍点を前記回転中心位置に設定することを特徴とする請求項５に記載の図形表示制御方法。
【請求項７】
前記注目部分推定ステップにおいて、前記表示画面の中央近傍範囲を前記注目範囲と推定することを特徴とする請求項５又は６に記載の図形表示制御方法。
【請求項８】
前記注目部分推定ステップが、前記３次元図形の表面上に前記注目範囲内に相当する点がないときに、前記相当する点が現れるまで前記注目範囲を徐々に広げていく範囲拡大ステップを備えていることを特徴とする請求項５〜７のいずれか１項に記載の図形表示制御装置。
【請求項９】
表示対象物である３次元図形が投影面に投影された２次元図形を有限の表示範囲を有する表示画面内に表示させるプログラムであって、
前記表示画面上における操作者の注目範囲を推定する注目範囲推定手段、
前記３次元図形の表面上にあって前記注目範囲内に相当する点の中で前記投影面に最も近い抽出点又はその近傍点を回転操作における回転中心位置に設定する回転中心設定手段、及び、
前記回転中心設定手段で設定された回転中心位置を中心に前記投影面を回転させる視点変更手段としてコンピュータを機能させるためのプログラム。
【請求項１０】
前記回転中心設定手段が、前記注目範囲内の１点に相当する前記抽出点の近傍点を前記回転中心位置に設定することを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記注目範囲推定手段が、前記表示画面の中央近傍範囲を前記注目範囲と推定することを特徴とする請求項９又は１０に記載のプログラム。
【請求項１２】
前記注目範囲推定手段が、前記３次元図形の表面上に前記注目範囲内に相当する点がないときに、前記相当する点が現れるまで前記注目範囲を徐々に広げていく範囲拡大手段を備えていることを特徴とする請求項９〜１１のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形表示制御装置、図形表示制御方法及びプログラムに関し、特に、３次元形状を２次元画面に表示する図形表示制御装置、図形表示制御方法及びプログラムに関する。
【０００２】
【従来の技術】
３次元直交座標系における点の集合からなる３次元図形を投影面に投影し、さらに、表示画面にイメージを出力する図形表示制御装置が知られている。
【０００３】
３次元図形の投影面への投影は、正斜影を行う平行投影の他、投視投影などの手法を用いて行われている。そして、投影面に投影された２次元図形は表示画面に表示される。投影面は拡大／縮小、回転移動、平行移動等の視点変更操作によって３次元図形に対する位置を変える。ここで、回転移動については、３次元図形の重心を回転中心位置として視点変更がなされるのが一般的である。
【０００４】
【発明の解決しようとする課題】
しかしながら、３次元図形をその重心を回転中心位置として回転移動させた場合、回転中心位置が適切でないと、視点変更操作によって、図１２に示すように、注視したい部分（注目点：図１２に示す太線の部分）が表示画面から逸脱してしまうという問題が発生することがある。特に拡大率を高くして表示している場合、３次元図形の狭い部分しか画面に表示されなくなるため、この問題がより顕著になる。このような場合、操作者が拡大率を低くしたり、視点平行移動操作を行ったりするなど、注視したい部分が表示範囲内に収まるように視点変更操作を余分に行うことが必要になる。
【０００５】
また、特開平４−２３８３８９号公報には、表示対象範囲を予め指定しておき、それがすべて表示されるように拡大率を変更すると共に、指定される表示対象範囲を随時カーソルで変更できるようにするという方法が開示されている。この方法によれば、注視したい部分が表示画面から逸脱してしまうという問題が発生するという問題はない。しかし、この方法では、表示させたい範囲が作業中に頻繁に変化するような場合は、表示対象範囲の指定を頻繁に行わなければならないという問題が発生する。
【０００６】
そこで、操作者の注目部分を表示画面内に留めたまま、自動的に視点変更による３次元図形の回転移動操作を行うことができる技術が求められている。
【０００７】
【課題を解決するための手段】
本発明の図形表示制御装置は、表示対象物である３次元図形が投影面に投影された２次元図形を有限の表示範囲を有する表示画面内に表示させる図形表示制御装置であって、前記表示画面上における操作者の注目範囲を推定する注目範囲推定手段と、前記３次元図形の表面上にあって前記注目範囲内に相当する点の中で前記投影面に最も近い抽出点又はその近傍点を回転操作における回転中心位置に設定する回転中心設定手段と、前記回転中心設定手段で設定された回転中心位置を中心に前記投影面を回転させる視点変更手段とを備えていることを特徴としている（請求項１）。
【０００８】
本発明の図形表示制御方法は、表示対象物である３次元図形が投影面に投影された２次元図形を有限の表示範囲を有する表示画面内に表示させる図形表示制御方法であって、前記表示画面上における操作者の注目範囲を推定する注目部分推定ステップと、前記３次元図形の表面上にあって前記注目範囲内に相当する点の中で前記投影面に最も近い抽出点又はその近傍点を回転操作における回転中心位置に設定する回転中心設定ステップと、前記回転中心設定ステップで設定された回転中心位置を中心に前記投影面を回転させる視点変更ステップとを備えていることを特徴としている（請求項５）。
【０００９】
この構成によると、３次元図形の表面上にあって推定された注目範囲内に相当する点の中で投影面に最も近い抽出点又はその近傍点が、回転操作の都度、回転操作における回転中心位置に自動的に設定される。したがって、３次元図形空間内で表示範囲を指定する操作や、回転中心位置を指定する操作を行うこと無しに、注目部分が表示画面から逸脱することがほとんどなく視点変更を行うことが可能となる。本発明において、近傍点とは、抽出点との３次元的距離が小さく、それを中心とした回転操作によって抽出点が画面から逸脱しない点を意味する。近傍点は、投影面と平行で抽出点を含む平面上にあってよい。
【００１０】
本発明において、前記注目範囲内の１点に相当する前記抽出点の近傍点が前記回転中心位置に設定されてよい（請求項２、６）。
【００１１】
この構成によると、回転中心位置に対応する表示画面上の点を固定しておくことができるので、視点を変更するたびに表面画面上において回転中心位置が移動するのを防止することができる。なお、この場合も回転中心位置が前記投影面に平行で前記抽出点を含む平面上にあってよい。
【００１２】
本発明において、前記表示画面の中央近傍範囲が前記注目範囲と推定されてよい（請求項３、７）。
【００１３】
この構成によると、操作者の注目部分であると想定される表示画面の中央付近が、回転操作の都度、回転操作の回転の中心として自動的に設定される。したがって、視点変更操作によって注目部分が表示画面から逸脱することが少なくなる。
【００１４】
本発明において、前記３次元図形の表面上に前記表示画面の注目範囲内に相当する点がないときに、前記相当する点が現れるまで前記注目範囲が徐々に広げられてもよい（請求項４、８）。
【００１５】
この構成によると、初期設定状態の注目範囲内に３次元図形の対応点が存在しない場合にも注目範囲を徐々に広げることで回転中心位置を設定することができるので、操作者が注目範囲を設定し直すなどの煩雑な作業を行う必要がなくなる。
【００１６】
また、請求項９〜１２に記載のプログラムは、コンピュータを請求項１〜４のような図形表示制御装置として機能させることが可能なプログラムであり、請求項１〜４と夫々同様の作用効果を奏する。なお、請求項９〜１２の夫々に記載されているプログラムは、ＣＤ−ＲＯＭ、ＦＤ、ＭＯなどのリムーバブル型記録媒体やハードディスクなどの固定型記録媒体に記録して配布可能である他、有線又は無線の電気通信手段によってインターネットなどの通信ネットワークを介して配布可能である。
【００１７】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の好適な実施の形態を説明する。
【００１８】
まず、本発明の一実施の形態による図形表示制御装置１を、図１及び図２に基づいて説明する。図１は、本実施の形態に係る図形表示制御装置１のブロック図である。図２は、図１に示された表示装置１１に表示されるＧＵＩ（Ｇｒａｐｈｉｃａｌ　Ｕｓｅｒ　Ｉｎｔｅｒｆａｃｅ）画面を示す図である。
【００１９】
図形表示制御装置１は、図１に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）２が制御を行うコンピュータによって構成されている。ＣＰＵ２には、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）３、主記憶装置としてのＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）４、及び、ＨＤＤ（Ｈａｒｄ　Ｄｉｓｋ　Ｄｒｉｖｅ）５等の補助記憶装置が接続されている。ＣＰＵ２は、後述する投影面に投影された３次元図形を表示装置１１の表示画面２２に表示するための図形表示部６と、視点変更（投影面の位置変更）処理を行うための視点変更部７と、表示画面２２上における操作者の注目範囲を推定するための注目部分推定部８と、視点変更処理中の回転移動処理を行うに当たって投影面の回転中心位置を設定するための回転中心設定部９とを有している。注目部分推定部８は、後で詳述するように、初期設定として予め操作者により入力装置１０で入力されＨＤＤ５に記憶されたデータを読み出し、自動的に表示画面２２上における操作者の注目範囲を推定するものである。また、回転中心設定部９は、後で詳述するように、３次元図形の表面上にあって表示画面２２の注目範囲内に相当する点の中で投影面に最も近い抽出点又は前記抽出点と同じ距離だけ投影面から離れた前記抽出点の近傍点を回転操作における回転中心位置に設定する。
【００２０】
注目部分推定部８には、３次元図形の表面上に表示画面２２の前記注目範囲内に相当する点がないときに、相当する点が現れるまで注目範囲を徐々に広げていくための範囲拡大部８ａが設けられている。
【００２１】
図１に示されている図形表示制御装置１は、例えば汎用のパーソナルコンピュータによって構成されている。このコンピュータのハードディスクには、当該コンピュータを図形表示制御装置１として機能させるためのプログラム（このプログラムは、ＣＤ−ＲＯＭ、ＦＤ、ＭＯなどのリムーバブル型記録媒体に記録しておくことにより、任意のコンピュータにインストールすることが可能である）を含む各種のソフトウェアが記憶されている。そして、これらのハードウェア及びソフトウェアが組み合わされることによって、上述の各部６、７、８、８ａ、９が構築されている。
【００２２】
また、この図形表示制御装置１には、操作者が操作を行うためのキー入力装置やマウス等の入力装置１０と、液晶ディスプレイやＣＲＴ（Ｃａｔｈｏｄｅ　Ｒａｙ　Ｔｕｂｅ）ディスプレイ等の表示装置１１とが接続されている。
【００２３】
表示装置１１上には、図２に示すようなＧＵＩ画面２１が表示される。ＧＵＩ画面２１には、３次元図形を表示する表示画面２２、操作者が視点操作を行うための縦回転指定アイテム２３、横回転指定アイテム２４及び拡大率指定アイテム２５が表示される。また、ＧＵＩ画面２１は終了ボタン２６を有しており、操作者が入力装置１０を用いて終了ボタン２６に対して操作をすることにより、ＧＵＩ画面２１を終了させることができる。
【００２４】
表示画面２２は、図形表示部６からの制御に基づいて、設定された表示範囲で表示対象物である３次元図形を投影して表示する。この３次元図形の表示画面２２への表示は、メッシュ表示、等高線表示等によって行う。
【００２５】
操作者が入力装置１０を用いて縦回転指定アイテム２３及び横回転指定アイテム２４を操作すると、回転中心設定部９が、３次元図形の表面上にあって注目部分推定部８で推定された注目範囲（本実施の形態では、表示画面２２の中央近傍範囲）内に相当する１点を、回転における回転中心位置に設定する。ここで、３次元図形の表面上に表示画面２２の中央近傍範囲内に相当する点がない場合は、相当する点が現れるまで、範囲拡大部８ａが中央近傍範囲を徐々に広げる。これにより、回転中心設定部９によって回転中心位置が設定される。そして、設定された回転中心位置を中心として視点変更部７が投影面を回転させると、それに伴って表示画面２２内で３次元図形が縦回転及び横回転する。
【００２６】
なお、本実施の形態では、回転操作として、縦回転指定アイテム２３及び横回転指定アイテム２４を操作することにより３次元図形を縦回転及び横回転させることができるようになっている。しかしながら、回転操作として、縦回転及び横回転以外に画面内回転等ができるようにしてもよい。
【００２７】
操作者が入力装置１０を用いて拡大率指定アイテム２５を操作すると、視点変更部７が、表示画面２２内に表示された３次元図形を拡大表示または縮小表示する。また、操作者が入力装置１０であるマウスを表示画面２２上でドラッグすると、視点変更部７が３次元図形を平行移動させる。なお、平行移動の操作はマウスによるドラッグの他に、平行移動指定アイテム等を設けることにより行ってもよい。
【００２８】
次に、図形表示部６による３次元図形の表示画面２２への表示手順について、以下、詳細に説明する。
【００２９】
［３次元座標系と投影面及び表示画面との座標の関係］
３次元図形の投影面座標系ＸＹＺ（投影面Ｚ＝０）は、図３に示すように、３次元座標系ｘｙｚに対し、ベクトル（ｘｔ，ｙｔ，ｚｔ）の平行移動、及び方位角θ、仰角φ、回転角ψという回転操作を施すことにより得られる。このとき、３次元座標系ｘｙｚにおける座標（ｘ，ｙ，ｚ）で表される点の、投影面座標系ＸＹＺにおける座標を（Ｘ，Ｙ，Ｚ）とすると、（ｘ，ｙ，ｚ）と（Ｘ，Ｙ，Ｚ）の間の関係は、以下の（式１）のようになる。
【００３０】
【数１】
2004078380.tif 000003
【００３１】
ただし、Ｍは３×３行列で、下記の（式２）のとおりである。
【００３２】
【数２】
2004078380.tif 000004
【００３３】
また、表示画面へのイメージの出力は、図４に示すように、表示画面における画素位置（縦位置Ｉ、横位置Ｊ）を、投影面座標系での座標から、以下の（式３）で算出することにより行われる。ここで、Ｗは表示画面の縦の画素数であり、Ｈは表示画面の横の画素数であり、ｒは拡大率である。
【００３４】
【数３】
2004078380.tif 000005
【００３５】
また、表示されるのは、以下の（式４）を満たす点である。
１≦Ｉ≦Ｈ，１≦Ｊ≦Ｗ　（式４）
【００３６】
そして、投影面における表示対象範囲は、（式３）及び（式４）から、以下のとおりに算出される。
−（Ｗ／２−１）／ｒ≦Ｘ≦Ｗ／２ｒ，
−Ｈ／２ｒ≦Ｙ≦（Ｈ／２−１）／ｒ
【００３７】
通常、Ｗ及びＨは１に比べて十分大きいため、上の２つの式を簡略化すれば、以下の（式５）の通りになる。
−Ｗ／２ｒ≦Ｘ≦Ｗ／２ｒ，
−Ｈ／２ｒ≦Ｙ≦Ｈ／２ｒ　（式５）
【００３８】
［視点データ変更］
（式１）〜（式３）で表される、３次元座標系ｘｙｚと投影面及び表示画面との座標系関係を決定づける７つのパラメータ、
ｘｔ，ｙｔ，ｚｔ，θ，φ，ψ，ｒ
を視点データと呼ぶ。視点データは、まず図形表示制御装置１が初期値を定め、操作者が適宜変更を加えて更新されていく。視点データを変更させる操作としては、拡大／縮小、回転、平行移動などがある。これらの操作で視点データが具体的にどのように変更されるかを以下に説明する。
【００３９】
まず、回転について、投影面座標系ＸＹＺの座標（Ｘ０，Ｙ０，Ｚ０）で表される点を原点とし且つ投影面座標系ＸＹＺと平行な座標系ＸＹＺ０を想定し、原点（Ｘ０，Ｙ０，Ｚ０）を中心として投影面座標系ＸＹＺを回転させる場合を例に説明する。回転前の投影面座標系ＸＹＺで座標（Ｘ，Ｙ，Ｚ）であった点が、回転後の投影面座標系ＸＹＺ１で座標（Ｘ１，Ｙ１，Ｚ１）であるとすれば、当該点の座標系ＸＹＺ０における座標が不動であるから、下記の（式６）が成り立つ。
【００４０】
【数４】
2004078380.tif 000006
【００４１】
ただし、Ｒは、座標系の回転を表す３×３行列で、例えば、Ｘ軸周りの回転を行う場合には、回転角度をαとすると、以下の（式７）のようになる。
【００４２】
【数５】
2004078380.tif 000007
【００４３】
（式６）を変形して、（式１）を代入すると、以下の（式８）となる。
【００４４】
【数６】
2004078380.tif 000008
【００４５】
したがって、更新後の行列ＭをＭ１、回転移動成分をｘｔ１，ｙｔ１，ｚｔ１とおくと、下記の（式９）及び（式１０）によって算出される行列Ｍ１、（ｘｔ１，ｙｔ１，ｚｔ１）を、新しい投影面の視点データとして更新すればよい。
【００４６】
【数７】
2004078380.tif 000009
【００４７】
次に、拡大／縮小については、それぞれ（式３）のパラメータｒを増減することにより、視点データが変更される。
【００４８】
次に、平行移動については、実現すべきＸＹ面内における平行移動量を（ΔＸ，ΔＹ）とすると、移動前の投影面座標系ＸＹＺで座標が（Ｘ，Ｙ，Ｚ）であったものが、移動後の投影面座標系ＸＹＺ２で座標が（Ｘ−ΔＸ，Ｙ−ΔＹ）となる。また、（式１）より、３次元座標系ｘｙｚにおける座標（ｘ，ｙ，ｚ）は以下の（式１１）のように表される。
【００４９】
【数８】
2004078380.tif 000010
【００５０】
したがって、更新後の行列ＭをＭ２、平行移動成分を（ｘｔ２，ｙｔ２，ｚｔ２）とおくと、以下の（式１２）が任意のＸＹＺに対して成立する。
【００５１】
【数９】
2004078380.tif 000011
【００５２】
これを満たす下記の（式１３）及び（式１４）によって算出される行列Ｍ２、（ｘｔ２，ｙｔ２，ｚｔ２）を、新しい投影面の視点データとして更新すればよい。
【００５３】
【数１０】
2004078380.tif 000012
【００５４】
以上のように、回転、拡大／縮小、平行移動のそれぞれについて視点変更が行われる。
【００５５】
次に、上述の図形表示制御装置１を用いた画面表示方法について、図５のフローチャートに基づいて説明する。
【００５６】
まず、視点データの初期化、及び視点操作の表示（ＧＵＩ画面２１の表示）を行う（ステップＳ１）。なお、初期設定として、表示画面２１上における操作者の注目範囲を注目部分推定部８によって推定するために必要なデータが予め操作者により入力装置１０で入力されているとする。入力されたデータは、ＨＤＤ５に記憶される。そして、表示させる３次元図形のデータを、補助記憶装置（ＨＤＤ５）から読み込み、ＲＡＭ４に格納する（ステップＳ２）。次に、上述の（式１）〜（式４）に従って、３次元図形の表面の各点から、表示画面の画素位置を算出し、該当画素の色を設定することにより、図形を表示する（ステップＳ３）。
【００５７】
以降のステップは、操作者の操作に応じて、処理がなされる。拡大率指定アイテム２５により拡大率が変更された場合は（ステップＳ４：ＹＥＳ）、視点変更処理のうち拡大／縮小処理を行う（ステップＳ８）。拡大／縮小処理は、上述した通り、（式３）のパラメータｒを増減することにより行われる。一方、拡大率指定アイテム２５により拡大率が変更されなかった場合は（ステップＳ４：ＮＯ）、ステップＳ５に進み、縦回転指定アイテム２３または横回転指定アイテム２４により回転指定がなされたか否かが判断される。
【００５８】
縦回転指定アイテム２３または横回転指定アイテム２４により回転指定がなされた場合は（ステップＳ５：ＹＥＳ）、視点変更処理のうち回転処理を行う（ステップＳ９）。回転処理については、後で図６に基づいて詳述する。
【００５９】
一方、縦回転指定アイテム２３または横回転指定アイテム２４により回転指定がなされなかった場合は（ステップＳ５：ＮＯ）、ステップＳ６に進み、平行移動の指定がなされたか否かが判断される。
【００６０】
表示画面２２において、入力装置１０であるマウスをドラッグすることにより平行移動の指定がなされた場合は（ステップＳ６：ＹＥＳ）、視点変更処理のうち平行移動処理を行う（ステップＳ１０）。平行移動処理は、上述した通り、（式１３）及び（式１４）から算出される視点データを更新することにより行われる。
【００６１】
一方、縦回転指定アイテム２３または横回転指定アイテム２４により回転指定がなされなかった場合は（ステップＳ５：ＮＯ）、ステップＳ７に進み、操作を終了するか否かが判断される。
【００６２】
操作を終了するか否かは、操作者の操作により終了ボタン２６が入力装置１０により操作されたか否かにより判断される。そして、終了ボタン２６が操作されない場合は（ステップＳ７：ＮＯ）、ステップＳ４に戻り、操作者による指定が引き続き行われる。一方、終了ボタン２６が操作された場合は（ステップＳ７：ＹＥＳ）、液晶パネルやＣＲＴディスプレイ等の表示装置１１でのＧＵＩ画面２１の表示を終了する。
【００６３】
ここで、回転処理（ステップＳ９）について、図６に基づいて、より詳細に説明する。
【００６４】
まず、回転の種別及び回転量を判定する（ステップＳ９０１）。ここで、回転の種別の判定とは、縦回転指定アイテム２３が操作されたかあるいは横回転指定アイテム２４が操作されたかの判定である。また、回転量の判定とは、縦回転指定アイテム２３または横回転指定アイテム２４の操作により指定された回転量の判定である。
【００６５】
次に、回転中心位置を算出する（ステップＳ９０２）。そして、回転種別、回転量、算出された回転中心位置から、（式９）及び（式１０）に従って、視点データを更新し（ステップＳ９０３）、ステップＳ９が完了する。
【００６６】
［第１の具体例］
ここで、回転中心位置の算出（ステップＳ９０２）の第１の具体例について、図７に基づいて、更に詳しく説明する。
【００６７】
まず、予め入力されたデータに基づいて注目点の座標（Ｘａ，Ｙａ）が決定され、さらに、表示画面２１上における操作者の注目範囲が予め入力されたデータに基づいて注目部分推定部８によって推定される。例えば、予め入力されたデータが表示画面２１上の１点の座標データである場合、当該１点が注目点として決定され、注目部分推定部８は当該１点を中心とした矩形又は円形範囲が注目範囲であると推定する。別の例として、予め入力されたデータが表示画面２１上の矩形又は円形範囲データである場合、その中心座標が注目点の座標（Ｘａ，Ｙａ）として決定され、注目部分推定部８は当該矩形又は円形範囲自体が注目範囲であると推定する（ステップＳ９０２０１）。一例として、注目点の座標（Ｘａ，Ｙａ）は表示画面２２の中央の座標（０，０）であってよい。
【００６８】
次に、３次元図形の表面上に、以下のステップで行うチェックが行われていない点があるか否かを判断する（ステップＳ９０２０２）。
【００６９】
未チェックの点があると判断された場合（ステップＳ９０２０２：ＹＥＳ）、未チェックの中の１点をチェックの対象とする（ステップＳ９０２０３）。そして、チェック対象点について、投影面座標系ＸＹＺでの座標を算出する（ステップＳ９０２０４）。
【００７０】
そして、チェック対象点を投影面（投影面座標系ＸＹＺのＺ＝０平面）に投影した点の座標（Ｘ，Ｙ）が表示画面２２の注目範囲内か否かを判断する（ステップＳ９０２０５）。例えば、注目範囲が矩形である場合、
｜Ｘ−Ｘａ｜≦ΔＪ／ｒ、かつ、
｜Ｙ−Ｙａ｜≦ΔＩ／ｒ
であればチェック対象点に対応した座標（Ｘ，Ｙ）が表示画面２２の注目範囲内にあると判断される。ここで、ΔＪ、ΔＩは、表示画面２２上における注目範囲を定義する２つの変数である。ΔＪは注目範囲の幅画素数の半分であり、ΔＩは注目範囲の高さ画素数の半分である。また、ｒは（式３）で用いられる拡大率である。
【００７１】
チェック対象点に対応した座標（Ｘ，Ｙ）が表示画面２２の注目範囲内にあると判断された場合（ステップＳ９０２０５：ＹＥＳ）、チェック対象点の投影面座標系ＸＹＺでのＺ座標がその現時点での最大値（Ｚ＿ＭＡＸ）よりも大きいかどうかが判断される（ステップＳ９０２０６）。なお、Ｚ＿ＭＡＺの初期値は０と設定されている。一方、チェック対象点に対応した座標（Ｘ，Ｙ）が表示画面１２の注目範囲内にないと判断された場合（ステップＳ９０２０５：ＮＯ）、ステップＳ９０２０２に戻り、未チェックの点があるかどうかが再び判断される。
【００７２】
チェック対象点の投影面座標系ＸＹＺでのＺ座標が現時点での最大値（Ｚ＿ＭＡＸ）よりも大きいと判断された場合（ステップＳ９０２０６：ＹＥＳ）、現時点でのＺ座標の最大値を、当該チェック対象点の投影面座標系ＸＹＺでのＺ座標に置き換え（Ｚ＿ＭＡＸ＝Ｚ）てから（ステップＳ９０２０７）、ステップＳ９０２０２に戻り、未チェックの点があるかどうかが再び判断される。一方、チェック対象点の投影面座標系ＸＹＺでのＺ座標が現時点での最大値（Ｚ＿ＭＡＸ）以下であると判断された場合（ステップＳ９０２０６：ＮＯ）、ステップＳ９０２０２に戻り、未チェックの点があるかどうかが再び判断される。
【００７３】
未チェックの点がないと判断された場合（ステップＳ９０２０２：ＮＯ）、回転中心位置が（Ｘａ，Ｙａ，Ｚ＿ＭＡＸ）に設定される。この点のＸＹ座標は注目点と同じである。しかし、この点のＺ座標は、３次元図形の表面上にあって表示画面１２の注目範囲内に相当する点の中で投影面に最も近い点（抽出点）の投影面座標系ＸＹＺでのＺ座標である。このようにして、抽出点と同じ距離だけ投影面から離れた抽出点の近傍点が回転中心位置に設定されて図７に示すサブルーチンが終了する。
【００７４】
［第２の具体例］
次に、回転中心位置の算出（ステップＳ９０２）の第２の具体例について、図８に基づいて、更に詳しく説明する。
【００７５】
ステップＳ９０２１１〜ステップＳ９０２１６までは、図７で説明した第１の具体例のステップＳ９０２０１〜ステップＳ９０２０６と実質的に同一であるので、ここでは詳細な説明を省略する。
【００７６】
チェック対象点の投影面座標系ＸＹＺでのＺ座標が現時点での最大値（Ｚ＿ＭＡＸ）よりも大きいと判断された場合（ステップＳ９０２１６：ＹＥＳ）、現時点でのＺ座標の最大値を、当該チェック対象点の投影面座標系ＸＹＺでのＺ座標に置き換えると共に、当該チェック対象点の投影面座標系ＸＹＺでのＸ座標を回転中心位置のＸ座標（Ｘｃ）と仮定し、当該チェック対象点の投影面座標系ＸＹＺでのＹ座標を回転中心位置のＹ座標（Ｙｃ）と仮定し、当該チェック対象点の投影面座標系ＸＹＺでのＺ座標（＝Ｚ＿ＭＡＸ）を回転中心位置のＺ座標（Ｚｃ）と仮定する（ステップＳ９０２０７）。その後、ステップＳ９０２１２に戻り、未チェックの点があるかどうかが再び判断される。
【００７７】
一方、チェック対象点の投影面座標系ＸＹＺでのＺ座標が現時点での最大値（Ｚ＿ＭＡＸ）以下であると判断された場合（ステップＳ９０２１６：ＮＯ）、第１の具体例と同様、ステップＳ９０２１２に戻り、未チェックの点があるかどうかが再び判断される。
【００７８】
未チェックの点がないと判断された場合（ステップＳ９０２１２：ＮＯ）、回転中心位置が（Ｘｃ，Ｙｃ，Ｚｃ）に設定される。この点は、３次元図形の表面上にあって表示画面２２の注目範囲内に相当する点の中で投影面に最も近い点（抽出点）である。このようにして抽出点が回転中心位置に設定されて図８に示すサブルーチンが終了する。
【００７９】
以上に説明したように、上述の実施の形態は、３次元図形の表面上にあって表示画面１２の注目範囲内に相当する点の中で投影面に最も近い抽出点又は前記抽出点と同じ距離だけ投影面から離れた抽出点の近傍点を、自動的に回転中心位置として設定しているため、従来技術にはない下記の利点を有している。
【００８０】
第１の具体例では、回転中心位置のＺ座標が投影面に平行で抽出点を含む平面上にあり、回転中心位置のＸＹ座標が表示画面２２内の注目点（Ｘａ，Ｙａ）（例えば、（０，０））となる点（Ｘａ，Ｙａ，Ｚ＿ＭＡＸ）を、回転操作の回転中心位置と設定している（図７のステップＳ９０２０８）。また、第２の具体例では、３次元図形の表面上にあって表示画面２２の注目範囲内に相当する点の中で投影面に最も近い点（Ｘｃ，Ｙｃ，Ｚｃ）を抽出点として回転操作の回転中心位置に設定している（図８のステップＳ９０２１８）。
【００８１】
このように、３次元図形の表面上にあって操作者の注目部分であると想定される表示画面２２の注目範囲内の最も手前付近の点（最も投影面に近い点付近の点）が、回転操作の都度、回転操作の回転の中心として自動的に設定される。そのため、３次元図形空間内で表示範囲を指定する操作や、回転中心位置を指定する操作を行うこと無しに、図９に示すごとく、注目部分が表示画面から逸脱することなく回転による視点変更を行うことが可能となる。
【００８２】
また、上述の実施の形態において、注目点（Ｘａ，Ｙａ）として（０，０）を選択すると、操作者の注目部分であると想定される表示画面２２の中央付近が、回転操作の都度、回転操作の回転の中心として自動的に設定されるようになる。したがって、視点変更操作によって操作者の注目部分が表示画面から逸脱することが少なくなる。
【００８３】
また、第１の具体例では、回転中心位置に対応する表示画面上の点を注目点（Ｘａ，Ｙａ）に固定しておくことができるので、視点を変更するたびに表面画面上において回転中心位置が移動するのを防止することができる。これにより、操作者を戸惑わせることが少ない回転処理が実現される。
【００８４】
以上、本発明の好適な実施の形態について説明したが、本発明は、前記実施の形態に限定されるものではなく、特許請求の範囲に記載した限りにおいてさまざまな設計変更が可能なものである。例えば、上述した実施の形態の第１、第２の具体例では、抽出点又はこれと同じ距離だけ投影面から離れた抽出点の近傍点が回転中心位置に設定されたが、回転中心位置は必ずしも抽出点と同じ距離だけ投影面から離れた点でなくてもよく、抽出点との３次元的距離が小さく回転操作によって抽出点が画面から逸脱しないような点であれば、投影面からの距離が抽出点とは異なる点が回転中心位置であってもよい。
【００８５】
また、上述した実施の形態では、３次元図形の表面上に表示画面２２の注目範囲内に相当する点が必ずあることが想定されている。しかしながら、例えば、図１１に示すような３次元図形１２であって、注目範囲、即ち、表示画面２２上の中央２２ａ近傍付近には投影される点がない場合に対応するため、第１の具体例（図７のフローチャート参照）の変形例として、図１０に示すフローチャートに従い、回転中心位置の算出（ステップＳ９０２）を行ってもよい。以下、図１０に基づいて、この変形例による回転中心位置の算出方法について説明する。なお、この変形例は第２の具体例にも適用可能である。
【００８６】
まず注目点の座標（Ｘａ，Ｙａ）及び注目範囲が決定されると（ステップＳ９０２２１）、ｎ＝１と設定する（ステップＳ９０２２２）。次に、３次元図形の点のチェック状況を初期化する（ステップＳ９０２２３）。３次元図形の点のチェック状況の初期化とは、３次元図形の点がチェックされたか否かの状況を初期化するということである。そして、未チェックの点があるかどうかを判断する（ステップＳ９０２２４）。以降のステップＳ９０２２５とステップＳ９０２２６は、図７のフローチャートで説明したステップＳ９０２０３とステップＳ９０２０４と同様である。
【００８７】
そして、チェック対象点を投影面に投影した点の座標（Ｘ，Ｙ）が表示画面２２の注目範囲内か否かを判断する（ステップＳ９０２２７）。例えば、注目範囲が矩形である場合、
｜Ｘ−Ｘａ｜≦（ｎ×ΔＪ）／ｒ、かつ、
｜Ｙ−Ｙａ｜≦（ｎ×ΔＩ）／ｒ
であればチェック対象点に対応した座標（Ｘ，Ｙ）が表示画面２２の注目範囲内にあると判断する。以降のステップＳ９０２２８とステップＳ９０２２９は、図７のフローチャートで説明したステップＳ９０２０６とステップＳ９０２０７と同様である。
【００８８】
未チェックの点がないと判断された場合（ステップＳ９０２２４：ＮＯ）、今までの処理においてチェック対象点を投影面に投影した点が注目範囲内に存在したか（つまり、一度でもステップＳ９０２２７でＹＥＳが選択されたか）どうかが判断される（ステップＳ９０２３０）。チェック対象点を投影面に投影した点が注目範囲内に存在しなかったと判断されると（ステップＳ９０２３０：ＮＯ）、ｎ＝ｎ＋１と設定され（ステップＳ９０２３１）、ステップＳ９０２２３に戻り、点チェックの状況が初期化される。一方、注目範囲内に点が存在したと判断されると（ステップＳ９０２３０：ＹＥＳ）、回転中心位置が（Ｘａ，Ｙａ，Ｚ＿ＭＡＸ）に設定され、図１０に示すサブルーチンが終了する。
【００８９】
この変形例では、図１０の手順を行うことにより、３次元図形の表面上に表示画面２２の注目範囲内に相当する点がないときに、注目範囲を画定するｎの値を１ずつ増加させることによって、前記相当する点が現れるまで注目範囲が徐々に広げられる。従って、初期設定状態の注目範囲内に３次元図形の対応点が存在しない場合にも注目範囲を徐々に広げることで回転中心位置を設定することができるので、操作者が注目範囲を設定し直すなどの煩雑な作業を行う必要がなくなる。
【００９０】
【発明の効果】
以上説明したように、本発明によると、３次元図形空間内で表示範囲を指定する操作や、回転中心位置を指定する操作を行うこと無しに、注目部分が表示画面から逸脱することがほとんどなく視点変更を行うことが可能となる。これにより、視点の平行移動や拡大縮小処理などを行うための操作回数が減少するので、操作者の視認作業における効率が高くなる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る図形表示制御装置を示すブロック図である。
【図２】図１に示す図形表示制御装置に含まれる表示装置を描いた模式図である。
【図３】３次元座標系ｘｙｚと投影面座標系ＸＹＺの関係を示す図である。
【図４】投影面座標系ＸＹＺと表示画面の関係を示す図である。
【図５】本発明の一実施の形態に係る図形表示制御方法のフローチャートである。
【図６】図５中、視点変更処理（回転）手順を詳細に示すフローチャートである。
【図７】図６中、回転中心位置算出手順の第１の具体例を詳細に示すフローチャートである。
【図８】回転中心位置算出手順の第２の具体例を詳細に示すフローチャートである。
【図９】本発明の一実施の形態に係る図形表示制御方法による視点回転操作を説明するための模式図である。
【図１０】図７で説明した第１の具体例の変形例を示すフローチャートである。
【図１１】中心部が空洞となった３次元図形が表示画面に示された一例を描いた図である。
【図１２】従来技術による視点回転操作を説明するための模式図である。
【符号の説明】
１　　　図形表示制御装置
２　　　ＣＰＵ
６　　　図形表示部
７　　　視点変更部（視点変更手段）
８　　　注目部分推定部（注目範囲推定手段）
８ａ　　範囲拡大部（範囲拡大手段）
９　　　回転中心設定部（回転中心設定手段）
１２　　３次元図形（表示対象物）
２２　　表示画面
２２ａ　表示画面の中央
【図１】
2004078380.tif 000013
【図２】
2004078380.tif 000014
【図３】
2004078380.tif 000015
【図４】
2004078380.tif 000016
【図５】
2004078380.tif 000017
【図６】
2004078380.tif 000018
【図７】
2004078380.tif 000019
【図８】
2004078380.tif 000020
【図９】
2004078380.tif 000021
【図１０】
2004078380.tif 000022
【図１１】
2004078380.tif 000023
【図１２】
2004078380.tif 000024