JPH07134781A - 3次元対象物回転指示方法 - Google Patents

3次元対象物回転指示方法

Info

Publication number
JPH07134781A
JPH07134781A JP28088293A JP28088293A JPH07134781A JP H07134781 A JPH07134781 A JP H07134781A JP 28088293 A JP28088293 A JP 28088293A JP 28088293 A JP28088293 A JP 28088293A JP H07134781 A JPH07134781 A JP H07134781A
Authority
JP
Japan
Prior art keywords
rotation
dimensional
points
dimensional object
viewpoint
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
Application number
JP28088293A
Other languages
English (en)
Inventor
Takaaki Yamada
隆亮 山田
Hiroyuki Kojima
弘行 小嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP28088293A priority Critical patent/JPH07134781A/ja
Publication of JPH07134781A publication Critical patent/JPH07134781A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 3次元回転の操作に必要な3次元座標を2次
元入力装置を用いて簡単に設定できる、3次元対象物回
転指示方法を提供する。 【構成】 3次元対象物回転指示方法では、ユーザから
のマウス入力による指示を受け取り、対象物を3次元的
に回転させる回転軸、回転角を算出する。その際、ディ
スプレイ上に指定された2点と視点とによって決まる平
面の法線方向から3次元の回転軸の方向を求め、上記2
点間の距離から回転角を求める。 【効果】 ユーザは、ディスプレイ装置に表示した対象
物の片隅を「マウスで掴んで廻す」(グラブハンドル)
操作を行うだけで、所望の回転をさせることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、グラフィックディスプ
レイ装置に表示された3次元対象物を、入力装置からの
指示に基づいて回転させる3次元対象物回転指示方法に
関する。
【0002】
【従来の技術】3次元CADシステム等で3次元の対象
物を表示し処理する場合、x、y及びzの3次元座標軸
を基準にした3次元座標(x、y、z)を用いて対象物
を記述し、対象物の表示を操作する。このようなシステ
ムでは3次元座標を何らかの手段でユーザが入力するこ
とで、回転、拡大といった対象物の3次元操作が可能と
なる。一方、2次元入力装置としてよく用いられるマウ
スの場合、ボタンを押したままマウスを移動させ、適当
なところでボタンを放すマウスドラッグの操作により、
2次元の2点(x1、y1)及び(x2、y2)の入力
が可能である。しかし、対象物が3次元物体の場合、こ
れだけの入力では、3次元の回転操作に必要な、回転軸
(x、y、z)のそれぞれの回りでの回転角(α、β、
γ)の完全な決定には情報量が不足している。
【0003】すなわち、従来の3次元座標入力方法で
は、以下の方法などが取られていた。 (1)キーボードから座標値を1つ1つキーインする。
【0004】(2)3次元ジョイスティックなどの専用
の3次元入力装置を用いる。
【0005】(3)x、y及びzのそれぞれの座標軸の
廻りの回転角を指示することで、入力を細分化し、それ
ぞれをマウスで指示する。
【0006】(例えば、マウスボタンを押している間、
x軸廻りにαだけ物体を回転させ、順次y、z方向にそ
れぞれβ、γだけ回転させる。)これらの入力方法には
それぞれ次のような欠点がある。
【0007】(a)マウスから手を放してキーボードで
数字を打ち込むことは、入力装置の使い分けの手間もさ
ることながら、キーインするデータ量も多く不便であ
る。
【0008】(b)グラフィックシステムの多くは2次
元入力装置としてのマウス、タブレット、ジョイスティ
ック等を標準で備えており、これに3次元入力装置を追
加すると、使い分けが繁雑で操作性が悪化する。
【0009】(c)3軸別に回転角を入力する方法は、
最終的に所望する3次元回転角に個々の回転角を合わせ
るのは慣れないと難しい。
【0010】一方、こうした問題点を解決する手法とし
て、2次元入力装置を用いた3次元座標の入力方法で
は、 (4)マウスから入力された2次元座標を、3次元のス
クリーン座標系に対応させたベクトルに分解し、3次元
移動量を決定する。(4)は、特開昭63−23342
3号に記載されているように、マウスドラッグで得られ
る2次元ベクトルを、スクリーン上に表示された3次元
座標軸の方向成分に分解することで、3次元の移動に関
するデータを入力できる方法である。
【0011】なお、(1)(2)は、特開昭63−23
3423号に記載されており、(3)については、例え
ば米ウェーブフロント社の製品 The Advanced Visualiz
erの1機能として、市販されている。The Advanced Vis
ualizer は同社の登録商標である。
【0012】
【発明が解決しようとする課題】上記(4)の2次元の
ベクトル分解による手法では、並行移動、拡大縮小など
の移動量の決定には問題はないが、3次元の回転に必要
な、回転軸、回転角度を指定できないことが問題であ
る。本発明の目的は、3次元回転の操作に必要な3次元
座標を2次元入力装置を用いて簡単に設定できる、3次
元対象物回転指示方法を提供することにある。
【0013】
【課題を解決するための手段】上記目的は、次のような
方法によって達成される。本発明の3次元対象物回転指
示方法では、マウスからの2次元入力を、3次元の回転
軸、及びその軸の回りの回転角に変換する。本発明の変
換方法の原理について、次に述べる。説明の簡単化のた
めに、視点はz軸上にあるものとし、対象物は原点
(0、0、0)を中心に配置されているとし、表示が面
に対応する投影面は視点と対象物との間にあってz軸に
垂直な面とするが、このような条件によって、3次元制
御の一般性が損われるものではない。
【0014】まず、マウスドラッグの操作により、2次
元の2点(x1、y1)及び(x2、y2)の入力が可
能である。また、3次元対象物を立体的に表示するため
には、投影面と視点が必要であり、グラフィックシステ
ムの多くは、論理的な投影面と視点を用意している。本
方法では、その投影面をディスプレイ装置のスクリーン
を投影面(z座標=zt)に見立て、視点の座標をPv
(0、0、zv)として保持している。2次元上の2点
入力を3次元座標P1(x1、y1、zt)及びP2
(x2、y2、zt)として扱う。このとき、3点P
v、P1及びP2を通る平面が一意的に決定され、その
3次元平面の法線ベクトルr、あるいはそれを補正した
ベクトルを3次元の回転軸(回転軸の方向余弦)とす
る。ディスプレイ装置に表示された対象物の2次元投影
画像は、縦h、横wの矩形エリアとして管理される。P
1とP2の距離をdとすると、h及びwとdとの比率を
適当な値で補正することにより、回転角θが決定され
る。すなわち、マウスによって2点を与えると、2点間
を結ぶベクトルの方向から3次元の回転軸rの方向が決
定され、このベクトルの大きさと向きとから回転角θ及
び回転方向(右回り又は左回り)が決定される。
【0015】3次元対象物の回転指示方法は、ディスプ
レイ装置、マウス、計算機、及びディスク装置を有する
計算機システムのメモリ内に格納された、以下の処理を
行なうプログラムによって実行される。すなわち、
(a)図形読み込み処理:ディスクに格納された3次元
物体の図形情報をメモリに読み込む、(b)図形表示処
理:図形情報に基づいて3次元物体の2次元投影画像を
ディスプレイ装置に表示する、(c)回転指示処理:ユ
ーザがマウスを用いてディスプレイ装置の画面上で指示
した2点の座標値から3次元の回転軸rと回転角θを決
定する、(d)図形回転処理:回転軸rの回りに3次元
物体が回転角θだけ回転するように図形情報を変換し、
その結果を2次元投影画像としてディスプレイ装置に表
示する。
【0016】特に、回転指示処理はユーザからのマウス
入力による指示を受け取り、対象物を3次元的に回転さ
せる回転軸、回転角を算出する。その際、ディスプレイ
上の2点(x1、y1)及び(x2、y2)を指示する
だけで、ユーザの所望する3次元の回転軸及び回転角を
決定できる。
【0017】
【作用】本発明の3次元対象物回転指示方法によれば、
3次元物体が表示されたディスプレ装置の画面上に、ユ
ーザによってマウスで指示された2点の座標値のみから
物体の回転軸と回転角とを決定するので、3次元物体の
回転を容易に指示できる。さらに、2点の座標値の与え
方によって回転軸と回転角とを自由に設定でき、かつ、
表示された3次元物体を画面上でユーザが直接回転する
イメージで回転操作を指示できる。
【0018】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。始めに、本実施例の説明順序を示す。図1〜
図13は第1の実施例の説明図である。図1では、本実
施例の座標変換による回転軸rと回転角θの決定方法の
原理を示す。図2は本発明を実施するための計算機シス
テムの全体構成図である。図3はユーザアクションとデ
ィスプレイ表示の関係を示す。対象物を記述する3次元
情報の例を図4、図5、図6に示す。図形表示、回転指
示、図形回転といった第1の実施例の制御方法の詳細を
図7、図8、図9でそれぞれ説明する。図10〜図14
は、本実施例の座標変換による回転軸rと回転角θの決
定方法の補足説明の図である。図15、図16は、回転
軸補正方法を主内容とした第2の実施例の説明図であ
る。
【0019】図1を用いて、マウスの2次元入力によ
り、3次元の回転軸r105と回転角θ106を決定す
る第1の実施例の原理を示す。説明の簡単化のために、
視点はz軸上にあるものとし、対象物は原点(0、0、
0)にその中心を有し、投影面はz軸に垂直な面とする
が、このことにより3次元制御の一般性が損われるもの
ではない。
【0020】本実施例においては、ディスプレイ装置を
そのまま投影面101に見立て、視点102がユーザの
目の位置になるように対象物の投影図の表示を行う。こ
のとき、マウスでドラッグする操作によって、ディスプ
レイ装置に表示された対象物の角を掴んで廻すというグ
ラブハンドル操作を行なうための原理を以下に示す。
【0021】視点Pv102の3次元座標(0、0、Z
v)、及びz軸に垂直な投影面101のz座標Ztは既
知のものとして保持されている。ユーザにとって2次元
座標として見える2点p1、p2の入力情報は、3次元
空間における投影面101上の2点として扱われる。す
なわち、2次元座標における2点p1(x1、y1)、
p2(x2、y2)は、それぞれ3次元座標におけるP
1(x1、y1、Zt)、P2(x2、y2、Zt)と
みなされる。ここで、視点Pv102、入力点P1、P
2の3点を通る平面103が一意的に決定できる。その
平面103の法線ベクトルr104を座標の原点O
(0、0、0)に移動したものを回転軸105とする。
【0022】ディスプレイ装置に表示された対象物10
7の2次元投影画像は、縦h、横wの矩形エリアとして
管理されている。p1とp2の距離をdとすると、h及
びwとdとの比率を適当な値で補正することにより、回
転角θが決定される。すなわち、マウスによって2点を
与えると、2点間を結ぶベクトルの方向から3次元の回
転軸rの方向が決定され、このベクトルの大きさと向き
とから回転角θ及び回転方向(右回り又は左回り)が決
定される。後述の例では、単にdに適当な値を掛けたも
のを回転角θとする例を説明する。このようにして、回
転軸r105と回転角θ106が決定される。この回転
軸105は、ユーザの期待したものとほぼ一致し、回転
角106の大きさもマウスの移動量で決定されるので、
直観的にわかりやすいユーザインタフェースとなる。
【0023】本実施例では、3次元空間内の対象物10
7は原点を中心に配置されている。投影面101に2次
元投影画像として描かれている形状は視点から見たもの
であり、図1では、対象物107とは別の角度のように
描いてあるが、視点の違いによるものである。また、図
10〜図14は、上記の原理の補足説明を行なう図であ
るが、その前に、この原理を用いて3次元の回転を行な
うシステムの例を説明する。
【0024】本発明を実施するための機器構成の一例を
図2を用いて詳細に説明する。図2において、第1の実
施例の3次元対象物回転指示処理システムは、(1)3
次元対象物を投影面に表示するためのディスプレイ装置
201、(2)3次元対象物の回転を指示するためのマ
ウス202、(3)メモリ、CPUを有する計算機20
3、(4)3次元対象物の図形情報を格納したディスク
装置204、を有する計算機システムである。図形情報
は、3次元対象物を表示するための点情報403、線情
報503、及び面情報603から構成される。
【0025】さらに、計算機203のメモリ内には、
(a)図形読み込み処理205、(b)図形表示処理2
06、(c)回転指示処理207、(d)図形回転処理
208、からなるプログラムが格納されている。
【0026】図形読み込み処理205は、ディスク装置
204から図形データをメモリに読み込む。図形表示処
理206は、メモリ内の図形データを3次元投影し、デ
ィスプレイ装置201に表示する。回転指示処理207
は、マウス202入力によるユーザからの指示を受け取
り、対象物を3次元的に回転させる回転軸、及び回転角
を算出する。図形回転処理208は、算出された回転
軸、及び回転角により対象物を回転させる。これらの詳
細フローについては、後で図を用いて詳細に説明する。
【0027】図3を用いて、ユーザアクションとディス
プレイ装置201の表示の関係を示す。図3の301、
302、303は、それぞれディスプレイ装置201の
表示例であり、マウスによって回転が指示されるとこの
順に画面が遷移する。
【0028】第1の実施例の3次元対象物回転指示方法
における計算機203の処理は、以下の順で行われる。
まず、対象物の3次元情報がメモリに読み込まれる。3
次元の対象物を所定の視点から投影面に投影した2次元
投影画像が生成され、この2次元投影画像がディスプレ
イ装置201に表示される。マウス202の入力をディ
スプレイ装置201上の2次元座標(x、y)として逐
次受け取る状態にする。
【0029】このとき、ユーザアクションは次の順序で
行なわれる。マウス202のポインタ304を対象物の
隅に合わせてボタンを押す(301)。マウス202の
ボタンを押したまま、回転させたいと思う方向に移動さ
せ(302)、所望の位置でボタンを放す。
【0030】計算機は、マウスドラッグ操作を受けて、
回転の座標変換演算を行う。演算方法は、スクリーンの
2次元座標系における2点、すなわち、マウスドラッグ
の開始点(x1、y1)及び終了点(x2、y2)か
ら、3次元回転に必要な回転軸r(x、y、z)及び回
転角θを演算し、対象物を3次元空間で回転軸rの廻り
にθだけ回転させた結果を、3次元の図形情報として生
成する。3次元の図形情報の更新後、回転後の対象物を
2次元の投影面に投影した時のデータを生成し、これを
用いて、ディスプレイ装置201に対象物を回転させた
結果を表示する(303)。その後、再びユーザの次の
入力を待つ。
【0031】図4、図5、図6は、対象物を表現する3
次元の図形情報の一例を示す。点情報テーブル403
は、3次元空間上の各点Xに対応した点番号401と3
次元座標402(x、y、z)で構成される。線情報テ
ーブル503は、3次元空間上の各線Lに対応した線番
号501と線分の両端の点番号のペア502(i1、i
2)で構成される。任意の形状の対象物の表面は複数の
3角形を組み合わせることで表現できるため、面情報テ
ーブル603は、3次元空間上の各面Mは、面番号60
1と3角形を形成する線番号の組602(j1、j2、
j3)で構成される。
【0032】さて、第1の実施例の3次元対象物回転指
示方法の処理システムは、(a)図形読み込み処理20
5、(b)図形表示処理206、(c)回転指示処理2
07、(d)図形回転処理208、で構成されることを
先に説明した。ここでは、その処理方法について、図形
表示処理206の詳細を図7、回転指示処理207の詳
細を図8のa)、b)、図形回転処理208の詳細を図
9でそれぞれ説明する。
【0033】図7は図形表示処理206の処理フローで
ある。ここでは、3次元座標計算に対象物座標系の概念
を用いている。対象物座標系は、対象物の表現に適した
固有の座標系であり、一般に、視点や投影面を規定する
ための図1に示すような座標系(以下では、これを絶対
座標系とする)とは異なる。以下の実施例では、図4か
ら6に示した図形情報204は、対象物座標系で記述さ
れているものとする。対象物の回転あるいは移動といっ
た演算処理は、対象物座標系の回転あるいは移動を行っ
た後、対象物に回転あるいは移動の操作を施し、その
後、元の対象物座標系に変換する処理で得られる。
【0034】ステップ701では、面情報テーブル60
3に基づいて、対象物を構成する全ての面が検索され
る。ステップ702では、線情報テーブル503に基づ
いて、ステップ701で検索された面を構成する全ての
線が検索される。ステップ703では、点情報テーブル
403に基づいて、ステップ702で検索された線を構
成する2つの点が検索される。
【0035】ステップ704では、対象物を構成する1
つの点が視点から投影面に向けて投影される。対象物に
回転操作が施されると、点情報管理テーブル403から
i番目の点の座標(xi、yi、zi)が取り出され、
数1に示すように、回転後の対象物座標系を表わす3×
3のマトリックスUと乗算が行なわれ、回転後の3次元
座標(xi’、yi’、zi’)が算出される。
【0036】
【数1】
【0037】座標Pv(0、0、Zv)の視点から見た
3次元空間内の点(Xi’、Yi’、Zi’)を座標P
t(0、0、Zt)のスクリーン上に投影した結果であ
る2次元座標(Xi、Yi)は、数2の3角比計算によ
り得られる。数2中のqは投影結果をディスプレイ内に
表示するための適当なズームパラメータである。
【0038】
【数2】
【0039】ステップ705では、対象物を構成する1
つの線分を視点から投影面に向けて投影する。すなわ
ち、線情報テーブル503から、j番目の線に対して、
その線を構成する2点の点番号のペアij1、ij2を
取り出す。この2点をステップ704の方法で投影面1
01に投影した後、投影面上の2点間を直線で描画す
る。回転などのアフィン変換においては、対象物の線分
は線分に投影される。
【0040】ステップ706では、対象物を構成する1
つの面を視点から投影面に向けて投影する。すなわち、
面情報テーブル603から、k番目の面を構成する3本
の線番号の組、jk1、jk2、jk3を取り出す。ス
テップ705の方法により、3本の線を投影面に投影し
た後、投影面に描画された3角形の内部を着色描画する
ことで面を投影する。なお、面を表現するために、ここ
では3本の直線を用いているが、3本以上でもかまわな
いし、直接3点を指定することででも実現可能である。
回転などのアフィン変換においては、面の内部は面の内
部に投影されるので、投影後の3角形の内部を着色描画
することで、投影後の面を表示する。対象物の面を構成
する任意の多角形は複数個の3角形で構成されるが、そ
の場合、多角形の内部の境界を示す線分は表示されな
い。ステップ707では、ステップ701から706で
生成されてメモリに格納された2次元投影画像をディス
プレイ装置201に表示する。
【0041】図8a、図8bは回転指示処理207の処
理フローである。図8aは処理207の全体フロー、図
8bはその中のマウス入力変換処理804を更に詳しく
説明するための図である。図8のa)のステップ801
では、マウス202で指定されたディスプレイ装置20
1上のスクリーン座標(x、y)を逐次取り込む。ステ
ップ802でドラッグ操作が検出されると、ステップ8
04では、ドラッグ開始座標p1(x1、y1)及びド
ラッグ終了座標p2(x2、y2)から、3次元の回転
軸及び回転角が算出される。ステップ803では、それ
以外のアクションならば、ステップ801に戻る。ステ
ップ803は、ドラッグを検出してステップ804を実
行した後、無限ループを抜け出す。
【0042】ドラッグ操作は、所定の位置でマウス20
2のボタンを押した後、そのままマウスを移動させ、別
の点でマウス202のボタンを放す一連の操作のことを
言う。ドラッグ開始座標は、始めにマウス202のボタ
ンを押したときのマウス202の位置を示す。ドラッグ
終了座標は、マウス202のボタンを放したときのマウ
ス202の位置を示す。
【0043】図8のb)のステップ805では、2点の
座標p1(x1、y1)、p2(x2、y2)を受け取
る。ステップ806では、p1、p2を3次元座標中の
投影面(z=Zt)上の点としてP1(x1、y1、Z
t)、P2(x2、y2、Zt)として構成する。すな
わち、マウス202の2回の入力により、2つの3次元
ベクトルP1、P2が得られる。3次元空間内の視点P
vは既知であり、ステップ807では座標Pv(0、
0、Zv)を構成する。ステップ808では、3次元空
間内の3点P1、P2、Pvを通る平面の法線ベクトル
rを計算し、これを3次元の回転軸rとする。ステップ
809では、p1とp2のユークリッド距離dを算出す
る(数3)。
【0044】
【数3】
【0045】ステップ810では、スクリーンの大きさ
wとdの比率に適当なパラメータfをかけて3次元の回
転角θを算出する(数4)。
【0046】
【数4】
【0047】ステップ811では、回転軸r、回転角θ
の補正演算が行なわれる。必要なら、再度補正演算を行
う。補正の方法は、単に比例のパラメータを回転軸r、
回転角θに掛け合わせてもよいし、更に精度よく補正す
るためには、第2の実施例で説明する方法を適用するこ
ともできる。
【0048】図9は図形回転処理208の処理フローで
ある。回転軸r、回転角θ決定の原理については、先に
説明した通りである。回転軸r、回転角θ決定後の一般
的な3次元任意軸廻りの回転方法は、例えば「コンピュ
ータ・グラフィックス:水上孝一,朝倉書店」などに、
より詳しく記載されているが、ここではより簡単な方法
で行う。
【0049】ステップ901では、現在の対象物座標系
をディスク装置206から読み込む。ステップ902で
は、算出した回転軸rと回転角θを受け取る。ステップ
903では、対象物座標系を回転させる。対象物の回転
操作は、以下のような演算によって行なわれる。
【0050】対象物座標系は、3次元物体の記述の場
合、3つの座標軸を図1に示した絶対座標系の成分で表
わした3×3の行列Vで表わされる。すなわち、行列V
によって対象物座標系で表現されたベクトルは絶対座標
系で表現されたものに変換される。回転行列Rは、回転
軸rと回転角θから一意的に決定できる3×3の行列R
で表わされ、絶対座標系で表わされる。このとき、数5
の式で得られる行列Uが更新された対象物座標系であ
る。
【0051】
【数5】
【0052】対象物を回転させることは、対象物のデー
タを回転させた対象物座標系に変換することに対応す
る。対象物座標系への変換後の点p’は、ある点p=
(x、y、z)の場合、前述したUを用いて、数6の式
で計算される。
【0053】
【数6】
【0054】ステップ904では、新しい対象物座標系
がメモリに格納される。対象物座標系は、3次元空間内
のベクトルと掛け合わせることで、対象物の回転を表
す。
【0055】以下では、図1で説明した回転軸及び回転
角の決定方法に関する補足説明を図10から図15を用
いて行なう。図1に示した回転軸及び回転角の決定方法
の特徴は、スクリーン上の2点を指示することで、3次
元の回転軸及び回転角を決定できることである。このこ
とは、スクリーン上の2点を指示した場合と、ベクトル
として等価(大きさ、方向が同じ)であってもベクトル
の起点が異なった場合とでは、指示する回転軸の方向が
異なることを意味する。すなわち、図10に示すよう
に、スクリーンS上の2点p1、p2と、ベクトルとし
ては等価な別の2点p1’、p2’について、それぞれ
に対応する回転軸はr1002及びr’1003とな
る。r1002は3点p1、p2及びPvを通る平面1
004の法線ベクトルである。r’1003は3点p
1’、p2’及びPvを通る平面1005の法線ベクト
ルである。
【0056】また、ユーザがディスプレイ(スクリー
ン)上の物理的に同一な2点を指示して回転させる場合
を考える。このとき、計算機内の論理的な視点Pvの座
標が異なると、別の回転軸を意味することになる。すな
わち、図11に示すように、2次元スクリーン1101
上の2点p1、p2を指示する場合を考える。視点の位
置がz座標Zvである点Pv1102から物体を投影し
ている場合、Pv、p1及びp2を通る平面1103の
法線ベクトルr1104が回転軸となる。一方、同じ2
点p1、p2を指示する場合でも、視点の位置がz座標
Zv’である点Pv’1105から物体を投影している
場合、Pv’、p1及びp2を通る平面1106の法線
ベクトルr’1107が回転軸となる。図11から明ら
かなように、r1104とr’1107は異なるベクト
ルであり、ユーザにとって同じアクションであっても別
の回転動作をしてしまう。
【0057】しかし、2次元スクリーン上の2点p1、
p2を指示する動作は同じでも、視点が異なれば、それ
ぞれの場合のユーザの意図は異なる。視点が遠ざかると
いうことは、(スクリーンが対象物と視点の間にある場
合)スクリーンに投影される物体が大きくなるというこ
とである。すなわち、スクリーン上の2点p1、p2の
持つ意味は視点の場所によって異なる。
【0058】以下の実施例では、視点が異なる場合に
も、ユーザの意図が正しく伝わるように、視点の位置を
考慮した対象物回転指示方法を述べる。まず、回転軸、
回転角の決定方法について、視点の位置の影響について
説明する。例えば、図12に示したように、対象物12
01上のある1点は、視点がPv(z=Zv)1202
の場合、スクリーン1204上ではp1として投影され
る。また、視点Pv’(z=Zv’)1203の場合、
スクリーン1204上ではp1’として投影される。
【0059】図13において、図12の視点Pv(z座
標:Zv)から見た対象物1301(仮称A)を実線で
示す。また、図12の視点Pv’(z座標:Zv’)か
ら見た対象物1302(仮称B)を破線で示す。図13
に示すように、視点Pvから見たA上の2点p1、p2
は、視点Pv’から見るユーザにとっては、Bの場合p
1’、p2’となる。また、2点間距離d(p1、p2
間)とd’(p1’、p2’間)も異なる。従って、回
転角を単純にdに比例させるだけでなく、視点の距離に
も比例させる必要がある。
【0060】数4の回転角決定方法に、上記の点を加味
した、より汎用的な回転角決定方法は数7に示す通りで
ある。
【0061】
【数7】
【0062】2点間距離dの最大値はスクリーンの対角
方向の長さであり、スクリーンの横w、縦h、及び適当
なパラメータn0を用いて回転角θを決定することで、
θの値を−180°から180°の範囲で設定できる。
もちろん、3点Zv、p1、p2を通る平面の法線r
と、3点Zv’、p1、p2を通る平面の法線r’と
は、図14に示すように、原理的には別のベクトルであ
る。図14は、投影するスクリーン1401、及び注目
している対象物のある1つの点1402が同一のとき、
視点のz座標がZvの場合と、Zv’の場合について、
x軸方向から見た断面図である。しかし、ZvとZv’
との間がそれほど遠くなければ(極端なズームアップと
ズームダウンしたもの同士の比較を論じるのでなけれ
ば)、2つの回転軸rとr’は、ほぼ同じ方向を示し、
視点の差異による影響実用上無視できる。
【0063】また、図1に示した最初の入力点p1の座
標値をメモリに記憶し、入力装置によって移動中の位置
を逐次2回目の入力として、入力装置の動作に追随し
て、連続的に3次元の回転軸の方向、及び回転角を決定
し、回転後の3次元対象物を連続的に表示装置に出力す
ることもできる。
【0064】図15、図16を用いて、マウスの2次元
入力により、3次元の回転軸rと回転角θを決定する第
2の実施例の原理を示す。第2の実施例の全体的な構
成、制御方法は第1の実施例とほぼ同様であるが、スク
リーン上に指定した2点と視点とを通る平面の法線から
求まるベクトルの方向をそのまま回転軸の方向とせず
に、補正を加えた結果を回転軸とするものである。
【0065】図15では、視点Pv(1501)の3次
元座標(0、0、Zv)、z軸に垂直な投影面1502
(縦h、横w)のz座標Ztは既知のものとして保持さ
れている。ユーザから見た2次元座標である2点p1及
びp2の入力情報を、3次元空間における投影面上の2
点として扱われる。すなわち、2点p1(x1、y1)
及びp2(x2、y2)は、それぞれP1(x1、y
1、Zt)1503及びP2(x2、y2、Zt)15
04とみなされる。ここで、視点Pv、入力点P1(1
503)及びP2(1504)の3点を通る平面の法線
ベクトルを回転軸としたのが、第1の実施例である。
【0066】第2の実施例では、ベクトルP1P2をx
y方向に分解し、P3(x2、y1、Zt)1505を
あらたに定義すると、数8が成立する。
【0067】
【数8】
【0068】このとき、3点Pv、P1、P3を通る平
面の法線ベクトルをr1506、3点Pv、P3、P2
を通る平面の法線ベクトルをr’1507とすると、2
つの法線ベクトルはそれぞれ一意的に決定される。この
ときrがx軸となす角をα、r’がy軸となす角をβと
すると、それぞれ数9、数10の式で表現できる。
【0069】
【数9】
【0070】
【数10】
【0071】数9、数10で表わされるα、βの最大値
は、図15から明らかなように、数11、数12で示さ
れる。それ故、ユーザが投影面の端を指示した場合で
も、回転軸を90°近く(回転軸がほぼx−z平面内に
ある)傾けることは不可能である。
【0072】
【数11】
【0073】
【数12】
【0074】そこで、数13で表すγを定義し、数14
で計算されるηを用いて数15、数16のように、上記
のα、βをそれぞれα’、β’に補正する。
【0075】
【数13】
【0076】
【数14】
【0077】
【数15】
【0078】
【数16】
【0079】このとき、α’、β’はいずれも−90°
以上90°以下となり、全方位をカバーすることができ
る。補正されたr、r’は、図15中のそれぞれ^r、
^r’で表わされている。
【0080】上記のように求めたα’、β’から、対象
物に対する3次元の回転軸Rを決定する方法を図16を
用いて説明する。図16は極座標系の一般的な角度関係
を表す図であり、今求めたい回転軸R(単位ベクトル:
大きさを1とする)1601に対し、R(1601)が
z軸となす角をθとする。ここで用いたθは、対象物を
回転させる3次元の回転角を意味するものでないことを
強調しておく。
【0081】R(1601)からxy平面に降ろした垂
線がxy平面と交わる点のベクトル(1602)とx軸
とのなす角をφとする。R(1601)からzx平面に
降ろした垂線がzx平面と交わる点のベクトル(160
3)とy軸とのなす角をα’とする。R(1601)か
らyz平面に降ろした垂線がyz平面と交わる点のベク
トル(1604)とy軸とのなす角をβ’とする。α’
及びβ’はそれぞれ数15及び16で与えられる値であ
る。このとき、R(1601)は極座標系において、数
17で示す式で表現できる。
【0082】
【数17】
【0083】図16に示す幾何学的関係から、α’及び
β’はθ及びφの関数として、それぞれ数18、数19
で示される。すなわち、α’はベクトルRのx、z成分
の比から求まり、β’はベクトルRのy、z成分の比か
ら求まる。
【0084】
【数18】
【0085】
【数19】
【0086】上式をθ、φについて解くと、φ及びθは
α’βの関数として、それぞれ数20及び数21で示さ
れる。
【0087】
【数20】
【0088】
【数21】
【0089】その結果、スクリーン上に指定された2点
からαとβが求まり、さらにこれらを補正したα’及び
β’が決定すれば、θ、φが求まり、数17から、3次
元の回転軸R(1601)を決定できる。第1の実施例
のように、α、βの値を補正しない場合でも、数20、
21のα’、β’の代わりに数9、10に示したα、β
を代入にしてもθ、φが求まる。3次元の回転角は、第
1の実施例で述べた方法によって決定される。従って、
2次元の2点の入力で、全方位に対する3次元の回転
軸、回転角を決定できる。
【0090】なお、本実施例における3次元投影方法
は、全て一点投影について説明してきた。しかし、一般
的な図形処理方法においては、平行投影は視点が無限遠
であり、あるいはx軸だけ平行投影のものなど、種々の
投影法が存在する。本実施例では、ユーザの直感操作を
実現させるために、論理上の視点とユーザの視点を一致
させ、論理上の投影面(スクリーン)をディスプレイ装
置に対応付けて処理している。
【0091】しかし、投影方向のある一点を、本実施例
で視点と呼ぶ特殊な点として決めることで、平行投影な
ど別の投影法においても、全く同様の手法が適用でき、
同様の効果が得られる。本実施例の方法においては、回
転軸、回転角は、対象物の投影方法の種類によらず、視
点と、投影面上の2点の座標だけで決定しているからで
ある。
【0092】
【発明の効果】本発明の3次元対象物回転指示方法は、
ユーザからのマウス入力による指示を受け取り、対象物
を3次元的に回転させる回転軸、回転角を算出する。そ
の際、ディスプレイ上の2点(x1、y1)、(x2、
y2)を指示するだけで、ユーザの所望する3次元の回
転軸、回転角を決定できる。その結果、ユーザは、ディ
スプレイ装置に表示した対象物の片隅を「マウスで掴ん
で廻す」(グラブハンドル)操作を行うだけで、所望の
回転をさせることができる。それ故、通常の3次元の回
転指示方法に比べ、高価な専用機器を使わず、操作回数
が少なく、直感的な操作を実現する回転指示ユーザイン
タフェースが提供される。
【0093】従って、本発明の目的である「3次元回転
の操作に必要な3次元座標を2次元入力装置を用いて簡
単に設定できる、3次元対象物回転指示方法」を提供す
ることができる。
【図面の簡単な説明】
【図1】第1の実施例における回転軸rと回転角θを決
定するための変換方法の原理図である。
【図2】発明の全体システム構成図である。
【図3】ユーザアクションとディスプレイ表示の関係を
示す図である。
【図4】点情報テーブルである。
【図5】線情報テーブルである。
【図6】面情報テーブルである。
【図7】図形表示部の制御フロー図である。
【図8】回転指示部の制御フロー図である。
【図9】図形回転部の制御フロー図である。
【図10】ベクトル的に等価な2通りの指示方法による
結果を示す図である。
【図11】視点が異なる場合の回転軸決定方法への影響
を示す図である。
【図12】視点の違いによる見え方の違いによる論理的
な位置関係を示す図である。
【図13】視点の違いによる見え方の違いをディスプレ
イ表示例で示す図である。
【図14】視点の違う場合の回転軸への影響を示す図で
ある。
【図15】第2の実施例における回転軸rと回転角θを
決定するための変換方法の原理図である。
【図16】第2の実施例における極座標系の関係図であ
る。
【符号の説明】
201:ディスプレイ装置、202:マウス、203:
計算機、204:図形データ、205:図形読み込み、
206:図形表示、207:回転指示、208:図形回
転。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】メモリ、処理装置、表示装置、ディスク装
    置、入力装置からなる計算機システムを用いた3次元対
    象物回転指示方法において、前記処理装置は、 a)前記ディスク装置に記憶された3次元対象物の図形
    情報を前記メモリに読み込み、 b)前記図形情報に基づいて、3次元対象物を視点から
    投影面に投影した画像を生成して、前記表示装置に表示
    し、 c)前記入力装置を用いて前記表示装置上に指示された
    2点の座標値を読み取り、 d)前記2点の座標値から、3次元対象物の回転軸の方
    向、及び回転角を決定し、 e)前記ステップd)で算出した前記回転軸の方向、及
    び回転角に基づいて、前記図形情報を変換し、 f)前記変換された図形情報に基づいて、回転後の3次
    元対象物を視点から投影面に投影した画像を生成して、
    前記表示装置に表示することを特徴とする3次元対象物
    回転指示方法。
  2. 【請求項2】請求項1記載の3次元対象物回転指示方法
    において、さらに、前記入力装置からの1回目の入力位
    置を主メモリに記憶し、前記入力装置によって移動中の
    位置を逐次2回目の入力として、前記入力装置の動作に
    追随して、連続的に3次元の回転軸の方向、及び回転角
    を決定し、回転後の3次元対象物を前記表示装置に連続
    的に出力することを特徴とする3次元対象物回転指示方
    法。
  3. 【請求項3】請求項1記載のステップd)において、前
    記入力装置によって指示された前記投影面上の2点と前
    記投影面上にはない視点とを通る平面の法線ベクトルを
    回転軸の方向とすることを特徴とする3次元対象物回転
    指示方法。
  4. 【請求項4】請求項1記載のステップd)において、前
    記入力装置によって指示された前記投影面上の2点の入
    力順序及び双方の距離に対応して回転方向及び回転角の
    大きさを決定することを特徴とする3次元対象物回転指
    示方法。
  5. 【請求項5】請求項1記載のステップd)において、前
    記入力装置によって指示された前記投影面上の2点と前
    記投影面上にはない視点とを通る平面の法線ベクトルを
    求め、前記法線ベクトルの方向を補正した結果を回転軸
    の方向とすることを特徴とする3次元対象物回転指示方
    法。
  6. 【請求項6】請求項1記載のステップd)において、前
    記入力装置によって指示された前記投影面上の2点の入
    力順序及び双方の距離に所定の係数を乗じた値に対応し
    て回転方向及び回転角の大きさを決定することを特徴と
    する3次元対象物回転指示方法。
JP28088293A 1993-11-10 1993-11-10 3次元対象物回転指示方法 Pending JPH07134781A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28088293A JPH07134781A (ja) 1993-11-10 1993-11-10 3次元対象物回転指示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28088293A JPH07134781A (ja) 1993-11-10 1993-11-10 3次元対象物回転指示方法

Publications (1)

Publication Number Publication Date
JPH07134781A true JPH07134781A (ja) 1995-05-23

Family

ID=17631264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28088293A Pending JPH07134781A (ja) 1993-11-10 1993-11-10 3次元対象物回転指示方法

Country Status (1)

Country Link
JP (1) JPH07134781A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015195576A (ja) * 2014-03-25 2015-11-05 パナソニックIpマネジメント株式会社 多視点画像の撮影方法、及び画像の表示方法
CN110766807A (zh) * 2019-09-25 2020-02-07 稿定(厦门)科技有限公司 3d图形旋转方法、介质、设备及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015195576A (ja) * 2014-03-25 2015-11-05 パナソニックIpマネジメント株式会社 多視点画像の撮影方法、及び画像の表示方法
CN110766807A (zh) * 2019-09-25 2020-02-07 稿定(厦门)科技有限公司 3d图形旋转方法、介质、设备及装置

Similar Documents

Publication Publication Date Title
US6333749B1 (en) Method and apparatus for image assisted modeling of three-dimensional scenes
US7193633B1 (en) Method and apparatus for image assisted modeling of three-dimensional scenes
KR0125776B1 (ko) 선요소 데이타의 3차원 변환 장치 및 방법
JPH10283158A (ja) ウィンドウの立体表示装置及びその方法
JPH03250267A (ja) 画像表示装置及び画像表示方法
JP2559910B2 (ja) 2次元グラフィック・ディスプレイにおける3次元点の指定方法及び装置
JPH08315171A (ja) アニメーションデータの作成方法および作成装置
JP2720920B2 (ja) 画像処理システムにおける実写画像とコンピュータグラフィックスの合成方法
JPH05266146A (ja) 物体形状の表現装置
JP3599198B2 (ja) 図形編集装置
JPH07134781A (ja) 3次元対象物回転指示方法
JPH03138784A (ja) 3次元モデルの再構成方法および表示方法
JPH0498367A (ja) 3次元形状作成方式
JPH03211686A (ja) コンピュータ制御デイスプレイ方法および装置
JPH08263696A (ja) 3次元オブジェクトモデル作成方法
JP3470771B2 (ja) 投影面連動表示装置
JPH08249500A (ja) 3次元図形の表示方法
Rose et al. Intuitive and interactive modification of large finite element models
JPH04137108A (ja) ロボットのオフライン教示方法
JP3544585B2 (ja) 3次元モデル処理装置
JPH03175588A (ja) 視点回転方式
JP2602492B2 (ja) 曲面表示方法
JPH10172009A (ja) 3次元cgアニメーション作成装置及び作成方法
JPH07200875A (ja) 3次元モデルの表示位置変更方法
JPH07175944A (ja) 3次元モデルの配置方法