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