JPH0478961A - 図形処理装置 - Google Patents

図形処理装置

Info

Publication number
JPH0478961A
JPH0478961A JP2193011A JP19301190A JPH0478961A JP H0478961 A JPH0478961 A JP H0478961A JP 2193011 A JP2193011 A JP 2193011A JP 19301190 A JP19301190 A JP 19301190A JP H0478961 A JPH0478961 A JP H0478961A
Authority
JP
Japan
Prior art keywords
point
flowchart
axis
dimensional space
line
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
JP2193011A
Other languages
English (en)
Inventor
Atsuhiko Muramatsu
村松 淳彦
Chika Nakajima
中島 千佳
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 JP2193011A priority Critical patent/JPH0478961A/ja
Publication of JPH0478961A publication Critical patent/JPH0478961A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、指定された面上の点に、面の表面を表す特性
的な線を、付加して表示することにより、面上の点が面
上に存在することを識別できるようにした図形処理装置
に関するものである。
[従来の技術] 従来、3次元空間の点の表示は、点の位置を画面上に、
例えばX印を表示するというものであった。なお、この
種の技術は、特開昭62−226376号公報等に開示
される。
[発明が解決しようとする課題] 上記従来技術では表示されている点がいずれの面上に存
在するか識別できないという問題点があった。本発明の
目的は、点が面上に存在することを識別できる図形処理
装置を提供することにある。
[課題を解決するための手段] 上記課題を解決するためには、少なくとも、入力部と表
示部を有する図形処理装置において、前記入力部から入
力された立体空間に存在する面を示す情報と面上の点を
指定する情報と立体空間の面を視る方向を示す情報に基
づいて、面上の点を得て、面の表面を表す特性的な線を
求めて、前記面上の点に関る部分に付加して前記表示部
に表示すればよい。
[作用] 立体空間に存在する面を示す情報と面上の点を指定する
情報と立体空間の面を視る方向を示す情報に基づいて、
面上の点を得て、面の表面を表す特性的な線を求めて、
前記面上の点に関る部分に付加して前記表示部に表示す
ることにより、面上の点が面上に存在することを識別で
きる。
[実施例] 本発明の一実施例を以下図面を用いて詳細に説明する6
第1図は1本発明の関わる図形処理装置の構成とデータ
の流れの一例を示したものである。
本実施例は、入力部4と表示部5と処理部3とから構成
され、処理部3は面と面上の点を指定する情報から面上
の点を得る第1手段1と面と面上の点と必要に応じて視
線方向がら面の表面を表す特性的な線を、面上の点に付
加して、視線方向を用いて表示する第2手段2を含むも
のとして構成される。なお、面と面上の点を指定する情
報から面上の点を得るまでを第一手段1面上の点に面の
表面を表わす特性的な線を付加して表示するのを第二手
段としている。入力部4は、キーボード、マウス、ライ
トペン、デイスプレィ、タブレット等からなり、表示部
5はデイスプレィ等からなる。
第2図は、本発明の関わる図形処理装置を用いたとき、
デイスプレィの画面に表示される形の例である。
先ず、立体空間に存在する1つの面が与えられたとする
。その例を第3図に示す。
次に、その面上の1つの点を指定する情報として、例え
ば第4図に示す形態で画面上の1つの点が与えられたと
する。
次に、上記第3図の面を、該面を視る方向(視線方向)
を用いて、画面に表示した場合の例を第5図に示す。こ
のような立体空間に存在する面を視線方向を与えて表示
するということは、立体空間の図形を記憶、表示する図
形処理装置では一般的である。
ここで、処理部3の第1手段1は、面(第3図の例)と
面上の1つの点を指定する情報(例えば面上の点と視線
方向)から第4図の例の画面上の点を通り、前記視線方
向に平行な直線が、第3図の例に示す面と交わる点を面
上の点とする方法により面上の点を算出する。その形態
を第6図に示す。なお、面上の点を得る情報として画面
上の点と視線方向を用いたが、この面上の点を決定する
方法は、この例だけではなく、例えば、立体空間の数値
による座標値を与えて、これを面上の点とするとか、或
いは、該数値による座標値から面上に歪線を下ろし、得
られた垂線の足を面上の点とする方法などでもよい。
次に、処理部3の第2手段2は、面(例えば第3図の例
)と、上記第1手段1の結果として得られる面上の点と
、視線方向とから、面の表面を表す特性的な線を1例え
ば第7図の破線で示すように、面上の面上の1つの点に
関る部分に付加して表示する。第7図の場合は、面の形
に沿って面上の1つの点から該面を構成する辺に向けて
、方向は辺に平行なイメージで付加したものである。第
7図から面上の1つの点が、破線がつながる四辺形で構
成される面にあたかも乗っているように見えることが理
解されると思われる。
また、他の例を第8図に示す。第8図は、球面上に存在
する面上の1つの点を表現した場合である。いずれも該
面上の1つの点を通る面上の2つの線を用いて表現して
いる。このような意味をもつのが上記の特性的な線であ
る。
次に、第1手段lについて説明する。処理部3の第1手
段1は、面(例えば第3図の例)と面上の1つの点を指
定する情報(例えば第4図の例)とから1面上の1つの
点を算出する。以下に例を用いて説明する。また、第2
4図のフローチャトを説明に併用する。ここでは、面(
第6図を参照)として、次の値を与えるものとする。第
24図のフローチャートではステップ21に示すもので
ある。面上で基準とする原点をP。、基準方向を示す第
1軸をP。からP2に向かう方向としてu(lul=1
)、第1軸に直交する第2軸、第6図ではP。からP、
に向かう方向をV(lVl=1)とし、これらの各要素
を次で表すとする。
第1軸・・・・・・・・u = (Ux、Uy、Uz)
   ・・・・・・・・(1)第2軸・・・・・・・・
・v = (Vx、Vy、Vz)   ・・・・ ・・
・(2)原点・・・・・・・・・・・・P、=(Xo、
Yo、Zo)   ・・・・・・・・・・・・(3)ま
た、視線方向にとしては、次の値を与えるものとする。
視線方向・・・・・・k  = (Kx、Ky、Kz)
   ・・・・・・・・・・・・(4)また、第4図の
例の画面上の点(画面上の視線の位置P工)としては、
次の値を与えるものとする。
画面上の点・・・p、=(x工、Yl、Z□)  ・・
・・・・・・・・・・(5)以上の条件で、前記視線方
向に平行な直線が、第6図の例に示すP。、P2、P3
3点で決まる面と交わる点を面上の1つの点とする方法
により算出する場合、その手順は、次のようになる。
先ず、式(1)と(2)とから第1軸、第2軸、第3軸
にて右手系を構成する第3軸Wをつぎの式で求める。第
24図のフローチャートではステップ22を参照する。
第3軸・・・・・w=uxv   ・・・・・・・・・
(6)成分値で表すと次の形となる。
w = (Wx、Wy、Wz) −−−−−−(7)と
すれば、 Wx = UyVz −UzVy −−−−(8)Wy
 = UzVx −UxVz ・・・・・・−−(9)
Wz =UxVy−UyVx−−−−−=−(10)で
ある。これで、式(1) (2) (3) (6)を用
いれば、U−v−w座標系ができたことになる。
ここで、式(5)の画面上の視線の位置P1の座標値を
u−v−w座標系の値に変換する。第24図のフローチ
ャートではステップ23を参照する。
P□のu−v−w座標系での値を(P□u、Plv、P
ow)とすれば、次の形となる。
pHJ= (Lx−Xo)Ux+ (Yx −Yo)L
Iy+ (zi−Zo)Uz・・・・・・・・・・・(
11) PXv= (Xl−Xo)Vx+ (Y□−Yo)Vy
+ (Z□−Z、)Vz・・・ ・・・・・(12) P1w= (X、−X。)ldx + (Y、 −Y、
 )Wy + (Z□−Zo)すZ・・・・・・・・・
・(13) 次に、視線方向を示すベクトルkをu−v−w座標系の
値に変換する。第24図のフローチャトではステップ2
4を参照する。ベクトルにのU−v−w座標系での値を
(Ku、Kv、Kw)とすれば、次の形となる。
Ku=Kx・Ux+Ky−Uy+Kz−Uz     
−−(14)Kv=Kx−Vx+Ky−Vy+Kz−V
z   −−−・・(15)Kw=Kx−Wx+Ky−
Wy+Kz−Wz   ・=−−−−=・(16)ここ
で、画面上の視線の位置P1を通り、視線方向を示すベ
クトルに方向を向く直線上の点Piが、面上にあるとき
のPiの値を求める。該Piの値が求める面上の1つの
点の本例での値である。
第24図のフローチャートではステップ25を参照する
。ステップ25では求める式のみを示した。
該式を得るまでの過程を以下に述べる。画面上の視線の
位置P工を通り、視線方向を示すベクトルに方向を向く
直線上の点Piは、次の形で表せる。
Pj=a−に+Pエ ・・・・・・・・・・・・(17
)これを、各座標値で表現すると、Piのu−v−W座
標系での値を(Piu、Piv、Pitll)とすれば
、次の形となる。
Piu=a−Ku+P1u  −−・・−・(18)P
iv=a−Kv+P、v  ・・−=・−・(19)P
iIll=a−にす+P工w・・・・・・・・・・・・
(20)ここで、直線上の点Piが、u−v面と交わる
点は、 Pi菅=0  ・・・・・・・・・・・・・・・・・・
・・・・・・(21)のときの点である。この条件で式
(20)を用いれば、aは、次の値となる。
a  = −P1讐/Kw  ・・・・・・・・・・・
・(22)このaの値からu−v面上での点Piの(P
iu、Piv)は、式(18)、(19)を用いてつぎ
の形で得られる。
Piu=(−P1ty/Kw)4u+P、u  −−・
・−・(23)Piv=(−P1w/Kw)4v+P、
v  −・・・(24)ここで得られた(Piu、Pi
v)は、u−v−w座標系での値である。これをx−y
−z座標系での値に変換するとつぎのようになる。第2
4図のフロチャートではステップ26を参照する。この
場合は、u−v−w座標系での(Piu 、 Piv 
、 O)をx−y=2座標系での値に戻せばよいので、
求めるP]を(Xi 、 Yi 、 Zi)とすれば、
X1=Piu−Ux+Piv−Vx+Xo−−(25)
Yi=Piu−Uy+Piv−Vy+Yo−−(26)
Zi=Piu(Iz+Piv−Vz+Z。−−−(27
)という形で求められる。
面上の1つの点を、デイスプレィ画面上の値として用い
る場合など、2次元平面上に投影された値として用いる
場合は上記結果(Piu、Piv)を、立体空間内の位
置を表すものとして3次元の値として用いる場合は上記
結果(Xi、Yi、Zi)を用いればよい。
次に第2手段2について説明する。処理部3の第2手段
2は、面(例えば第3図の例)と、前記第1手段の結果
として得られる面上の1つの点と。
視線方向とから、面の表面を表す特性的な線を、面上の
面上の1つの点に関る部分に付加して、且つ表示する。
以下例を用いて説明する。
先ず、第7図の場合は、面が3次元空間内で、正方形ま
たは、長方形のときの例である。第25図のフローチャ
ートを説明に併用する。この場合は第7図に示すように
、面上の1つの点から該面を構成する辺に向けて、方向
は向かう辺に隣合う辺に平行なイメージの線分を破線で
付加する。この場合、与えられる情報としては、次のも
のがある(第10図を参照)。第25図のフローチャー
トでは、ステップ31を参照する。
面上の1つの点として、 Pi=:(Xi、Yi、Zi)  −・・・・・(30
)長方形の頂点の座標値として、 P2=(X、、Y2.Z2)  −=−(:n)p3=
(X、、Y3−Z3)  −・−・=(32)P、=(
X、、Y、、Z4)  ==・・−・−(33)p、=
cx9.vs、zs)  ・−・・−・(34)また、
結果として得るものは、例えば、第11図に示すように
、付加する2つの破線の端点P6、P7、pIl、p、
がある。それらを、P、=(Xs、YG、ZG)  ・
==−・−(35)P 7 = (X7 、Y7 、Z
7)  ・・・・・・・・・(36)P8=(X、、Y
、、Z8)  ・・・・・・・・(37)P9=(X、
、Yi、Z9)  ・=−・旧・・(38)とする。
まず最初にP2がらP5へ向がうユニットベクトルW□
、P2からP、へ向がうユニットベクトルw2を作る。
第25図のフローチャートでは、ステップ32を参照す
る。W工、w2の成分値を、wx = (Wxx tw
yt rwzl) −・・・・= (39)W2 = 
(Vx、 tWyz twz2 ) ”’ ”’ ”’
 (40)とすれば、 wkl==X、  x2−・・・旧−(41)wk2=
Y5−Y2・・・・・・・・(42)vk3 = Z、
−22−−−(43)wk4= v’ (wk12+w
k2” +tyk32)−−” (44)Wx□=wk
l/1gk4   −−−−−−−−−(4s)Wy、
 = wk2/ wk4   −− ・・・(46)W
z、=wk3/wk4    −(47)wk5=x、
−X2・・・・・・・・(48)tllk6 = Y、
 −Y2       ・・ ・・・・(49)vk7
 = Z、 −Z2・= ・・・・・・(50)冒に8
 = J (tllk52+ wk62+すに72)・
・・・ ・・・(51)Wx、= wk5 / wk8
    −−− (52)すYz=讐に6/υに8  
  ・・・・・・・(53)すZ2= tllk7 /
 tik8     ・・・・・・・(54)という手
順で得られる。
次に、P2=(X2.Y2.Z2)を始点、Pi=(X
i+Yi。
Zi)を終点とする方向ベクトルW3を求める。第25
図のフローチャートでは、ステップ33を参照する。
W3 = (wx、 tlllya 、Wx3) ・=
−・−(55)とすれば、 讐x3=Xi−X2     ・・・・・・・・・(5
6)Wya = Yi −Y2    −・−−−−−
−−(57)Wz、=zi−Z2・・・・・・・・・(
58)にて得られる。ここで、P2を始点、Piを終点
とする方向ベクトルのW□、W2方向の成分値d1、d
2を求める。第25図のフローチャートでは、ステップ
34を参照する。、それらdl、d2は次の形で得ら九
る。
d、 =Wx3・Wx1+Wy、・Wy、+li’z、
・Wzl−・−・・(59)d2=Wx3・Wx2+1
jy3・Wy2+Ijz3・Wz2−・−・・(60)
ここで得られたd□、d2を用いてP、、、P7、P3
、P、は、次の形で得られる。第25図のフローチャー
トでは、ステップ35を参照する。
P、=d1・W1+P2  ・・・・・・・・・(61
)P7=d2・W2+P2   ・・・・・・・・・(
62)P、=d□・W工+P3   ・・・・・・・・
(63)P9=d2・W2+PS  ・・・・・・・・
・(64)これを、各座標値に展開すると次の形となる
X、 =d1・Wx1+X、    −(65)Y、 
=d工・wy1+y2    ・・・・・・・・・(6
6)Z、 =d16Wz1+Z2・・−−467)x7
=d2−IIlx2+x、    −・−−−168)
Y、 =d2・νy2+Y2    ・・・・・・・・
(69)Z7=d2・Wz2+z2・・・・・・・・・
(70)X、 =d工・すχ1+x3   ・・・・・
・・・・(71)Y、  =d1・−y工+Y3   
  ・・・・・ (72)Z、  =d1・Wz、+Z
、     −−・=−(73)Xg=d2・Wx2+
X、     −−−(74)Y、  =d2・Wy2
+Y、     ・・・・・・・ (75)zg=d2
・WZ2+Z、・・・・・・・(76)あとは、p、、
 p8を結ぶ線分を破線で、またP7、P9を結ぶ線分
を破線で表示すれば、目的のものが得られる。第25図
のフローチャートでは、ステップ36を参照する。
次に、第9図の場合は、相対する辺が平行ではない一般
的な四辺形のときの例である。また、第26図のフロー
チャートを説明に併用する。この場合、与えられる情報
としては、次のものがある。
第26図のフローチャートでは、ステップ41を参照す
る。面上の1つの点として、 pi==(xi、yi、zi)  ・−・−・−・−・
(100)四辺形の頂点の座標値として、 PZ”(X2.Y2−22)  ・・・・・・・・・(
101)P3=(X3.Y3.Z、)  ・・・・・・
・・(102)P4=(X4.Y4.Z4)  ・・・
・・・・・・(103)P5=(X9.Y9.Z、) 
 −・・・−−(104)また、結果として得るものは
、例えば、第9図に示すように、付加する2つの破線の
端点P0、P7、Pい P、がある。それらを、 P6=(X6.YG、Z、)  ・・・・・・・・(1
05)P 7= (X7.Y、 、Z7)  ・・・・
・・・・(106)P8=(X、l、Y8.Z、)  
−・・・・・・・(107)P9”(X9.Y9.Z9
)  ””””’(108)とする。
先ず、相対する辺P2P、、辺P、P4上で等分割した
ときの対応する位置を表現するために、各々をn等分し
たときの長さを求める。第26図のフローチャートでは
、ステップ42を参照する。辺p、p、をn等分したと
きの長さをd3、辺P5P4をn等分したときの長さを
d4とすればd3とd4はつぎの式で得られる。なおn
は結果の式を得たときに消える変数であが、面を構成す
る場合、2つの線を各々同じ等分数で分割し、対応する
線を結ぶ方法があり、これは面のイメージをよく表現す
るので用いた。
d、=IP3−P2I/n・・・・・・・・(109)
d 4== l P4− P、l / n −−(11
0)つぎに、P2からP、へ向かうユニットベクトルw
、、 p、からP4へ向かうユニットベクトルW、を作
る。第12図を参照する。なお第26図のフローチャー
トでは、ステップ43を参照する。
W3、W4の成分値を、 Wz ”= (WX3 Jy31111Z3)  −’
 ”−・・・(111)W4=(WX41Wy41WZ
4)  −・・山−・(112)とすれば、 vkl=X、  X2−−−(113)tik2=Y、
 −Y2     ・・・・・・・・(114)wk3
:Z3  z2     +++ ・++ +++ (
115)wk4= v’ (wk12+tgk22+w
k32)・= ”・川(116)vx3= tykl/
 wk4   −−− (117)Wy、 ==wk2
/ wk4    ・= ・−−(118)Wz3= 
wk3/ wk4   −−− (119)wk5=X
、 −X、     ・・・・旧・・(120)wk6
 = Y4− YS−−−(121)wk7 = Z、
 −Z、     =・−・−−−−(122)リに8
 = J (wk52+すに62+ωに72)・   
(123)Wx、 = tyk5 / tyk8   
  ・−・・・・(] 24)Wy4= wk6/ w
k8    −−− (125)lJz、= wk7/
 wk8     ・−−(126)という手順で得ら
れる。
上記で得られたd3、W、を用いると、P2を基準にし
た辺P2P3上の点Pw、が次の形で得られる。
第29図のフローチャートでは、ステップ44を参照す
る。
Pty3=b−d3W3+P2 ・・・・・・・・・(
]、27)また、上記で得られたd4、W4を用いると
、P。
を基準にした辺P5P4上の点Pw4が次の形で得られ
る。
Pw4=b−d4W4+P、   −−(128)ここ
で、線分Pv3Pw4が、与えられた面上の1つの点P
iを通るように変数すを定めれば、目的の1つの線分が
得られる。言い替えれば、線分Pw。
Pw4上にPjが乗る条件を決めればよい。そのために
は、Pi3を原点とし、Pw3からPw、へ向かう方向
を基準軸とする座標系を導入し、該基準軸からのPiの
離れ具合で判定すればよい。
先ず、原点は Ptv3=b−d、W、+P2−・−(+29)次に、
基準軸は V/、 =P1.14−P讐、  ・・・・ (1,3
0)=b(d4W、−c13W、)+PS−P。
離れ具合を判定するには、基準軸に直交する軸が必要で
、該軸をW、とすれば、Wr、はつぎの手順で得る。
W b ” W s X W 3     ・・・・(
131)ここで、W5、W6を WS = (Wx61すys+WZ5)  ””””’
(132)We = (Wx、 、WyGtWZ6 )
  −−−(133)とすれば、先ず、W、の各成分値
は、次の形で得られる。
Wxs = b (d 4Wx4−d 3すX3)+ 
CX、−X2)・−・−= (134)シy、=b(d
4すy4d a’l’)’z)+ (YS  Y2)・
・・・・・(135)すZs = b (d 4Wz4
− d 3Wz、)+ (Z、−Z2)−−(136)
次に、W6の各成分値は、次の形で得られる。
WxG:Wy、Wz、 −WzsWy、 −・−=・=
・(137)Wy、=WzJx3−Wx、Wz3−−−
(138)Wz、=Wx5Wy、−Wy、Wx3−−−
(139)ここてW3を用いたのは、W5に直交するベ
クトルを求めるためのものでW、に平行でなく、既知の
値のものなら、何でもよい。WGが得られると、次の式
を用いてbを求めることができる。
(P i −P w3)・W、 = O−−・・(14
0)ここで、W6の各成分値を示すと次のようになる。
IJx6= Wy、 Wx3−1i1z、 Wy。
” (b (d JY*  d 3Wyl)+ (YS
  Y2))WZ3(b (d 4’jZ4  d 3
WZa)+(zs  Zz))Wya=b”d4(Wy
4Wz3WZJy3)+(Ys  Y2)ll’Z3(
zs  L)Wy3        ・・・・・・(1
41)Wy、 = Wz、 bx、 −111X、 W
z。
” (b (d 4WZ4  d 3WZ3) + C
10−Z2))WXj(b (d4wx4a JX+)
+(XS  xz))wzi= b−d 4(Ilz4
Wx3−INx4wz3)+(Zs −Z2)Wx。
(XS  X2)WZ3       ・・・・・・・
・・(142)Ijz6= Wx5Wy3− Wy、’
Jx3” (b (d 41i1x4d 3LJXa)
 + (Xs  L))Il’ya(b (d Jy*
  d xWyi)+ (Ys  Y、+))WX+=
b−d4(Wx、Wy、  ’74’X3)十(Xs 
 X2)Wy3(Ys  Y2)Wx3−−・・(14
3)ここで、スカラー積(Pi  Pw、)・W、を作
ると、次のようになる。
(Pi−Pw、)”(Xi、Yi、Zi)  ”・・−
(144)Pw3=b−d、W3+P2  −−・・・
(145)先ず、 (Pi −Pw、)=(Xw3.Yw、、Zw、)−・
−・(146)とすれば、各成分値は1次のようになる
Xw、=Xi−b−d3Wx3−X2=(146)Yw
3=Yi−b−d3Illy3−Y2・・・・・・・・
・(147)Zti、=Zi−b−d、1ilz3−Z
2−(148)ここで、 (P i −P W3)・w。
=  Xw3Wx、 +Yw、Wy6+Zw3Wz、 
−−(149)であるから、各項を示せば、 Xw3すx6 =(Xi  b−d3wx3  Xz)(b’d4(1
’y4wZ:+  WZ4Wya)+(Y、−Y2)W
z3=(Z5−Z2)Wy、)  −−−−−(150
)=b2(dad4(WxJz、Idy4WX3Wy3
IIZ4))+ b (−d 3Wx、Wz、 (y、
−YZ)+ d aWx3Wy、 (z5−22)+ 
a 4(Wz4WL+−1’yJzJ(Xi−L))+
 (Xi−XZ)((YS−Yz)WX3− (zs 
−22)WX3)w3Wys =(Yx  b”diWyi  YZ)(b−d4(W
zJxl  Wx4Wz3)十(Zs−Zz)Wx3(
Xs −XZ)titz3)  ””””’(151)
= b2(d3do(Wx、WyaWz4−Wy3WZ
rWXj)十b (−d 31AX3Vy3 (25−
z2)+ d 3’JY3’JZ3 (XS −XZ)
+ d 、 (Yi −Yz)(Wx、Wx4−Wz3
Wx4))+ (Yi−Yz)((Zs−Zz)Wx3
− (XS−XZ)Wz3)Zw、WzG = (Zi−b −d 31i1zi−zz)(b −
d 、(Iilx4Wy、 −1i1y、WX、)+(
xs−xz)WX3−(vs−yz)wx3)   ・
−−−・・・−・(152)=b”(d、d4(Wz、
WyJx4 W;hWXiWyJ)+b(a3wy3w
z3(x5  XZ)+d3Wx、Wz3(Y、  Y
Z)+ d4 (ZjZz)(WX4Wy3Wy+Wx
3))+ (zi  zz)((xs  L)Wya 
 (YS  yz)’1x3)ここで、スカラー積(X
ll1. Wx、 + Yw、 (ily6+ Ztg
3Wz、 )を作成すると、 Xw]Wx、+Yw、Wy6 +Zw、ljz。
=  b2(d3d、(WX、WZ、Wx4−WX、W
y、1JZ4))+ b”(d、 d4(Wx、Wy3
1dz4−Wy、すz、Wx、))+b”(d3d4(
−Zahal&X4 WZ3WX、WYj)十b (−
d 3Wx、wx3(YS−YZ)+ d 、WxJy
3(Z、 −Z2)+ d 4 (WX31’yq  
I’)’z ’Z4 ) (XI  XZ ))十b 
(−d 3WX3Wyi (zs−Z2)+ d il
l’yJZi (xs −XZ)+d4(Yi  Yz
)(Wx3Wz4−Wz3Wxj)+ b (−d 3
Wy、WX3(X、−XZ)十d 、WX3WZ3 (
Y、 −YZ)+ d 4 C7l  L)(WX4w
yr  l’/4WXz))+ (Xi  XZ ) 
((Ys  YZ MZ3  (2522)I’yi 
)+ (yi−yz)((zs  zz)wx3(XS
  Xz)Wzd+ (zi−Zz)((Xs−Xz)
ll’y3−(YS −Yz)Wx3)=十b (d 
3’iL−呻U□:ゴちつ□+d3兄L−9急バl工=
≦しつ。
−d・■己ム■gニー+d、股」竪己ムユ入d−d3W
  Wz、(X −X )+d、Wx Wz  Y −
Ya+ d4 (Wz3Wy 4  wy3 Wx4)
 (Xi  XZ )+ d4(Wx、Wx4−1dz
、Wx4)(Yi−YZ)十d 4(wY3WIC4W
X3’JY4)CZj22))+(Xi  Xz ) 
((Y、、YZ )Wjh  (ZS  22 )Wy
i )+ (yi−yz)((zs −22)WX3−
 (xs −XZ)Wx3)+ (Zi−22)((X
i−Xz)Wya −(YS −YZ)WX3)= 十
b (十d 、(WzJy4−Wy3111z4)(X
i−XZ)+ d、(wx、wx4−Wz、Wx、)(
Yi−YZ)十d4(Wy、Wx4Wx3Wy、5)(
Zl−2z))+ (Xi−XZ)((YS −YZ)
WX3− (zs −Z2)Wya)+(YI  YZ
)((ZS  Zz)Wx、  (x5  xz)bi
z3)+ (Zi  Zz)((L  Xz)WX3(
YS  YZ)WX3)・・・・・・・・・・・・・・
・・・(153)スカラー積(Xw3Wx、 +Yw3
Wy6+ZwJzs) = Oからbを求める。
b=(:  (XjXi)((YS  YZ)11’z
3(ZS  zz)wy3)(YI  YZ)((25
22)WX3  (XS  Xz)Wx3)−(zi−
Z2)((Xi −xz)wyi −(’ys −yz
)wxa))/(十d4(WZ31+ly4  Wy3
WZ4)(Xi’−XZ)十d 、(Wx3Wz4−W
z3Wx、)(Yi−YZ)十d 4 (Wya Wx
4Vx3111>’* ) (ZI  Zz ))=(
−1/d4)((pi−P、)・((P、−P2)XW
、))/((W、 X W3)・(Pi  P2))・
・・・・・・・・・・・・・・・・・(154)ここで
えられたbを用いて前述の次の式からPw、、2w4を
求めれば、それらが各々目的のP7、P、となる。第2
6図のフローチャートでは、ステップ45を参照する。
式で示せば次の形で得られる。
P7=Pす、= b−ci、w、+ p2=w、(−c
i3/d4)[(pi−p2)−((p5−p2) x
w、))/((W、 X W3)・(Pi−P2)) 
+ P2”−WIPi−P21C(Pi−P2)・((
p5−p2)xw3))/(lP4−Psi(W4XW
3)・(Pi  Pz)) 十P2・・(155) P g =P 14== b−d 4 W 4 + P
 =。
=W4(−d4/d、)((Pi−P2)・CCPS−
P2)X W3))/((W4XW、)・(Pi −P
z))+ Ps= −W 4((P x−P z )・
((p5−p2)xw、))/((W4XW3)・(P
i −P2))十P5・・・・・・・・(156) 次に、他の1組の相対する辺P2P5、辺P、 P4上
で等分割したときの対応する位置を表現するために、各
々をn等分したときの長さを求める。第13図を参照す
る。なお、第26図のフローチャトでは、ステップ46
を参照する。辺P2P、をn等分したときの長さをd 
xz、辺P、P、をn等分したときの長さをd i4と
すれば、d 13とd 14はつぎの式で得られる。
d、、= l P5−P21 / n −4201)d
 14= l p4− P31 / n =(202)
つぎに、P2からP5へ向かうユニットベクトルW 1
3、P3からP4へ向かうユニットベクトルW工。
を作る。第26図のフローチャートでは、ステップ47
を参照する。W□3、W14の成分値を、Wl3 =(
IN)h3+Wyx3.IjZ□i)  ””””’(
203)W1+ = (WX1* +Wyxo +WZ
14)”’ ”’ ”’ (204)とすれば、Wla
の成分値は、 すに1=x、−X2・・・・・・・・・(205)wk
2 = Y、−Y2−−−(206)wk3 = Z、
−Z2−(207) すに4 = ((υk12+讐に22+υに32)・・
・・・・・・・(208)すXよ、=υにしへに4  
 −−−−−・=−(209)Wy、3= tik2/
wk4   −−(210)Wz□3== wk3/ 
wk4    ・・・・= ・・・(211)W14の
成分値は、 wk5 = X4−X、     ・−・=・・(21
2)υに6 = Y4−Y3     ・・・・・(2
13)wk7 = 24−2.    −(214)w
k8 = v’(tyk52+wk62+wk72)−
−−(215)Wx14=υに5/υに8・・・・・・
・・・(216)しy□4=すに6/すに8    ・
 ・・・・・(217)Wz14=: wk7/ wk
8    ・・・・・・−(218)という手順で得ら
れる。
上記で得られたd□3、Wl3を用いると、P2を基準
にした辺P2P5上の点Pw工3が次の形で得られる。
第26図のフローチャートでは、ステップ48を参照す
る。
Pす、3=b−dl、W工、+P2 ・・・・・・・・
・(219)また、上記で得られたd 14、Wl4を
用いると、P3を基準にした辺P3P4上の点Pw0.
が次の形で得られる Pw14=b−d14W14+P3  ・・・・・・・
・・(220)ここで、線分Pw□、Pw0.が、与え
られた面上の1つの点Piを通るように変数すを定めれ
ば、目的の他の1つの線分が得られる。言い替えれば、
線分Pw1.Pw1.上にPiが乗る条件を決めればよ
い。そのためには、P w、、を原点とし、Pw□3か
らP−□4へ向かう方向を基準軸とする座標系を導入し
、該基準軸からのPiの離れ具合で判定すればよい。先
ず、原点は Pi、、=b−d13W□3+P2・・・・・・・・・
(221)次に、基準軸は W、=Pw14−Pw、3−・・・・−=(222)=
b(d14W□、−d工、W工、)十p3−p2離れ具
合を判定するには、基準軸に直交する軸が必要で、該軸
をWl6とすれば、Wl、はっぎの手順で得る。
Wig =W1.XW□、   ・・・・・・・・・(
223)ここで、Wl、、 Wl、を Wlg =(Wxxs+Wy1s+’Z□s)  ・’
=□=”(224)W□c =(Wx1s+WyxsJ
Zzs)  ””””’(225)とすれば、先ず、W
、5の各成分値は、次の形で得られる。
Wx、、  = b (d L4wx14  d tJ
Xii)+ (X3  X2)・・・(226) Wy□s  = b (d x4wy14d tiIl
lyt3)+(Y3  Y2)・・・・・・・・(22
7) bZxs  = b (d 14”zi4  d 1J
Zta)+ (Zl  Z2)・・・・・・・・・(2
2g) 次に、W、Gの各成分値は、次の形で得られる。
Wx、、 =J’xs111Z1i  WZxsl’1
y1a ”’ ”’ ”’ (229)11’yH; 
=WZxsWX□i  Wx、sWz、、 ”’ ”’
 ”’ (230)Wz16=l’XxsWy1311
’)’xsl’X1z ”’ ”’ ”・(231)W
□、が得られると、次の式を用いてbを求めることがで
きる。
(Pi−Pw、3)・W、s= O−−−(232)こ
こで、W5の各成分値を示すと次のようになる。
Wx1s= Wy□JZz3WZzsWy、3”  (
b(dxJyx+−ス、■、)”(Y3Yz))WZx
i(b (d 14wz14−A1秋、)+(za  
zz))uyxa” b ’ d 14(Il’yx4
wZ13WZt41’yxz )+(Y3  Yz)W
Zt3(Z3L)Wy□:+”’(233)’dY1b
 = WZxsWXt3Wx1sWz1゜”  (b 
(d i4wZi。−d  Wz  ) + (Z、 
−22))Wx、。
(b (d 14vx14  □)+(Xl  Xz)
)WZzr= b °d 、4(WzzjWx□、 −
Wx14Wz、、 )+ (Zl −Z2)lilx、
、 −(Xl−Xz)WZ13=−(234)’Zxr
、  =  ’x1sl’y13’JYxS’JX□3
”  (b(dtJXt4m)+(Xi  X2))’
!+’x3(b (d IJYxq−Aヨ辻しユ)+ 
(Yr  Yz))WXti= b ” d x4(W
X1+I’yx3’JYxj’Xx3)+(Xl  L
)Wy□3(Yz  Yz)Wx、3”’(235)こ
こで、スカラー積(Pi−Pw□3)・W工、を作ると
、次のようになる。
Pi=(Xi、Yi、Zi)  −(236)Pw、3
=b−dl、W、、+P2 −・−・−−−−(237
)先ず、 (Pi  PWzi)=(Xwt3+YWx3+ZWt
z)””””’(238)とすれば、各成分値は、次の
ようになる。
Xw13=Xi−b−dl、Wxl、−X2−(239
)Yす□、=Yi−b−d工、讐y□3−Y2 ・・・
・・・・・・(240)Zi+、、=Zi−b−d、3
Wz、3−Z2・−・−・(241)ここで、 (Pi−Pす、3)・W工。
=XII□1Wx16+Ytnt311ye+Zwi3
Wzc  −−−−(242)であるから、右辺の各項
を示すと、 X讐□3Wxよ。
=(Xx  b−d、31ux13Xz)(b’dtq
(WyxJZx3’JZxJ’/x3)十(YJ  Y
z)uZl)  (Z3Zz)I’y1a)・・・・・
・・(243) =b2(d□ad14(WXtiWZxaWy141N
X□il’yxa’Z1j)+ b (d 11]’x
l 3WZz3 (Yz  Yz ) + d 13”
xi31’Yx。
(23Zz)+d、4C’JZx3’JY14WyzJ
Z□J(Xl−X2)) +(Xi  X2)((Yl  Yz)Wz13− (
Z3−Z2)Wy□3)Yす□3すy16 =(Yi−b−d□3すy□a  Yz)(b ’ d
 14 (WZ、JXtzWx14Wz□3)+ (Z
3  Zz)WXz3(Xl −Xz)WZ□a)・・
・・・・・・・(244) =b2(di3dt4(WXxxWY13WZx4Wy
1311’Z+3WX□*))十b (d 1:+I’
+h:+l’yxz (’z3z2)十d1i’yxa
’Zia(X3X2) +d14(YI  Yz)(W
xt:1Wzt4’JzxglIlx□4)) +(Yi  Yz)((Z3  Zz)WXti  (
L  Xz)l’Zti)2讐□3すZIG ”(Zl  b−d13Wz□、  L)(b’dz4
(WXt4WyzaWytJXxa)+(L  Xz)
W3h3(Yz  Yz)WXi3)・・・・・・・・
・(245) ” b”(dxidt4(WZt31’ytJX14−
リZxxll’Xt3WytJ)+ b (d 1Jy
xy’dZ□a (Xl  X2)+ d 13”xl
ffw”43(Yz  Yz)+ d □*(ZI  
Zz)(1’lXt*l’yxa  WytJXt3)
)+ (ZI  Z2)((Xl  Xz)Wyii 
 (Yx  Yz)WX13)ここで、 スカラー積(X11zJXtG+YVz311’yts
+ZW□3WZB) ヲ作成すると、 Xw、3Wx1. +Yt+、、Jy、、 +ZtI+
、、Wz1゜=  b ” (d 13 d 14(W
XxaWZz3Wy□q  WXtiWytzWZxJ
)+ b2(dzadx4(WXt3WytaWZz+
  W3’z3WZ1iWXxJ)十b”(dxad1
4(WZt2111yz3WXz4−wz13すXta
W3’□J)+ b (d 13vx13wzL3 (
Y3Y2)十d □aWXxxWyta (Z3 22
)+d□4(WZx3wyx4Wy13WZt4)(X
i  Xz))十b (d □atl’XzaWyzz
 (23Z2)+ d 13wyziWZz3(Xl 
 X2)十d 14 (Yx  Yz)(1’Xx3W
Zz4WZzal’xti))+ b (d 13’1
lYty’Zxy (Xl  X2)+ d 1.Wx
□、Wzlj(Yz−Yz)+dt4(ZI  Zz)
(WXxJyt311’ytJXxi))+ (Xi 
 X2)((Yz  Yz)WZ13(Z3  Zz)
Wyx:+)+ (YI  Yz)((Z3Zz)WX
t3(Xl  L)Wzla)+(ZI  Z2)((
L  Xz)Wy13(Yz  Yz)WXxa)・・
・・・・・・・(246) これからbは、次の式で得られる。
b ” (−(xi−X2)((Yz−Yz)Wz13
− (2G−Zz)Wyza)(YI  Yz)((Z
3  Z2)ll’X13  (Xl  L)l’Zt
a)−(zj−zz)((x3−L)Wyzi −(Y
z−yz)”’x13))/(+d14(WZzaWy
x4WyzJZz4)(Xi  Xz)+ d 1q 
(WXtJZ14Wz13Wx14)(YjYz)+d
□4(Wyx3WXx4WXx:+wyz4)(ZI 
 Z2))=(1/d14)((Pi P2)・((P
3 P2)XWzi):1/((W14XW□3)・(
Pj P2))・・・・・・・・・(247) ここでえられたbを用いて前述の次の式からPw工3、
P wo、を求めれば、それらが各々目的のP5、P8
となる。、すなわち、第26図のフローチャートでは、
ステップ49を参照する。
P6=Pす、3=b−d□3wi、” P 2=W工3
(−d工>/d、4)((Pi−P2)・((Pl−P
2)Xwis))/((Wt<xwtx)’(pi P
2))+P2=−W□31P−P21((PL−P2)
・((p3−pz)xwta)]/(IF5−P、1(
W14XW工、)・(Pi −p2))+ p2・・・
・・・・(248) Pa”Pwz4=b−di4W、、+P3= Wl、 
(−d 1./ d工4)[(P i−P 2)・((
P3−P2)xW工3 )) / ((Wl4 X W
□、)・(Pi−P2))+ P。
=−Wよ4 ((P i−P 2)・((P3−P2)
 ×w13))/ ((Wl4 x Wla )・(p
j−p2))十p3・・・・・・・・(249) あとは、上記で得られた結果からP7、P9を結ぶ線分
と、PG、PIlを結ぶ線分とを破線で出力すればよい
。第26図のフローチャートではステップ50を参照す
る。
次は、第14図に示すように、面が3次元空間内で、平
行四辺形のときの例について説明する。
なお、第27図のフローチャートを説明に併用する。こ
の場合は第14図に示すように、面上の1つの点から該
面を構成する辺に向けて、方向は向かう辺に隣合う辺に
平行なイメージの線分を破線で付加する。この考え方は
、例えば、面領域が三角形の場合などのときにも有効で
ある。三角形の場合の例を第15図に示す。三角形の場
合、第16図に示すように三角形の各頂点から面上の1
つの点に破線を引くとか、第17図に示すように面上の
1つの点から各辺に垂線を下ろす形で破線を引くことが
考えられる。しかしながら、それらを3次元の形として
見るとき、前者は面上の1つの点が4面体の頂点に見え
やすく、後者は面上の1つの点から各辺に鎖を張ってい
るように見えやすい。それらに比べ、第15図の場合は
、破線に平行に沿う線が強調されて見えるので面上の1
つの点が面上にあるように見えやすい。この場合、与え
られる情報としては、次のものがある(第14図を参照
)。第27図のフローチャートでは、ステップ61を参
照する。
面上の1つの点として、 Pi=(Xi、Yi、Zi)  =(300)平行四辺
形の頂点の座標値として、 P2=(X、、Y、、Z2)  −=−・−(301)
P、=(X3.Y、、23)  ・−・・・・・−・(
302)P4=(X4.Y、、Z4)  −・−−−−
・・(303)Ps=(Xs+YsyZs)  −・・
−・・・(304)また、結果として得るものは、例え
ば、第14図に示すように、付加する2つの破線の端点
P6、P7、pi、p、がある。それらを、 P+;=(Xs+Ys+Zs)  ・−・・==−(3
05)P7=(X7.Y7.Z、)  ・・−−−−・
・−(306)pH=(X、、YIl、Z、)  ・−
−−−・−・・(307)p、=(x、、y、、z、)
  −・−−−−−−−(308)とする。
最初に、P2からP3へ向がうユニットベクトルU□、
P2からPsへ向かうユニットベクトルV工を作る。第
27図のフローチャートでは、ステップ62を参照する
。Ul、■□の成分値を、Ux”(LJXttlJ7x
+tlZx)  −−−−−−−−−(309)■□=
(VXt+Vy工、Yz工) ・・・・・・・・(31
0)とすれば、 wk1=X、−X2・・・・・・・・・(31])讐に
2=Y、−Y2     ・・・・・・・・・(312
)警に3=Z、−Zz     ・・・・・・・・・(
313)wk4 = v’ (wk12+wk2” +
 wk3” )−−−(314)lx□=wkl/wk
4   −−・・・−・(31s)Uy□=すに2/w
k4・・・・・・・・・(316)Uz□= wk3 
/ tllk4   − ・・・−(317)wk5=
X、−X2−− ・・・(318)wk6 = Y、 
−Y2・= −・・・(319)wk7 = Z、 −
Z2・= −−(320)wk8=v’ (tgk5”
 +wk62+wk72)−・−−−−−−−(321
)Vx1= tgk5/ wk8    ・−・−=−
(322)Vy、 = wk6/ wk8   −−−
 (323)Vz□=wk7/wk8    ・−・・
・・・−(:324)という手順で得られる。
次に、P z ” (X2.Yz、Zz)を始点、 P
i=(Xi、YitZi)を終点とする方向ベクトルW
、を求める。第27図のフローチャートでは、ステップ
63を参照する。
W3=(Wx、、Vy3.Wx3)  −(325)と
すれば、 Wx3= Xi −X2−−− (326)Wy、 :
 Yi −Y2     ・・・・・・・・(327)
1iz3= Zi −Z2−−− (328)にて得ら
れる。
ここで、方向ベクトルW3をユニットベクトルU□、■
□で表現すると、次の形となる。これは、W、とU工と
vlとが同一平面上に存在するからである。
W3=c1U1+c2V1・・−−4329)これらの
01と02とをここでは求める。第27図のフローチャ
ートでは、ステップ64を参照する。
それらを成分値で表すと次の形となる。
Xl−X2= c 1Ux1+ c 2Vx、 −−−
(330)Yi−Y2= c 、Uy□十c 2Vy、
・−−−(331)Zi−X2= cmUz□+ c2
Vz16−(332)この3つの式から01と02を求
めれば、P6、P7、P、1.P、は次の形で得られる
P、=c2V工+P2 −(333) P、=C,U1+P2  ・・・・=−(334)P8
=c2■、十P 3  ・・・・・−(335)P、=
c1U1+P5 −(336) このC工と02は、上記式(330) (331) (
332)の3つから求めればよいが、変数は、2つなの
で1次の2つの式を用いる。
Xl−X2= c 1Ux、 + c 2Vx□+++
 +++ ・・・(337)Yi−Y2 = CxUy
x + c zVyt −= =・−・(338)vy
□(337) −Vx□(33g)をつくると、Vy、
 (Xj−X2)=Vy1c 1Ux□+Vy、 c 
2Vx□VX  Yi−Y  =Vx c U  +V
x c VVyl(Xi −X2) −Vxl(Yi 
−Y2)” (VyxUXx  VxlUyt) C□
c □= (Vyx (Xi  X2 )  VX□(
YI  Y2 ))/(VyiUxx−VX1U!/□
)・−・・・−・・(339)これを、式(337)に
代入してc2をもとめると、c z ”” ((Xi 
 X2)  c 1Ux□)/ Vxx= (Xi−X
2)/VLI −01(lx□/ Vx□)=(Xi 
 X2)/Vx1 (Vyi(Xx  X2)  Vxl(YiYz))(
Uxt/VX□)/(VyllJxl  vxtuyJ =(XjXz)(VyxUxx  VxtUy□)/(
VXt(VyxUXz  Vx4U3’z))−(Vy
t (xi −X2) −Vx、 (Yi −Y2 )
) (UXl / Vxl)Vxt/ ((VyxUx
、−Vx□Uy1)Vx、)= (Vx、 (Yi  
Y2)UXlVxtUyx (Xx  Xz))/((
VyzUXt  VXxUyt)VXJ−’−cz=(
uxl(yi−yz)−uyx(xi−xz))/((
VytUxt−VxzUyt))−−・−・−・(34
0)ここで求めたciと02の値を用い、上記式(33
3)%式% P8、P9が得られる。第27図のフローチャートでは
、ステップ65を参照する。
後は、P6とpHを結ぶ線分、P7とP9を結ぶ線分と
を破線で作成すれば、目的の線の表示が得られる。第2
7図のフローチャートでは、ステップ66を参照する。
最後に示す例は、面が3次元空間内で1球面の場合であ
る。例を第18図に示す。従って、面上の1つの点は、
球面上にある。また、第28図のフローチャートを説明
に併用する。この場合は、球の中心を中心とし、与えら
れた面」二の1つの点を通る円を面の表面を表す特性的
な線として用いる。この場合、与えられる情報としては
、次のものがある。第28図のフローチャートでは、ス
テップ71を参照する。
面上の1つの点として、 Pi=(Xi、Yi、Zi)  ・−・−・・・−=−
・(300)球の中心として、 Pc=(Xc、Yc、Zc)  ・−・・−−−−−−
(301)球の半径として、 r  ・・・・・・・・・・・・・・・(302)視線
方向としてとして、 k = (Kx、Ky、Kz)  −−−−・・・(3
03)画面上の視線の位置として、 P1=(Xl、Y、、Zl)  −−−−=−・−・=
−(304)とする。球面の様に面の形を表す辺が無い
場合は、視線方向から見える部分に特徴的な線を付加す
る必要があるので、特徴的な線を得る場合に視線方向を
用いる。
先ず、球の種々の位置を算出するための基準となる軸(
以下これを基準軸と呼ぶ)を作る。ここでの基準軸は、
球の中心から指定した方向を向くベクトルQ工で与える
ことにする。
Qt = (Qx□、QylyQzt)・・・−・−・
・−−−−−(305)ここで Q□1=1  ・・・・・・・・・・・・・・・(30
6)とする。このとき、基準軸Q上方向で球面上の点P
r□は、次の形で得られる。
Pr、= r Q、十Pc・・・・・・・・・・・・・
・(307)この球面上の点Pr1を用いて、面の表面
を表す特性的な線をつぎに述べる形態で作る。先ず、最
初の特性的な線は、与えられた面上の1つの点Piと、
上記で得られた球面上の点Pr1とを通り、中心が球の
中心Pcの円で作る。また、他の1つの特性的な線は、
与えられた面上の1つの点Piを通り、既に作られてい
る最初の特性的な線に直交する円として作る。
また、ここで1つの例として用いる図形処理装置は、3
次元図形を表示する場合、図形処理装置のもつ基準座標
系の2軸を上方向に見えるように表示する機能をもつも
のとする。
ここで基準軸Q□を5正面に正立するように作る。
そのためには、先ず一視線方向の逆方向(−k)から図
形処理装置のもつ基準座標系のZ軸方向へ90度回転し
た位置に基準軸Q1を作ればよい。
最初に(−k)から2軸を正面に見て右側に、(−k)
とZ軸とに直交する軸Bを作成する。第28図のフロー
チャートでは、ステップ72を参照する。
B = (Bx、By、Bz) −−−−=・(308
)とすれば、Bは次のベクトル積で得られる。
B = (0,0,1) x (−k )・・・・・・
・・・・・・・・・(309)成分値で示せば、次の通
り。
Bx=−04z+l4y =Ky       ・・・・・・・・・・・・・・・
(3]、0)By=−14x+04z = −Kx      ・・・・・・・・・・・・・・
・(311)Bz=−04y+04x 二〇       ・・・・・山川・・・(312)こ
こで、Bをユニットベクトル化したものB□を求める。
その成分値を J=(Bxt、By、、Bzt)町−・旧・・=−(3
13)とすれば、B1は次の形で得られる。第28図の
フローチャートでは、ステップ73を参照する。
3)(1=  Ky/v’(Ky2+Kx2)Byx=
  Kx/V7″(Ky2+Kx2)Bz工=0 次に、目的の基準軸Q□は、次のベクトル積で得られる
。第28図のフローチャートでは、ステップ74を参照
する。
Q、=(−k)xB□・・・・・・・・・町・・(31
4)その成分値で示せば、次の通り。
Qx□=−Ky−Bz1+Kz−By。
=十Kz−By1 = −KxKz/ v’ (Ky” + Kx” )−
・旧・・町・・(315)Qyx =−Kz−Bx□+
Kx−Bz□” −Kz−Bxl = −KzKy/ J (Ky2+Kx2) −−・・
・叫・・(316)Qz1=−Kx−By、+Ky−B
x1= + (KxKx + KyKy) / v’ 
(Ky2+ Kx2)”v’ (Ky2+Kx2)  
    −−−−−(317)これで1つの基準軸が設
定されたことになる。この基準軸を用いて表示した場合
の例を第19図に示す。図に示すように、この場合は、
最初に設定される円(図では破線の円の1つ)が直立し
た円になる。これは、基準軸が直立しているからである
では、これを、少し斜めにしたときの例を第20図に示
す。例えば、見た目に角度θで右に回転したときの手j
@を以下に示す。
先ず、基準軸Q□を、Bi軸方向に見た目に角度θで右
に回転したときのQ上方向の成分値はCO5θ、B1方
向の成分値はsinθである(第21図を参照)。
従って、見た目に角度θで基準軸Q□をB1方向に回転
したときの方向を示すQ2は次の式で得られる。第28
図のフローチャートでは、ステップ75を参照する。
Qz=(cosθ)Qi+(sinθ) B 、 −”
 ・−・−・−−−−(318)成分値で示せば、 Q2 = (Ql2 +Qyz 、QI2 )−=−・
−−−−=−(319)として、次の通り。
Qx2: (−KxKz cosθ+Ky sinθ)
/((Ky2+Kx2)・・・・・・・・・・・・・・
・(320)Qy2= (−KyKz cosθ−Kx
 sinθ) / J (Ky2+ Kx” )・・・
・・・・・・・・・・・・(321)Qz2= (co
sθ)v’ (Ky2+ Kx2)   −−−−−(
322)また、見た目に手前方向に基準軸を回転させた
い場合もある。その時の形態を第22図に示す。
この場合、軸回転の形態を第23図に示す。この場合、
すなわち、見た目に手前方向に、角度αで基準軸Q2を
回転したときの方向を示すQ3は次の式で得られる。第
28図のフローチャートでは、ステップ76を参照する
Q 3= Q 、 (cos a ) (cosθ)+
 (−k )(sin a )(cosθ)・・・・・
・・・・・・・・・(323)成分値で示せば、 Q3 = (QI3 、Qx3 tQZ3)”’ ・”
・−・・−(324)として、次の通り。
Qx、 = (cos a )(cosθ)(−KxK
z/J (Ky2+Kx2))+ (sin a ) 
(cosθ)(−Kx) −−−・−−(325)Qx
3 = (cos a )(cosθ)(KzKy/ 
v’ (Ky2+Kx2))+ (sin a ) (
cosθ) (−Ky) −−−−=・−・−・(32
6)Qz3= (cos a )(cosθ)(v’ 
(Ky2+ KX2))+ (sin a )(cos
 e )(−Kz) −−=−・=−(327)次に、
上記で得られた基準軸Q1方向の直線が、球面と交わる
点Pr1と与えられた面上の1つの点Piを通り、中心
が球の中心Pcの円C工を作成する。この場合の円周上
の点Pj1は以下の手順で得られる。また、その算出の
仕方は、例えば、PiからPr1の方向へ角度βを与え
てPjxを算出するものとする。なお、Q2、Q、の場
合も同様であり、その場合はQlをQ2、Q3に各々読
み変えてやれば良い。
先ず、ベクトル(Pc、Pi)をベクトル(Pc、Pr
、)の方向へ90度回転した位置に軸Q4を作る。第2
8図のフローチャートでは、ステップ77を参照する。
そのために、ベクトル(Pc、Pi)をユニットベクト
ル化したものをQiとすれば、Qi=Pi−Pc   
・・・・・・・・・・・・・・(328)ベクトル(P
c、Pr工)のユニットベクトル化したものはQlであ
るから、QiとQ□とに直交する軸B2は次のベクトル
積で得られる。
B 2 ” Q x X Q□・・・・・・・・・・・
・・・(329)これを用い、求める軸Q4は次のベク
トル積で得られる。
Q、=・B2XQj/ B2×Qi ・・・・・・・・
・・・・・・・(330)ここで、Qiを第1軸、Q4
を第2軸とする平面座標系を考え、QiからQ4方向へ
角度β□で回転した位置は、軸成分値で次の値となる。
第1軸成分値= cosβ1  ・・・・・・・・・・
・・・・・(331)第2軸成分値= sinβ1  
・・・・・・・・・・・・・・・(332)従って、円
周上の求める点Pjzは、次の式で得られる。第28図
のフローチャートでは、ステップ78を参照する。
P j、 = r (cosβ1)Qi+ r (si
nβ1)Q4+PC・・・・・・・・・・・・・・・(
333)後は、Pj□を用いて必要な値を出力すればよ
い。
次に、上記で得られた円C工、すなわち、基準軸Q1方
向の直線が、球面と交わる点Pr□と与えられた面上の
1つの点Piを通り、中心が球の中心Pcの円C1に直
交し、面上の1つの点Piを通り、中心が球の中心Pc
の円C2を作成する。この場合は、上記で得られたQi
を第1軸、B2をユニットベクトル化したQ5を第2軸
とする平面座標系を考える。先ず、Q、は次の式で得ら
れる。第28図のフローチャートでは、ステップ79を
参照する。なお、Q2、Q3の場合も同様であり、その
場合はQlをQ2、Q3に各々読み変えてやれば良い。
QS” (QI X Ql)/ l QI X Qll
 −・・・−−−(334)ここでQiを第1軸、Q5
を第2軸とする平面座標系で、QiからQ5方向へ角度
β2で回転した位置は、軸成分値で次の値となる。
第1軸成分値= cosβ2  ・・・・・・・・・・
・・・・・(335)第2軸成分値= sinβ2  
・・・・・・・・・・・・・・・(336)従って、円
周上の求める点Pj2は、次の式で得られる。第28図
のフローチャートでは、ステップ8oを参照する。
P j2= r (cosβ、)Qi+ r (sin
β2)QS+Pc後゛は、PJzを用いて必要な値を8
力すればよい。
[発明の効果] 表示されている点が、面上にあるかどうかを、見た目で
識別できるようになる。
【図面の簡単な説明】 第1図は本発明の関わる図形処理装置の構成とデータの
流れの一例を示す図。 第2図は画面に表示される形の例を示す図。 第3図は立体空間に存在する1つの面の例を示す図。 第4図は面上の1つの点を指定する情報として画面上の
1つの点を与えた例を示す図。 第5図は面を視線方向を用いて、画面に表示した場合の
例を示す図。 第6図は面上の1つの点(画面上の点を通り視線方向に
平行な直線が、与えられた面と交わる点)を決定する例
を示す図。 第7図は面の表面を表す特性的な線を、面上の面上の1
つの点に関る部分に付加して表示した例を示す図。 第8図は球面上に存在する面上の1つの点に、面の表面
を表す特性的な線を付加して表示した例を示す図。 第9図は、一般の四辺形上に存在する面上の1つの点に
、面の表面を表す特性的な線を付加した例を示す図。 第10図は、長方形の場合に与えられる情報の例を示す
図。 第11図は、長方形の場合に結果として得られる情報の
例を示す図。 第12図は、一般の四辺形の場合の考え方の例を示す図
。 第13図は、一般の四辺形の場合の考え方の例を示す図
。 第14図は、平行四辺形の例で変数の割り当てを示す図
。 第15図は、三角形に平行四辺形の場合の考え方を適用
したときの例を示す図。 第16図は、三角形に適用して、好ましくない考え方の
例を示す図。 第17図は、三角形に適用して、好ましくない考え方の
例を示す図。 第18図は、球面上に存在する面上の1つの点に、面の
表面を表す特性的な線を付加した例を示す図。 第19図は、面の表面を表す特性的な線に円を用いて付
加したとき基準軸を円が直立するように設定した例を示
す図。 第20図は1面の表面を表す特性的な線に円を用いて付
加したとき基準軸を円が左右へ傾くように設定した例を
示す図。 第21図は、3次元空間の円を、見た目の位置で左右へ
傾ける考え方の説明図。 第22図は、面の表面を表す特性的な線に円を用いて付
加したとき基準軸を円が手前方向、または後方向へ傾く
ように設定した例を示す図。 第23図は、3次元空間の円を、見た目の位置で前後へ
傾ける考え方の説明図。 第24図は、第1手段1の動作の例のフローチャト。 第25図は、長方形の場合のフローチャート。 第26図は、一般の四辺形の場合のフローチャート。 第27図は、平行四辺形の場合のフローチャート。 第28図は、球面の場合のフローチャートである。 符号の説明 1・・・第1手段、 2・・・第2手段、 3・・・処理部、 4・・・入力部、 5・・・出力部。 第20 第G図 足7■ 19図 第3■ ギ千〇 画面j/l直、 第9の 窩 1?圀 第19目 4■ 第25区 第2b口(む1) 第27閃 和gJ(ぞn2)

Claims (1)

  1. 【特許請求の範囲】 1、少なくとも、入力部と表示部を有する図形処理装置
    において、前記入力部から入力された立体空間に存在す
    る面を示す情報と面上の点を指定する情報と立体空間の
    面を視る方向を示す情報に基づいて、面上の点を得て、
    面の表面を表す特性的な線を求めて、前記面上の点に関
    る部分に付加して前記表示部に表示することを特徴とす
    る図形処理装置。 2、少なくとも、入力部と表示部を有する図形処理装置
    において、前記入力部から入力された、立体空間に存在
    する面を示す情報と、面上の点を指定する情報と、立体
    空間の面を視る方向を示す情報とを得て、前記立体空間
    に存在する面を示す情報と前記面上の点を指定する情報
    とから、面上の点を求めて、前記面上の点と前記立体空
    間に存在する面を示す情報と必要に応じて前記立体空間
    の面を見る方向を示す情報とから、面の表面を表す特性
    的な線を求め、前記面上の点に関る部分に付加して、前
    記立体空間の面を見る方向を示す情報を用いて前記表示
    部に表示することを特徴とする図形処理装置。
JP2193011A 1990-07-23 1990-07-23 図形処理装置 Pending JPH0478961A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2193011A JPH0478961A (ja) 1990-07-23 1990-07-23 図形処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2193011A JPH0478961A (ja) 1990-07-23 1990-07-23 図形処理装置

Publications (1)

Publication Number Publication Date
JPH0478961A true JPH0478961A (ja) 1992-03-12

Family

ID=16300713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2193011A Pending JPH0478961A (ja) 1990-07-23 1990-07-23 図形処理装置

Country Status (1)

Country Link
JP (1) JPH0478961A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008538276A (ja) * 2005-01-28 2008-10-23 ノヴァセラ・リミテッド 胚幹細胞培養のための方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58195977A (ja) * 1982-05-12 1983-11-15 Hitachi Ltd 三次元図形上の点の表示方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58195977A (ja) * 1982-05-12 1983-11-15 Hitachi Ltd 三次元図形上の点の表示方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008538276A (ja) * 2005-01-28 2008-10-23 ノヴァセラ・リミテッド 胚幹細胞培養のための方法

Similar Documents

Publication Publication Date Title
US6917370B2 (en) Interacting augmented reality and virtual reality
JP4262011B2 (ja) 画像提示方法及び装置
KR100869447B1 (ko) 3차원 모델링 없이 이미지 처리에 의해 타겟을 지시하는 장치 및 방법
US7123214B2 (en) Information processing method and apparatus
JP3530772B2 (ja) 複合現実感装置及び複合現実空間画像の生成方法
JP2000276613A (ja) 情報処理装置および情報処理方法
WO2015048906A1 (en) Augmented reality system and method for positioning and mapping
WO2002073954A1 (en) Image composition apparatus and method
WO2014174109A1 (en) Computer graphics presentation system and method
JP6836060B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US20230290081A1 (en) Virtual reality sharing method and system
JP7286968B2 (ja) 画像撮像支援装置及び画像撮像支援方法
KR20240040043A (ko) 정보처리 장치
JPH0463092A (ja) 3次元シーン表示システム
JP2005339377A (ja) 画像処理方法、画像処理装置
JP2006318095A (ja) 画像処理方法、画像処理装置
JPH0478961A (ja) 図形処理装置
US12073515B2 (en) Information processing apparatus, display system, display method, and non-transitory computer readable medium storing program
JP2025055830A (ja) 情報処理システム
JP2012105200A (ja) 3dコンテンツ表示装置、および3dコンテンツ表示方法
JP7694303B2 (ja) 表示装置、表示装置の制御方法およびプログラム
CN115311133A (zh) 一种图像处理方法、装置、电子设备及存储介质
WO2021182124A1 (ja) 情報処理装置、及び情報処理方法
TW200305829A (en) System and method of identifying a selected image object in a three-dimensional graphical environment
JP2020107152A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム