JPH06203140A - 3次元図形の回転処理方法 - Google Patents

3次元図形の回転処理方法

Info

Publication number
JPH06203140A
JPH06203140A JP34923392A JP34923392A JPH06203140A JP H06203140 A JPH06203140 A JP H06203140A JP 34923392 A JP34923392 A JP 34923392A JP 34923392 A JP34923392 A JP 34923392A JP H06203140 A JPH06203140 A JP H06203140A
Authority
JP
Japan
Prior art keywords
point
rotation
processing method
dimensional
rotation processing
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.)
Granted
Application number
JP34923392A
Other languages
English (en)
Other versions
JP3272794B2 (ja
Inventor
Hironobu Kima
啓伸 來間
Tadashi Hirose
正 広瀬
Akihiko Koga
明彦 古賀
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 JP34923392A priority Critical patent/JP3272794B2/ja
Publication of JPH06203140A publication Critical patent/JPH06203140A/ja
Application granted granted Critical
Publication of JP3272794B2 publication Critical patent/JP3272794B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 (修正有) 【構成】 予め定められた第1の座標に基づいて、基準
点を設定するステップ101と、指示手段が示す、また
は予め定められた第2の座標に基づいて、回転によって
位置が変化しない固定点を設定するステップ102と、
指示手段が示す第3の座標から回転の初期点を得るステ
ップ103と、指示手段が示す第4の座標を通り表示面
に垂直な直線上の点であって、固定点からの距離が固定
点と初期点の間の距離に等しい点を求め、これを回転の
終了点とするステップ104と、基準点、初期点および
終了点の3点により定まる平面に直交し固定点を通る直
線を求め、これを回転軸とするステップ105と、回転
軸と初期点および終了点に基づいて回転角を決定するス
テップ106と、回転軸と回転角にしたがった図形の画
像を表示するステップ107とを特徴とする。 【効果】 簡便な2次元座標指示手段を用いて、3次元
図形の回転座標の指示を、画面に表示された図形に直接
働きかけるような自然な操作によって与えることができ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・グラフ
ィックスにおける3次元図形の作成ならびに表示、コン
ピュ−タ支援による製図、計算機制御の下に運動する装
置の運動パターンの作成などに好適な、3次元図形の回
転処理方法に関する。
【0002】
【従来の技術】多くのコンピュータ・グラフィックスで
は、3次元図形の作成をその図形が仮想空間内に占める
位置を操作者が数値的に指定することによって行ない、
仮想空間内の位置を表示面上の位置に換算することによ
って図形が表示される。図形の操作に関してもこれは同
様で、作成した図形を回転して表示する場合には、仮想
空間内に予め設定されている回転軸回りの回転角を数値
的に指定し、回転後の図形の位置を表示面上の位置に換
算することによって、回転後の図形表示を得ている。こ
れは、操作者の視点からすれば、まず回転角を数値で入
力し、その結果を表示面で確認して、必要ならば改めて
回転角を入力し直すという操作の繰返しによって、望む
回転を達成することになる。
【0003】このようなシステムのあるものでは、装置
に接続されたダイヤル等の入力手段を設けることによ
り、図形の移動量や回転角の指定をダイヤル等の回転に
よって行なうことができる。一般にダイヤルは複数個用
意されており、各々のダイヤルは仮想空間内に設定され
た軸に関する移動や回転に対応している。したがって、
操作者はこれらを操作することによって、仮想空間内の
図形の位置や角度を換えることができる。このようなシ
ステムでは、ダイヤルという物理的実体の操作を介する
ことにより、より直接的な操作感を操作者に与えること
ができるが、その操作にはある程度の習熟が必要とな
る。
【0004】また、2次元の座標値を直接指示すること
のできる、マウスやライトペンなどの装置の普及によ
り、このような2次元の座標入力装置を用いることで3
次元図形の作成、表示をより簡便に行なうシステムが増
えつつある。このようなシステムでは、基本的に一つの
入力装置の動きによって全ての操作が行なわれ、複数の
ダイヤルを操作する必要がないため、より簡単で直接的
な操作感を得ることができる。その反面、このような入
力装置によって与えることのできるデータは、2次元の
座標値とその時間的変化のみであり、3次元図形の操作
に適用するには何らかのデータ変換処理が必要となる。
このようなシステムの操作方法の一例として、次のよう
なものを挙げることができる。まず、物体の並行移動に
関しては、2次元座標入力装置によって入力した座標
が、画面と平行な平面内での図形の位置を決定する。す
なわち、この場合には図形の画面の奥行き方向の座標値
は変化せず、与えられた2次元座標は画面に平行な平面
での座標にのみ換算される。また、図形の回転に関して
は、予め図形に与えられた回転軸からどの回転軸回りの
回転を行なうかを初めに指定し、次に画面上で初期点を
設定してから、その初期点が回転後に来る位置を指定す
る。すなわち、この場合には初めに回転軸を選択するこ
とにより、初期点の位置と回転後の位置の2次元データ
を回転角に換算し、回転軸と回転角から図形の位置を計
算する。
【0005】これに対し、特表平2−503964号公
報に開示された「ホスト・プロセッサに3次元入力を与
えるシステムおよび装置」では上記のような2次元の座
標入力装置に、その移動面に垂直な方向の座標の入力手
段を加えることにより、3次元の座標値を直接入力する
ことを可能とした入力装置を提供する。この装置によれ
ば、マウスやライトペンなどの2次元の座標入力装置の
操作の容易さを保ちつつ3次元の座標値を入力する手段
が提供される。
【0006】
【発明が解決しようとする課題】上記2次元の入力装置
を用いる従来技術では、回転軸を指定した後に、2次元
の座標入力装置を用いて画面上で図形の位置を直接的に
指定することにより、3次元図形の回転を行なおうとす
るものである。しかし、この方法では回転軸が初めに決
定されるため、回転角を指定する動作の途中では回転軸
を変更することができない。また、回転軸はシステムに
よって設定されており、操作者はそれらの中からどの軸
の回りの回転を行なうかを選択することしか許されてい
ない。したがって、一般には、異なる回転軸の回りの複
数の回転を組合せて、望む回転を得ることになる。この
ような回転の合成が操作者の直感にとって必ずしも明確
でないこと、前述の回転軸の変更が回転角を指定する動
作の途中では行なえないことなどにより、従来技術の方
法では操作者は数段階の間接的な操作の繰返しにより回
転操作を行なうことになる。
【0007】一方、上記3次元入力を与える装置を用い
る場合では、直接3次元座標を入力することが出来る
が、装置自体が上記の2次元の座標入力装置ほどには普
及しておらず、簡便さの点で劣る。また、図形の操作に
ついて考えると、表示装置にCRTなどの2次元画像の
表示装置を用いる場合には座標の位置の指定を3次元で
対話的に行なうことが困難であり、上記2次元の入力装
置を用いた場合に類似する課題を持つ。
【0008】本発明の目的は、簡便な2次元の座標入力
装置を用いて画面上で図形の位置を直接的に指定する方
法において、上記問題点を解決し、操作者の望む回転軸
回りの回転を提供すると共に、回転角を設定する動作の
途中でも回転軸を変更することができる、3次元図形の
回転処理方法を提供することである。
【0009】
【課題を解決するための手段】本発明による3次元図形
の回転処理方法は、2次元の画像表示手段および2次元
の座標指示手段を有する3次元図形処理装置において図
形の回転処理を対話的に行なう方法であって、指示手段
が示す、または予め定められた第1の座標に基づいて、
基準点を設定するステップと、指示手段が示す、または
予め定められた第2の座標に基づいて、回転によって位
置が変化しない固定点を設定するステップと、指示手段
が示す第3の座標から回転の初期点を得るステップと、
指示手段が示す第4の座標を通り表示面に垂直な直線上
の点であって、固定点からの距離が固定点と初期点の間
の距離に等しい点を求め、これを回転の終了点とするス
テップと、基準点、初期点および終了点の3点により定
まる平面に直交し固定点を通る直線を求め、これを回転
軸とするステップと、回転軸と初期点および終了点に基
づいて回転角を決定するステップと、得られた回転軸と
回転角にしたがって回転させた図形の画像を表示面に表
示するステップとを含むことを特徴とする。
【0010】
【作用】本発明の回転処理方法では、基準点、固定点、
初期点、終了点の4点により回転軸と回転角が決定す
る。回転操作は、基準点、固定点の設定から始まり、初
期点を設定した後、終了点の設定によって終了する。た
だし、基準点および固定点が予め設定されている場合
は、初期点の設定によって回転操作が始まり、終了点の
設定によって終了する。
【0011】回転軸は、固定点を通り、基準点、初期
点、終了点がなす平面に垂交する直線として計算する。
すなわち、初期点、終了点、基準点の3点により回転軸
が直交する平面が一意に定まり、この平面に直交する直
線であって固定点を通過する直線が回転軸として一意に
定まる。回転角は、回転軸と初期点、終了点から求め
る。
【0012】本発明によれば、操作者は基準点、固定
点、初期点、終了点を設定することによって任意の回転
軸回りの回転を行なうことができる。
【0013】なお、基準点は個々の回転操作によらず予
め設定しておくことができる。また、固定点を予め固定
しておいても、3次元図形の平行移動を加えることによ
り固定点の違いを吸収することができるので、実質的に
は初期点、終了点の設定により回転軸が決定することに
なる。
【0014】初期点、終了点は回転操作によって指示さ
れ、終了点が指示されるまでは回転軸は未決定のままで
ある。すなわち、回転操作の結果として回転軸を決定す
ることができる。この結果、回転操作によって回転軸お
よび回転角を連続的に変化させ、物体の回転の様子を確
認しながら操作を進めることができる。
【0015】従来のように回転軸を先に決めるのではな
く、ユーザの回転操作指示に応じて後から回転軸が決ま
る、という本発明の回転操作態様は、ユーザが実際に物
体をつかんで回転させる感覚に近いので、3次元図形の
回転の操作性が向上する。
【0016】
【実施例】図1は、本発明の処理の概略を示す処理フロ
ー図である。本発明に関わる処理装置では、まず第1の
2次元座標から基準点を設定する(101)。次に、与
えられた第2の2次元座標から固定点を選択し(10
2)、第3の2次元座標から図形上に初期点を得(10
3)、第4の2次元座標から終了点の位置を計算する
(104)。このようにして得られた3次元の基準点、
固定点、初期点、終了点から回転軸を計算し(10
5)、回転軸と初期点および終了点から回転角を計算す
る(106)。さらに、回転軸と回転角から計算した図
形の像を表示する(107)。本発明における各点の意
味については、後述する。
【0017】図2は本発明に関わる3次元図形処理装置
のブロック図である。この図で、201は3次元の仮想
空間内で図形を構成しその像の位置を計算する計算機、
202は計算機201が計算した像を2次元の表示面に
表示する画像表示装置、203は画像表示装置202の
表示面上の座標を示すことのできる座標指示装置であ
る。
【0018】図3は、本発明を用いた3次元図形処理装
置の操作手順を示す処理フロー図である。処理装置の操
作者は、始めに基準点を設定する(301)。この基準
点は、予め定められた点であってもよい。基準点は、初
期点および終了点とともに、回転軸が直交する平面を一
意に定めるためのものである。次に表示装置に表示され
た図形の像を見ながら指示装置を操作し、表示面上から
固定点を設定する(302)。固定点は、回転軸が通過
する点であり、回転時に移動しない点である。さらに指
示装置を操作し、表示面上の図形の像の上(但し、実際
には像の内部または外部であっても良い)に初期点を指
定する(303)。初期点は、回転の起点であり、感覚
的には回転操作のためにユーザが把持する物体上の点に
相当する。さらに指示装置を操作し、初期点を回転させ
た後の点に相当する終了点を表示面上で指定する(30
4)。以上、基準点の設定とその後の3ステップの2次
元操作により、処理装置が図形を3次元的に回転させた
像を表示面上に描き出す。
【0019】図4は、本発明が基づく3次元の回転の原
理を表す図である。以下、この図をもとに本発明に関わ
る基本的な計算式を説明する。
【0020】本発明では図形が固定点42を中心に回転
することから、初期点43は、この図に示すように固定
点42を中心とする球面上を動き得る。終了点44を与
えると回転後の初期点43の位置は確定するが、図形の
他の点の位置は定まらず、初期点43が終了点44に到
るまでに辿った道筋によって変わり得る。すなわち、初
期点43は、固定点42を通る任意の直線を回転軸とし
て終了点44へ達することができる。言い換えれば、初
期点43と終了点44と固定点42の3点を与えるだけ
では図形の回転は完全(一意)には決定できず、固定点
42と終了点44を結ぶ線を軸とする回転に関するあい
まいさが残る。本発明では、さらに基準点41を設定
し、初期点43の軌跡を、初期点43と終了点44およ
び基準点41の3点が作る平面に限定することによりこ
のあいまいさを除く。この時、図形の回転軸は、固定点
42を通りこの平面に垂直な直線として一意に定まり、
初期点43の軌跡は、この平面と回転軸の交点45を中
心とする円弧を描く。以下ではこの交点45を回転の中
心と呼ぶ。回転角θは、円弧のなす角で与えられる。
【0021】基準点の座標を(x0,y0,z0)、固定点の座標
を(x1,y1,z1)、初期点の座標を(x2,y2,z2)、終了点の座
標を(x3,y3,z3)とする。回転の中心(xc,yc,zc)は、次の
式によって求めることができる。・・・(1) xc=x1+A/B 但し、 A=(-y2 z0 + y3 z0 + y0 z2 - y3 z2 - y0 z3 + y2 z
3) (-x2 y1 z0 + x3 y1 z0 + x1 y2 z0 - x3 y2 z0 - x
1 y3 z0 + x2 y3 z0 + x2 y0 z1 - x3 y0 z1 -x0 y2 z1
+ x3 y2 z1 + x0 y3 z1 - x2 y3 z1 - x1 y0 z2 + x3
y0 z2 + x0 y1z2 - x3 y1 z2 - x0 y3 z2 + x1 y3 z2 +
x1 y0 z3 - x2 y0 z3 - x0 y1 z3 +x2 y1 z3 + x0 y2
z3 - x1 y2 z3), B=x2^2 y0^2 - 2 x2 x3 y0^2 + x3^2 y0^2 - 2 x0 x2
y0 y2 + 2 x0 x3 y0y2 + 2 x2 x3 y0 y2 - 2 x3^2 y0
y2 + x0^2 y2^2 - 2 x0 x3 y2^2 + x3^2 y2^2 + 2 x0
x2 y0 y3 - 2 x2^2 y0 y3 - 2 x0 x3 y0 y3 + 2 x2 x3
y0 y3 - 2 x0^2 y2 y3 + 2 x0 x2 y2 y3 + 2 x0 x3 y2
y3 - 2 x2 x3 y2 y3 + x0^2 y3^2 - 2x0 x2 y3^2 + x2^
2 y3^2 + x2^2 z0^2 - 2 x2 x3 z0^2 + x3^2 z0^2 + y2
^2 z0^2 - 2 y2 y3 z0^2 + y3^2 z0^2 - 2 x0 x2 z0 z2
+ 2 x0 x3 z0 z2 + 2 x2 x3 z0 z2 - 2 x3^2 z0 z2 -
2 y0 y2 z0 z2 + 2 y0 y3 z0 z2 + 2 y2 y3 z0 z2 - 2y
3^2 z0 z2 + x0^2 z2^2 - 2 x0 x3 z2^2 + x3^2 z2^2 +
y0^2 z2^2 - 2 y0 y3z2^2 + y3^2 z2^2 + 2 x0 x2 z0
z3 - 2 x2^2 z0 z3 - 2 x0 x3 z0 z3 + 2 x2 x3 z0 z3
+ 2 y0 y2 z0 z3 - 2 y2^2 z0 z3 - 2 y0 y3 z0 z3 + 2
y2 y3 z0 z3 -2 x0^2 z2 z3 + 2 x0 x2 z2 z3 + 2 x0
x3 z2 z3 - 2 x2 x3 z2 z3 - 2 y0^2 z2 z3 + 2 y0 y2
z2 z3 + 2 y0 y3 z2 z3 - 2 y2 y3 z2 z3 + x0^2 z3^2
- 2 x0x2 z3^2 + x2^2 z3^2 + y0^2 z3^2 - 2 y0 y2 z3
^2 + y2^2 z3^2 yc=y1-C/D 但し、 C=(x2 z0 - x3 z0 - x0 z2 + x3 z2 + x0 z3 - x2 z
3) (x2 y1 z0 - x3 y1z0 - x1 y2 z0 + x3 y2 z0 + x1
y3 z0 - x2 y3 z0 - x2 y0 z1 + x3 y0 z1 + x0 y2 z1
- x3 y2 z1 - x0 y3 z1 + x2 y3 z1 + x1 y0 z2 - x3 y
0 z2 - x0 y1 z2 + x3 y1 z2 + x0 y3 z2 - x1 y3 z2 -
x1 y0 z3 + x2 y0 z3 + x0 y1 z3 - x2y1 z3 - x0 y2
z3 + x1 y2 z3), D=x2^2 y0^2 - 2 x2 x3 y0^2 + x3^2 y0^2 - 2 x0 x2
y0 y2 + 2 x0 x3 y0y2 + 2 x2 x3 y0 y2 - 2 x3^2 y0
y2 + x0^2 y2^2 - 2 x0 x3 y2^2 + x3^2 y2^2+ 2 x0 x2
y0 y3 - 2 x2^2 y0 y3 - 2 x0 x3 y0 y3 + 2 x2 x3 y0
y3 - 2 x0^2y2 y3 + 2 x0 x2 y2 y3 + 2 x0 x3 y2 y3
- 2 x2 x3 y2 y3 + x0^2 y3^2 - 2 x0 x2 y3^2 + x2^2
y3^2 + x2^2 z0^2 - 2 x2 x3 z0^2 + x3^2 z0^2 + y2^2
z0^2- 2 y2 y3 z0^2 + y3^2 z0^2 - 2 x0 x2 z0 z2 +
2 x0 x3 z0 z2 + 2 x2 x3 z0z2 - 2 x3^2 z0 z2 - 2 y0
y2 z0 z2 + 2 y0 y3 z0 z2 + 2 y2 y3 z0 z2 - 2 y3^2
z0 z2 + x0^2 z2^2 - 2 x0 x3 z2^2 + x3^2 z2^2 + y0
^2 z2^2 - 2 y0 y3 z2^2 + y3^2 z2^2 + 2 x0 x2 z0 z3
- 2 x2^2 z0 z3 - 2 x0 x3 z0 z3 + 2 x2 x3z0 z3 + 2
y0 y2 z0 z3 - 2 y2^2 z0 z3 - 2 y0 y3 z0 z3 + 2 y2
y3 z0 z3 -2 x0^2 z2 z3 + 2 x0 x2 z2 z3 + 2 x0 x3
z2 z3 - 2 x2 x3 z2 z3 - 2 y0^2 z2z3 + 2 y0 y2 z2 z
3 + 2 y0 y3 z2 z3 - 2 y2 y3 z2 z3 + x0^2 z3^2 - 2
x0 x2 z3^2 + x2^2 z3^2 + y0^2 z3^2 - 2 y0 y2 z3^2
+ y2^2 z3^2 zc=z1-E/F 但し、 E=(x2 y0 - x3 y0 - x0 y2 + x3 y2 + x0 y3 - x2 y
3) (-x2 y1 z0 + x3 y1z0 + x1 y2 z0 - x3 y2 z0 - x1
y3 z0 + x2 y3 z0 + x2 y0 z1 - x3 y0 z1 -x0 y2 z1
+ x3 y2 z1 + x0 y3 z1 - x2 y3 z1 - x1 y0 z2 + x3 y
0 z2 + x0 y1z2 - x3 y1 z2 - x0 y3 z2 + x1 y3 z2 +
x1 y0 z3 - x2 y0 z3 - x0 y1 z3 + x2 y1 z3 + x0 y2
z3 - x1 y2 z3), F=x2^2 y0^2 - 2 x2 x3 y0^2 + x3^2 y0^2 - 2 x0 x2
y0 y2 + 2 x0 x3 y0y2 + 2 x2 x3 y0 y2 - 2 x3^2 y0
y2 + x0^2 y2^2 - 2 x0 x3 y2^2 + x3^2 y2^2+ 2 x0 x2
y0 y3 - 2 x2^2 y0 y3 - 2 x0 x3 y0 y3 + 2 x2 x3 y0
y3 - 2 x0^2y2 y3 + 2 x0 x2 y2 y3 + 2 x0 x3 y2 y3
- 2 x2 x3 y2 y3 + x0^2 y3^2 - 2 x0 x2 y3^2 + x2^2
y3^2 + x2^2 z0^2 - 2 x2 x3 z0^2 + x3^2 z0^2 + y2^2
z0^2- 2 y2 y3 z0^2 + y3^2 z0^2 - 2 x0 x2 z0 z2 +
2 x0 x3 z0 z2 + 2 x2 x3 z0z2 - 2 x3^2 z0 z2 - 2 y0
y2 z0 z2 + 2 y0 y3 z0 z2 + 2 y2 y3 z0 z2 - 2 y3^2
z0 z2 + x0^2 z2^2 - 2 x0 x3 z2^2 + x3^2 z2^2 + y0
^2 z2^2 - 2 y0 y3 z2^2 + y3^2 z2^2 + 2 x0 x2 z0 z3
- 2 x2^2 z0 z3 - 2 x0 x3 z0 z3 + 2 x2 x3z0 z3 + 2
y0 y2 z0 z3 - 2 y2^2 z0 z3 - 2 y0 y3 z0 z3 + 2 y2
y3 z0 z3 -2 x0^2 z2 z3 + 2 x0 x2 z2 z3 + 2 x0 x3
z2 z3 - 2 x2 x3 z2 z3 - 2 y0^2 z2z3 + 2 y0 y2 z2 z
3 + 2 y0 y3 z2 z3 - 2 y2 y3 z2 z3 + x0^2 z3^2 - 2
x0 x2 z3^2 + x2^2 z3^2 + y0^2 z3^2 - 2 y0 y2 z3^2
+ y2^2 z3^2 なお、式中、連続した数値または変数間のスペースはそ
れらの積を表わし、^はべき乗を表わす。
【0022】この回転の中心(xc,yc,zc)を使
って、回転軸を表す方向ベクトル(Ex,Ey,Ez)を次の式か
ら求める。・・・(2) Ex = C11(x1-xc) Ey = C11(y1-yc) Ez = C11(z1-zc) C11 = sqrt((x1-xc)^2+(y1-yc)^2+(z1-zc)^2) 回転角thetaは次の式によって求めることができる。・
・・(3) theta = arccos(C12((x2-xc)(x3-xc)+(y2-yc)(y3-yc)+
(z2-zc)(z3-zc))) C12 = sqrt((x2-xc)^2+(y2-yc)^2+(z2-zc)^2) 図形上の各点(x,y,z)はこの回転によって次の点(X,Y,Z)
に移る。・・・(4) X = Ex^2+(1-Ex^2)cos(theta))x+(ExEy(1-cos(theta))-
Ezsin(theta))y+(ExEz(1-cos(theta)+Eysin(theta))z Y = (ExEy(1-cos(theta))+Ezsin(theta))x+(Ey^2+(1-Ey
^2)cos(theta))y+(EyEz(1-cos(theta))-Exsin(theta))z Z = (ExEz(1-cos(theta))-Eysin(theta))x+(EyEz(1-cos
(theta))+Exsin(theta))y+(Ez^2+(1-Ez^2)cos(theta))z 図形の、固定点と終了点を結ぶ軸の回りの回転は、基準
点の選び方によって決定される。
【0023】基準点を固定点に一致させた場合、回転の
中心(xc,yc,zc)は固定点に一致する。
【0024】xc = x1 yc = y1 zc = z1 この時、回転軸を表す方向ベクトル(Ex,Ey,Ez)は、次の
式で与えられる。・・・(5) Ex = sqrt(C22^2 / (C21 (C21 + C22 + C23))) Ey = sqrt(C23^2 / (C21 (C21 + C22 + C23))) Ez = sqrt(C21 / (C21 + C22 + C23)) C21 = (x2y1 - x3 y1 - x1 y2 + x3 y2 + x1 y3 - x2 y
3)^2 C22 = (x2 z1 - x3 z1 - x1 z2 + x3 z2 + x1 z3 - x2
z3)^2 C23 = (y2 z1 - y3 z1 - y1 z2 + y3 z2 + y1 z3 - y2
z3)^2 また、回転面が表示面に垂直になるように基準点を選ぶ
と、回転の中心(xc,yc,zc)の値は次の式で表すことがで
きる。・・・(6) xc = x1 yc = y1 + (z2 - z3) C31 zc = z1 - (y2 - y3) C31 C31 = (y2 z1 - y3 z1 - y1 z2 + y3 z2 + y1 z3 - y2
z3) / (y2^2 - 2 y2 y3 + y3^2 + z2^2 - 2 z2 z3 + z3
^2) 次に、具体的な実施例を詳細に説明する。この例では、
表示装置にCRTを、指示装置にボタンの付いたマウス
を使う。また、基準点は、回転面が表示面に垂直になる
ように予め設定されているものとする。なお、座標軸
は、CRT画面がy−z平面に一致し、x軸の負の方向
が画面奥向きになるように取る。
【0025】図5は、操作者に対して表示する表示画面
の例である。(1)から(4)の図で、外側の枠は画面
を、斜めの矢印(ポインタ)は指示装置が与える座標の
位置を表す。図5(1)はステップ302の固定点を選
択する際に表示する画面であり、操作者は、予め設定し
てある固定点の一つにマウスを移動してボタンを押した
のち離すことによって、固定点を選択する。図5(2)
はステップ303の初期点を設定する際に表示する画面
であり、操作者は、図形の像の上の適切な点にマウスを
移動し、ボタンを押すことによって初期点を設定する。
図5(3)はステップ304の終了点を設定する際に表
示する画面であり、操作者は、ステップ303で押した
ボタンを離さずにマウスを移動(ドラッグ)し、終了点
を設定する位置でボタンを離すことによって終了点を設
定する。ここで、ボタンが押されている間、マウスの位
置から計算した図形の回転の様子(回転の過渡状態)を
順次画面上に表示することによって、操作者の終了点位
置の決定を補助する。図5(4)は、回転後の図形の像
の表示である。
【0026】図6は、本実施例の処理フローの概略であ
る。この実施例では基準点はすでに与えられているた
め、まず固定点決定手続きにより固定点を決定し(60
1)、次に初期点決定手続きにより初期点を決定する
(602)。さらに、終了点決定手続きによって終了点
を得た後(603)、座標変換手続きによって回転後の
図形の位置を計算し格納する(604)。また、CRT
には回転後の図形から得られる像を表示する(60
5)。
【0027】図7は、固定点決定手続きの処理フローを
表す図であり、図5(1)に対応する。固定点決定手続
きでは、図形に予め与えられた固定点の候補点の位置
を、CRTに表示した図形の像の上に重ねて表示し(7
01)、操作者からの入力を待つ。操作者がマウスを動
かすと、その位置座標(ym,zm)を得(702)、CRT
上にマウスの位置を表すポインタを表示する(70
3)。もし、マウスのボタンが押されたならば(70
4)、(ym,zm)と一致するy,z座標を持つ候補点を探し
(705)、マウスのボタンがその位置で放されたなら
ば(706)、候補点の座標値(x´,ym,zm)を固定点の
座標値(x1,y1,z1)とする(707)。この後、固定点に
対応するCRT上の点(y1,z1)を明るく表示し、固定点
の位置を操作者に知らせる(708)。また、ステップ
704でマウスのボタンが押されなかった場合、ステッ
プ705でマウスの位置に対応する候補点が存在しない
場合、およびステップ706でボタンが放されるまでの
間にマウスが移動した場合は、ステップ702に戻って
マウスのトラッキングを続ける。
【0028】図8は初期点決定手続きの処理フローであ
り、図5(2)に対応する。初期点決定手続きでは、マ
ウスのボタンが押されるまでの間(803)、マウスの
位置座標(xm,ym)をトラッキングし続け(801)、C
RTに逐次ポインタを表示する(802)。マウスのボ
タンが押されたならば(803)、y,z座標がym,zmと一
致する図形上の点を探し、その座標を(x´,y´,z´)と
する(804)。このような点は一般に複数存在する
が、本実施例ではx´の値が最も大きい点(すなわち最
も手前の点)を選びだし、これを初期点(x2,y2,z2)とす
る。
【0029】図9は終了点決定手続きの処理フローであ
り、図5(3)に対応する。終了点決定手続きでは、マ
ウスの一座標(ym,zm)を得(901)、CRTにポイン
タを表示するとともに(902)、マウスが示す点の奥
行方向の値を、その奥行き方向の点と固定点の距離が初
期点と固定点の距離に等しくなるように決定する(90
3)。すなわち、奥行き方向の値xmは次のように求めら
れる。
【0030】xm=sqrt{(x2-x1)^2+(y2-y1)^2+(z2-z1)^2
-(ym-y1)^2-(zm-z1)^2}+x1 この仮想的な3次元終了点(xm,ym,zm)を元に仮表示手続
きを呼び出す(904)。このような処理をマウスのボ
タンが放されるまで続け(905)、最終的に得られた
仮想的な3次元座標(xm,ym,zm)を終了点の座標(x3,y3,z
3)とする。
【0031】図10は、終了点決定手続きで呼び出され
る仮表示手続きの処理フローであり、図5(3)におけ
る図形の回転の様子の表示に関係する。仮表示手続きで
は、入力された座標を元に計算した図形の回転の様子を
CRTに仮に表示する。この処理では、まず入力された
座標(xm,ym,zm)を(x3,y3,z3)とし(1001)、式
(6)を使って回転の中心(xc,yc,zc)を得る(100
2)。さらに、式(2)を使って回転軸を得(100
3)、式(3)を使って回転角thetaを計算する(10
04)。これらの値から、式(4)によって図形の各点
の座標値を得(1005)、それから計算される図形の
像をCRTに表示する(1006)。
【0032】図11は座標変換手続きの処理フローであ
る。座標変換手続きでは、終了点決定手続きで決定した
終了点の座標(x3,y3,z3)を元に、式(6)により回転の
中心(xc,yc,zc)を得(1102)、式(2)により回転
軸を得(1103)て、式(3)から回転角thetaを計
算する(1104)。これらの値から、式(4)によっ
て図形の各点の座標値を計算し(1105)、その値を
図形の位置として確定する(1106)。
【0033】本実施例では基準点を予め与えられている
としているが、もちろん操作者が基準点の座標を決定す
ることもできる。この場合、式(6)ではなく式(1)
を使うことになる。特別な場合として、基準点を固定点
に一致させる場合もある。この場合、回転の中心は固定
点に一致し、回転軸は式(5)で与えられる。
【0034】初期点の候補が複数ある場合に、その決定
を操作者に委ねる、あるいは計算機の状態によって選び
方を変えるように本実施例を変更することは容易であ
る。ここで、計算機の状態とは、例えば本発明の操作が
行われる以前に操作者が行った操作の履歴などである。
これは、基準点や終了点の選択についても同様である。
【0035】また、ステップ903の方法で終了点が求
められない場合、マウスの位置を通るCRTに垂直な直
線を求め、この直線上の点と固定点を結ぶ最も短い線分
(すなわち、固定点を通り当該直線に直交する線分)の
上で、固定点との距離が固定点と初期点の距離に等しい
点を求め、これを終了点とすることができる。
【0036】回転角の決定にも、任意性がある。これ
も、初期点の決定と同様な方法で決定するよう変更する
のは容易である。
【0037】図5において、操作者を誘導するための表
示にはさまざまなバリエーションが存在する。例えば、
回転軸を表示する、固定点および基準点を明るく示す、
などの方法がある。
【0038】図12から図14により、同一の固定点、
初期点、終了点に対する基準点の選び方による回転の違
いを説明する。これらの図では、画像表示面をx軸に垂
直に取り、回転の様子を画像表示面に射影して示す。
【0039】固定点は、回転軸上の点であり、図形の回
転によって位置を変えないので、終了点と固定点の間の
距離は、初期点と固定点の間の距離に等しい。言い換え
れば、初期点の軌跡は、どのような回転操作によって
も、固定点を中心とし、初期点と固定点の間の距離を半
径とする球面上に限定される。以下では説明のため、こ
の球面を回転面と呼ぶ。図12から図14では、回転面
の表示面への射影を固定点を中心とする正円によって示
す。
【0040】図12は、基準点を任意に取ったときの回
転の様子を示す図であり、図4の画像表示面への射影で
ある。この場合、初期点から終了点へ至る軌跡は、基準
点と初期点と終了点の3点が成す平面と回転面が交わっ
てできる円の上にある。固定点と初期点を結ぶ線分を回
転させた軌跡は円錐の側部曲面の一部をなす。
【0041】図13に、基準点の座標を固定点の座標と
同一としたときの回転の様子を示す。この場合、初期点
から終了点へ至る軌跡は、初期点と終了点を通る回転面
上の大円の上に規制される。この場合、固定点と初期点
を結ぶ線分の軌跡は円盤の一部(扇状)をなす。
【0042】図14に、初期点の座標の表示面上への射
影を基準点の座標としたときの回転の様子を示す。この
場合、初期点から終了点へ至る軌跡は、初期点と終了点
とを通り、表示面上では直線に見える回転面上の円の上
に規制される。固定点と基準点が異なるので図12に類
似するが、図12の場合とは視点の位置が異なる。
【0043】図15から図17は、基準点、固定点、初
期点、終了点の設定の際の候補点の表示の例を示す。
【0044】図15は、候補点を小さな円盤151によ
って表示した例であり、図形によって隠される位置にあ
る候補点152,153は色を変えることによってそれ
を表わしている。
【0045】図16は、図15の円盤に数字を付与して
表示した例であり、前述した、数字キーの押下による指
定の場合に利用できる。
【0046】図17は、様々な角度から見た図形を表示
し、その上に候補点を図16のように表示することによ
って、候補点の位置関係を明確にした表示の例である。
図17の図は一つの画面に同時に表示することによって
も、あるいはなんらかの操作によって切り替えて表示す
ることによっても、同様の効果が得られる。
【0047】このように表示された候補点から目的の点
を処理装置外部、例えば操作者からの入力によって選択
する方法の例には、以下のものがある。
【0048】図15のような表示では、操作者が円盤上
にマウスを移動し、円盤上でマウスボタンを押すことに
よって、円盤に対応した候補点を特定する。
【0049】図16、図17のような表示では、上記の
ようなマウスを使う方以外に、操作者がキーボード上の
数字キーを押すことにより、その数字キーに対応した候
補点を特定することもできる。
【0050】また、候補点から処理装置内部の状態によ
って目的の点を選ぶ方法の例として、次のものが挙げら
れる。
【0051】(1)図形の変形操作の一環として回転操
作を行う場合には、基準点を図14のように選び、図形
の変形操作を伴わない場合には、基準点を図13のよう
に選ぶ。
【0052】(2)表示画面の中心に最も近い候補点を
固定点に選ぶ。
【0053】(3)直前の図形操作の対象となった点に
最も近い候補点を初期点に選ぶ。
【0054】(4)直前の図形操作の対象となった点が
最も画面の中央に近くなる候補点を終了点に選ぶ。
【0055】図18は、回転角を決定する際に候補点が
複数ある場合の表示の例である。色を変えて表示した2
つの円弧が、回転角の候補を表わす。
【0056】このように表示された回転角の候補から目
的の回転角を処理装置外部からの入力によって選択する
方法の一例として、操作者がいずれかの円弧上でマウス
ボタンを押すことにより、円弧に対応した回転角を特定
する方法が挙げられる。
【0057】また、処理装置内部の状態によって回転角
を選択する方法の一例として、直前の図形操作の対象と
なった点が最も画面の中央に近くなるように回転角を選
ぶ方法が挙げられる。
【0058】
【発明の効果】本発明の3次元図形の回転処理方法によ
れば、操作者の望む回転軸回りの回転を提供すると共
に、回転角を設定する動作の途中でも回転軸を変更する
ことができる。これにより、3次元図形の回転座標を2
次元座標上で、画面に表示された図形に直接働きかける
ような自然な操作によって与えることができる。
【図面の簡単な説明】
【図1】本発明の基本的な処理を示すフローチャート。
【図2】本発明に関わる3次元図形処理装置のブロック
図。
【図3】本発明を用いた処理装置の操作手順を示すフロ
ーチャート。
【図4】本発明に関わる3次元での図形の回転の原理を
示す図。
【図5】本発明の一実施例が操作者に示す表示画面の例
の説明図。
【図6】本発明の一実施例の処理を示すフローチャー
ト。
【図7】図6の処理に現れる固定点決定手続きの処理を
示すフローチャート。
【図8】図6の処理に現れる初期点決定手続きの処理を
示すフローチャート。
【図9】図6の処理に現れる終了点決定手続きの処理を
示すフローチャート。
【図10】図9の処理に現れる仮表示手続きの処理を示
すフローチャート。
【図11】図6の処理に現れる座標変換手続きの処理を
示すフローチャート。
【図12】実施例における回転の様子の説明図。
【図13】実施例における回転の様子の説明図。
【図14】実施例における回転の様子の説明図。
【図15】実施例における、候補点が複数ある場合の表
示方法の第1の例の説明図。
【図16】実施例における、候補点が複数ある場合の表
示方法の第2の例の説明図。
【図17】実施例における、候補点が複数ある場合の表
示方法の第3の例の説明図。
【図18】実施例における回転角の候補の表示方法の例
の説明図。
【符号の説明】
41…基準点、42…固定点、43…初期点、44…終了点、20
1…計算機、202…画像表示装置、203…座標指示装置。

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】2次元の画像表示手段および2次元の座標
    指示手段を有する3次元図形処理装置において図形の回
    転処理を対話的に行なう方法であって、 指示手段が示す、または予め定められた第1の座標に基
    づいて、基準点を設定するステップと、 指示手段が示す、または予め定められた第2の座標に基
    づいて、回転によって位置が変化しない固定点を設定す
    るステップと、 指示手段が示す第3の座標から回転の初期点を得るステ
    ップと、 指示手段が示す第4の座標を通り表示面に垂直な直線上
    の点であって、固定点からの距離が固定点と初期点の間
    の距離に等しい点を求め、これを回転の終了点とするス
    テップと、 基準点、初期点および終了点の3点により定まる平面に
    直交し固定点を通る直線を求め、これを回転軸とするス
    テップと、 回転軸と初期点および終了点に基づいて回転角を決定す
    るステップと、 得られた回転軸と回転角にしたがって回転させた図形の
    画像を表示面に表示するステップとを含むことを特徴と
    する3次元図形の回転処理方法。
  2. 【請求項2】請求項1記載の回転処理方法であって、基
    準点の設定の際に、基準点の座標を固定点の座標と同一
    とすることを特徴とする3次元図形の回転処理方法。
  3. 【請求項3】請求項1記載の回転処理方法であって、基
    準点の設定の際に、初期点の座標の表示面上への射影を
    基準点の座標とすることを特徴とする3次元図形の回転
    処理方法。
  4. 【請求項4】請求項1記載の回転処理方法であって、基
    準点の設定の際に、予め用意された候補の内から処理装
    置内部の状態によって基準点を選択することを特徴とす
    る3次元図形の回転処理方法。
  5. 【請求項5】請求項1記載の回転処理方法であって、基
    準点の設定の際に、予め用意された候補の内から処理装
    置外部からの入力によって基準点を選択することを特徴
    とする3次元図形の回転処理方法。
  6. 【請求項6】請求項1から5のいずれかに記載の回転処
    理方法であって、固定点の設定の際に、予め用意された
    候補の中から処理装置の状態によって固定点を選択する
    ことを特徴とする3次元図形の回転処理方法。
  7. 【請求項7】請求項1から5のいずれかに記載の回転処
    理方法であって、固定点の設定の際に、予め用意された
    候補の中から処理装置外部からの入力によって固定点を
    選択することを特徴とする3次元図形の回転処理方法。
  8. 【請求項8】請求項1から7のいずれかに記載の回転処
    理方法であって、指示手段が示す第3の座標を通り表示
    面に垂直な直線と図形が交わる点を初期点とすることを
    特徴とする3次元図形の回転処理方法。
  9. 【請求項9】請求項1から8のいずれかに記載の回転処
    理方法であって、初期点を得る際の候補が複数ある場合
    には、表示面に最も近い点を初期点とすることを特徴と
    する3次元図形の回転処理方法。
  10. 【請求項10】請求項1から8のいずれかに記載の回転
    処理方法であって、初期点を得る際の候補が複数ある場
    合には、処理装置の内部の状態によって初期点を決定す
    ることを特徴とする3次元図形の回転処理方法。
  11. 【請求項11】請求項1から8のいずれかに記載の回転
    処理方法であって、初期点を得る際の候補が複数ある場
    合には、処理装置の外部からの入力によって初期点を決
    定することを特徴とする3次元図形の回転処理方法。
  12. 【請求項12】請求項1から11のいずれかに記載の回
    転処理方法であって、終了点を決定する際の候補が複数
    ある場合には、表示面に最も近い点を終了点とすること
    を特徴とする3次元図形の回転処理方法。
  13. 【請求項13】請求項1から11のいずれかに記載の回
    転処理方法であって、終了点を決定する際の候補が複数
    ある場合には、終了点を処理装置の内部の状態によって
    決定することを特徴とする3次元図形の回転処理方法。
  14. 【請求項14】請求項1から11のいずれかに記載の回
    転処理方法であって、終了点を決定する際の候補が複数
    ある場合には、処理装置の外部からの入力によって終了
    点を決定することを特徴とする3次元図形の回転処理方
    法。
  15. 【請求項15】請求項1から11のいずれかに記載の回
    転処理方法であって、終了点を決定する際の候補が存在
    しない場合には、指示手段が表示面に示す第4の位置を
    通り表示面に垂直な直線上の点と固定点とを結ぶ最も短
    い線分上の点であって、固定点との距離が固定点と初期
    点の距離に等しい点を求め、この点を終了点とすること
    を特徴とする3次元図形の回転処理方法。
  16. 【請求項16】請求項1から15のいずれかに記載の回
    転処理方法であって、初期点を終了点に対応させる角度
    のうち小さい方を回転角とすることを特徴とする3次元
    図形の回転処理方法。
  17. 【請求項17】請求項1から15のいずれかに記載の回
    転処理方法であって、回転軸に対して予め与えられた方
    向に回転角を取ることを特徴とする3次元図形の回転処
    理方法。
  18. 【請求項18】請求項1から15のいずれかに記載の回
    転処理方法であって、処理装置の内部の状態によって回
    転角を選択することを特徴とする3次元図形の回転処理
    方法。
  19. 【請求項19】請求項1から15のいずれかに記載の回
    転処理方法であって、処理装置の外部からの入力によっ
    て回転角を選択することを特徴とする3次元図形の回転
    処理方法。
  20. 【請求項20】請求項1から19のいずれかに記載の回
    転処理方法であって、初期点と固定点を結ぶ直線を表示
    することによって、第4の座標の決定を案内することを
    特徴とする3次元図形の回転処理方法。
  21. 【請求項21】請求項1から20のいずれかに記載の回
    転処理方法であって、第4の座標を決定する際に、指示
    手段が表示面に示す位置から計算した初期点との間の軌
    跡を表示することによって第4の座標の決定を案内する
    ことを特徴とする3次元図形の回転処理方法。
  22. 【請求項22】請求項1から21のいずれかに記載の回
    転処理方法であって、第4の座標を決定する際に、指示
    手段が表示面に示す位置から計算した回転軸の位置を表
    示することによって第4の座標の決定を案内することを
    特徴とする3次元図形の回転処理方法。
  23. 【請求項23】請求項1から22のいずれかに記載の回
    転処理方法であって、第4の座標を決定する際に、指示
    手段が表示面に逐次示す位置に基づいて計算した図形の
    回転の過渡状態を表示することを特徴とする3次元図形
    の回転処理方法。
  24. 【請求項24】請求項1から23のいずれかに記載の回
    転処理方法であって、回転角の各候補に対する図形の回
    転の様子を表示することを特徴とする3次元図形の回転
    処理方法。
  25. 【請求項25】請求項1から24のいずれかに記載の回
    転処理方法であって、少なくとも基準点および固定点を
    可視表示することを特徴とする3次元図形の回転処理方
    法。
JP34923392A 1992-12-28 1992-12-28 3次元図形処理装置 Expired - Fee Related JP3272794B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34923392A JP3272794B2 (ja) 1992-12-28 1992-12-28 3次元図形処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34923392A JP3272794B2 (ja) 1992-12-28 1992-12-28 3次元図形処理装置

Publications (2)

Publication Number Publication Date
JPH06203140A true JPH06203140A (ja) 1994-07-22
JP3272794B2 JP3272794B2 (ja) 2002-04-08

Family

ID=18402386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34923392A Expired - Fee Related JP3272794B2 (ja) 1992-12-28 1992-12-28 3次元図形処理装置

Country Status (1)

Country Link
JP (1) JP3272794B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191770A (ja) * 2009-02-19 2010-09-02 Denso Wave Inc 3次元座標入力方法,コンピュータプログラム及び3次元座標入力装置
US8576980B2 (en) 2007-01-10 2013-11-05 Cambridge Enterprise Limited Apparatus and method for acquiring sectional images

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8576980B2 (en) 2007-01-10 2013-11-05 Cambridge Enterprise Limited Apparatus and method for acquiring sectional images
JP2010191770A (ja) * 2009-02-19 2010-09-02 Denso Wave Inc 3次元座標入力方法,コンピュータプログラム及び3次元座標入力装置

Also Published As

Publication number Publication date
JP3272794B2 (ja) 2002-04-08

Similar Documents

Publication Publication Date Title
US6243096B1 (en) Instruction input system with changeable cursor
US5422987A (en) Method and apparatus for changing the perspective view of a three-dimensional object image displayed on a display screen
JPH0573661A (ja) 3次元情報会話システム
JP2811501B2 (ja) カーソル移動制御方法及び装置
JPH0668758B2 (ja) カーソル制御方法及び3次元図形表示装置
JPH05290146A (ja) 三次元空間中の物体を回転させるグラフィック表示方法及び装置
JPH07262412A (ja) 三次元モデル断面指示装置および指示方式
JP2618145B2 (ja) 図形アイコンを用いた図形作成方法及び作成装置
JP2005107963A (ja) 三次元cg操作方法および装置
JP2005107862A (ja) グラフ表示制御装置及びプログラム
JPH0696174A (ja) 束縛点式図形編集装置および処理方法
JP3599198B2 (ja) 図形編集装置
JP3272794B2 (ja) 3次元図形処理装置
JP2531484B2 (ja) 情報表示装置
JP3672352B2 (ja) 3次元立体配置編集方法及び3次元立体配置編集装置
JP2002202839A (ja) 電子機器およびポインタの表示方法
JPH08249500A (ja) 3次元図形の表示方法
JP3356552B2 (ja) 三次元画像処理装置及び三次元画像処理方法
JPS62269221A (ja) 3次元座標指示方式
WO1995011482A1 (en) Object-oriented surface manipulation system
JP2004005575A (ja) 3次元空間図形処理装置および3次元空間図形処理方法
JP3732174B2 (ja) 3次元立体配置編集方法及び3次元立体配置編集装置
JPH07249052A (ja) 三次元機構概念図作画装置
JPH1097646A (ja) 三次元空間表示システムにおける三次元空間座標値の取得方法および装置
JP3311058B2 (ja) 図形処理装置及び方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees