5章 3次元形状を2次元面に投影する

Download Report

Transcript 5章 3次元形状を2次元面に投影する

5章
3次元形状を2次元面に投影する
3次元空間内に定義した形状を,2次元面
上(ディスプレイのスクリーン面,プリンタ
の紙面など)に投影して表示するために必
要になる変換について説明する.
5.1 同次座標と射影変換
1. 同次座標
直交座標系の座標
( x, y , z )
同次座標(homogeneous coordinate)
( x, y, z,1)
(W , X , Y , Z )
x
X
,
W
y
Y
,
W
z
Z
W
W=0の場合,(0,X,Y,Z)を[X,Y,Z]方向の
無限遠点を表すものとする.
同次座標による変換行列


CGの最も基本概念の1つに同次座標がある.
同次座標が必要な背景





平行移動,回転,スケーリング変換を一貫した方法で実現したい.すべて
行列の乗算で実現できれば都合がよい.
平行移動の変換式は行列の乗算ではなく,行列の和となっている.
同次座標を用いれば,変換の処理を数学的に統一できる.
同次座標とは,n次元空間の点を(n+1)の座標で表す.(n+1)番目
の座標はw座標とよぶ.
たとえば,3次元空間の点(x,y,z)を(x,y,z,1)で書き直せば,点(x,
y,z)の同次座標となる.
同次座標
3次元空間
( x, y, z )  ( x, y, z,1)
x y z
x y z
( , , )  ( , , ,1)  ( x, y, z, w)
w w w
w w w
5.1 同次座標と射影変換
2. 射影変換
同次座標(W,X,Y,Z)の空間を,射影空間(projective space)という.
(W , X , Y , Z )  (W ' , X ' , Y ', Z ' )
[W ' , X ' , Y ', Z ' ][W , X , Y , Z ] [ A]
この変換のことを,射影変換(projective transformation)という.
W’=Wの場合,特に,アフィン変換(affine transformation)という.
5.2 投影変換
1. 投影の一般式
B ( x, y , z )
y
OP  OE    EB
x
,
y,

z ,  xe
ye
ze    x  xe
投影面をxy平面とすると,z’=0であるから
,
,
,
P( x , y , z )
z
0
x
z ,  ze   ( z  ze )  0
ze
 
z  ze
x ,  xe   ( x  xe ) 
E ( xe , ye , ze )
xe z  ze x
z  ze
ye z  z e y
y  ye   ( y  ye ) 
z  ze
,
y  ye
z  ze 
5.2 投影変換
2. 射影変換による表現
同次座標で考える.
任意の点B
視点E
投影像の点P
(W , X , Y , Z )
x  X /W , y  Y /W , z  Z /W
(We , X e , Ye , Z e )
xe  X e / We , ye  Ye / We , ze  Z e / We
(W ' , X ' , Y ' , Z ' )
x , X ' / W ' , y , Y ' / W ' , z , Z ' / W '
x ,  X ' / W '  ( Z X e  Z e X ) /( ZWe  Z eW )
y ,  Y ' / W '  ( Z Ye  Z eY ) /( ZWe  Z eW )
Z’=0であるから,上式を行列表現すると
W
'
X' Y'
0
 Z e 0
 0 Z
0
e
'

Z  W X Y Z 
 0
0  Ze

 We X e Ye

0
0
0

0
5.2 投影変換
2. 射影変換による表現

透視投影(perspective projection)と平行投影(parallel
projection)
投影面
投影中心
投影線
透視投影
投影中心が
無限遠
平行投影
5.3 平行投影
投影方向 z軸方向,投影面 xy平面
空間内の点B(x,y,z),平行投影された点P(x’,y’,z’)
x
,
y,

z , 1  x
y
1
0
z 1 
0

0
0 0 0
1 0 0
0 0 0

0 0 1
W
'
X' Y'

Z '  W
X
Y
We  X e  Ye  0, Z e  0
W
'
X' Y'

Z '  W
X
Y
 Z e
 0
Z 
 0

 0
0
0
 Ze
0
0
 Ze
0
0
0
0
0

0
W '   Z eW , X '   Z e X ,
x ,  X ' / W '   Z e X /  Z eW  x
Y '   Z eY , Z '  0
y ,  Y ' / W '   Z eY /  Z eW  y
z ,  Z ' / W '  0 /  Z eW  0
 Z e
 0
Z 
 0

 We
0
0
 Ze
0
0
 Ze
Xe
Ye
0
0
0

0
5.4 透視投影
視点 E(0,0,h),投影面 xy平面,空間内の点 B(x,y,z),投影された点 P(x’,y’,z’)
W
'
X' Y'

Z '  W
X
Y
 Z e
 0
Z 
 0

 We
0
0
 Ze
0
0
 Ze
Xe
Ye
0
0
0

0
W
'
X' Y'

Z '  W
We  1
W '  WZ e  ZWe
X '   XZ e  ZX e
Y '  YZ e  ZY
Z' 0
xe  X e / We  0
ye  Ye / We  0
ze  Z e / We  h
X e  0, Ye  0, Z e  hWe
X
Y
0
 h 0
 0 h 0
Z 
0
0 h

0
0
1
0
0
0

0