三维观察(计算机图形学)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009-2010-2:CG:SCUEC
16
例子:空间直线的裁剪
1)设线段的两个端点为 参数方程为: 和 ,它的
2)当视见体为棱台时把上式代 入 ,如右图所示,线段和 平面 的交点Q对应的参 数值t为
2009-2010-2:CG:SCUEC
17
窗口到视口的变换
窗口由点(WL,WB)和(WR,WT)决定。窗口中 的图形应该成比例地变到视口。点(xp, yp)和 (xv, yv)应满足下列关系是
x a 11 y a 21 z a 31 a 12 a 22 a 32 a 13 x x 0 a 23 y y 0 a 33 z z 0
(%%%)
如何计算
(xo ,
( y o , z o ) 、 a 11 , a 12 , a 13 )
2009-2010-2:CG:SCUEC
14
透视投影视见体的规范化
Step 3:进行单位化,变换矩阵为T3
百度文库
因此由棱台视见体到规范化棱台视见体的变换为
2009-2010-2:CG:SCUEC
15
用三维规范体裁剪
将Sutherland-Cohen算法推广到三维,对于空间一点 可以得到区域码从右到左对应的二进制位 bit1=1,如果 : bit2=1,如果: bit3=1,如果: bit4=1,如果: bit5=1,如果: Bit6=1,如果:
(5.16)
(5.13)式至(5.16)式合并起来其中T=T4T3T2T1是一个3×4矩阵。
( x , y , q ) T T T T ( x , y , z ,1) T ( x , y , z ,1)
T T sq sq s 4 3 2 1
T
2009-2010-2:CG:SCUEC
20
投影到屏幕上坐标的计算
9
平行投影视见体的规范化
假设图A中 在坐标系 则转换步骤和图示如下: Step 1:把点P1移到坐标原点, 其变换矩阵为S1 中的坐标为 ,
2009-2010-2:CG:SCUEC
10
平行投影视见体的规范化
Step 2:经过对平行六面体作方向切变,使它成为一个 长方体,由图a和b可得切变矩阵S2
z c a1 4 x c a 3 4 z c a 24 y c a 34 z c a 34
其中 a i 4 ( a i 1 x 0 a i 2 y 0 a i 3 z 0 ), i 1, 2 , 3
x y z 1
a1 1 a 3 1 a 21 a31 0
xd zd yd zd
a1 2 a 3 2 a 22 a32
xd zd yd zd
a1 3 a 3 3 a 23 a33
xd zd yd zd
a1 4 a 3 4 a 24 a34
0
0
1
投影平面的指定
确定新坐标系:
1. 2. 3. 过o 点沿N方向的射线定义为o z 轴。 给定向量U(xu, yu, zu),此向量在投影平面上的垂直投影所指的方 向即为o y轴的方向。 o x 轴为与o y 轴和o z 轴正交的射线。
2009-2010-2:CG:SCUEC
2
坐标变换公式
设 ( x o , y o , z o ) 是点 o 在坐标系oxyz中的坐标, x , y o o 和o z 轴的单位方向向量为 ( a 11 , a 12 , a 13 ) 、 ( a 21 , a 22 , a 23 ) 和 ( a 31 , a 32 , a 33 ) ,那么从坐标系oxyz到 o x y z 的变换是
透视投影视见体的规范化
和平行投影的变换相似,通过三步变换可把图B中 的棱台变成图 (b)中的棱台.
Step 1:把视点( )移至坐 标原点,其变换矩阵为T1
2009-2010-2:CG:SCUEC
13
透视投影视见体的规范化
Step 2:分别做沿 和 方向的切变,把Step1得到的 棱台变成正棱台,由图5.15可知这个变换应为T2
坐标系oxyz中任一点(x, y, z),可求得它在投影平面上的投 影点 ( x p , y p )。
x p xq q, y p yq q
2009-2010-2:CG:SCUEC
6
投影平面为任意平面的平行投影
xd 1 0 0 zd xq y yd q 0 0 1 q zd 0 0 0 a1 1 a 21 a 31 0 a1 2 a 22 a 32 0 a1 3 a 23 a 33 0 a1 4 a 24 a 34 1 x y z 1
(5.18)
如果不需要作投影变换,例如显示对象本身是二 维的,或是平行投影,那么式(5.18)可直接写成
x s x sq , y s y sq
21
2009-2010-2:CG:SCUEC
计算机图形学
结 束
(5.12) 其中
C
VT VB WT WB
, D V B C W B
齐次坐标形式为
x vq y vq qv
A 0 0
0 C 0
B xq D yq 1 q
其中
xq xw q,
yq ywq
2009-2010-2:CG:SCUEC
19
连续变换的处理
设在世界坐标系中的变换合并成一个4×4矩阵T1, 变换为
( x , y , z ,1) T ( x , y , z ,1)
T 1
T
T
(5.13)
( x , y , q ) T ( x , y , z ,1)
计算机图形学
第五章 三维空间的观察
投影平面是任意平面的问题
在坐标系oxyz中来讨论投影平面是任意平面的问题。
为了给出一个投影平面,我们 需要给定一个参考点R(xr, yr, zr), 投影平面的法线方向N(xn, yn, zn), 和一个常数 d。过点R沿N方向作 射线,在射线上取 o 点使该点与R 点距离为d,则投影平面为过 o 点 并且和N垂直的一个平面。调整R 和N可以方便的改变投影平面的位 置和方向。
xd zd yd zd
x y z 1
x p xq q,
y p yq q
7
2009-2010-2:CG:SCUEC
视见体到规范视见体的变换
要进行三维观察,必须在世界坐标系中给定一个视 见体,其视见体如图A和B所示:
图A
z c a1 1 x c a 3 1 z c a 21 y c a 31 a 31
z c a1 2 x c a 3 2 z c a 22 y c a 32 a 32
z c a1 3 x c a 3 3 z c a 23 y c a 33 a 33
i ( a 11 , a 12 , a 13 ) ( b1 , b 2 , b 3 ) b1 b 2 b 3
2 2 2
N、U与N×N的关系
o y 轴的单位方向向量应是 o x 和
o 轴的单位向量的向量积, z
因此
j ( a 21 , a 22 , a 23 ) ( a13 a 32 a 12 a 33 , a11 a 33 a 13 a 31 , a 12 a 31 a11 a 32 )
( x sq , y sq , q s ) T 4 T3 T 2 T1 ( x , y , z ,1) T ( x , y , z ,1)
T T T
(5.17)
在对图形变换以前,先要算出T,输出每一个图形 元素时,只要作一次矩阵向量乘法式(5.17),就得 点在屏幕坐标系中的坐标.
x s x sq q s , y s y sq q s
2009-2010-2:CG:SCUEC
11
平行投影视见体的规范化
Step 3:把Step的长方体变为规范长方体,变换矩阵为s3;
Step 4:分别沿 和 轴的负方向平移一个单位的变换 矩阵为s4.
因此由任意平行六面体视见体到规范化长方体视见体的变换为:
2009-2010-2:CG:SCUEC
12
2 2
2
2009-2010-2:CG:SCUEC
4
计算x0, y0, z0和 aij(i, j =1, 2, 3)的方法
o x 轴和向量U×N方向一致如右图,设
x U N xu xn y yu yn z z u b1 x b 2 y b 3 z zn
其中x, y和z分别为ox, oy, oz轴的单位方向向量,则
2009-2010-2:CG:SCUEC
5
坐标变换公式
把式(%%%)转换成齐次形式代入式(&&&)得
xq zc y 0 q q 0 0 zc 0 xc yc 1 0 0 zc a1 1 a 21 a 31 0 a1 2 a 22 a 32 0 a1 3 a 23 a 33 0 a1 4 a 24 a34 1 x y z 1
( 、a 21 , a 22 , a 23 ) 和
( a 31 , a 32 , a 33 )
?
2009-2010-2:CG:SCUEC
3
计算x0, y0, z0和 aij(i, j =1, 2, 3)的方法
x0 xr d xn y0 yr d yn z0 zr d zn xn yn zn
2 2 2 2 2
xn yn zn xn yn zn
2 2 2
2
i, j和k分别为 o x , o y , o z 轴的单位方向向量 求解 o z 轴单位向量,和N方向一致,故有
k ( a 31 , a 32 , a 33 ) ( x n , y n , z n )
xn yn zn
平行投影时的视见体
图B
透视投影时的视见体
8
2009-2010-2:CG:SCUEC
投影方程
平行投影时,规范视见体是由以下平面方程构成的 长方体如图 ( a)所示 透视投影时,规范视见体可以是由以下平面方程构 成的棱台如图 (b)所示
平行投影(a)和透视投影(b)的规范化视见体
2009-2010-2:CG:SCUEC
q q 2
T2是一个3×4的矩阵,投影变换是
T
(5.14)
T3是3×3矩阵,窗口至视区的变换是
(x , y ,q ) T (x , y ,q)
T vq vq v 3 q q
T
T
(5.15)
T
到物理设备坐标的变换式为
(x , y ,q ) T (x , y ,q )
sq sq s 4 vq vq v
xp WL WR WL xv V L VR VL
yp WB WT WB
yv V B VT VB
2009-2010-2:CG:SCUEC
18
窗口到视口的变换
整理得
xv=Axp + B yv=Cyp + D
A VR VL WR WL , B V L A W L