第09部分_计算机图形学_图形变换_050501

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图形变换
Ray ray@
内 容
• • • • 图形变换的数学基础 窗口视窗变换 图形的几何变换 形体的投影变换
图形变换的数学基础
• 矢量运算 • 矩阵运算 • 齐次坐标
矢量运算
和 点积
V1 + V2 = ( x1 + x2 , y1 + y2 , z1 + z 2 ) V1 ⋅ V2 = x1 × x2 + y1 × y2 + z1 × z 2
sx = s y sx = s y = 1
sx ≠ s y
对称变换
a d 0 ′ y′ 1] = [x y 1]b e 0 [x 0 0 1 a = −1 e = 1 b=d =0 a = 1 e = −1 b=d =0 a = −1 e = −1 b=d =0 a=e=0 b = d =1 b = d = −1 a=e=0
矩阵运算
a11 + b11 加 a +b 21 21 A+ B = L am1 + bm1 a12 + b12 a22 + b22 L am 2 + bm 2
ka12 ka22 L kam 2
a1m + b1m L a2 m + b2 m L L L amm + bmm L
Tt = Tt1Tt 2
• • • • •
复合平移 复合比例 复合旋转 相对于点的比例变换 相对于点的旋转变换
复合变换
y=mx+b
逆 平 移 平 移
逆 旋 转 反 射
旋 转
复合变换
• 相对于点的旋转变换
1 Trf = 0 − x f 0 1 − yf 0 cos θ 0 − sin θ 1 0 sin θ cos θ 0 0 1 0 0 1 x f 0 1 yf 0 0 1
数乘
ka11 ka 21 kA = L kam1
L ka1m L ka2 m L L L kamm
矩阵 A ⋅ B = a11 a12 a 21 a22 乘
a11b11 + a12b21 + a13b31 = a21b11 + a22b21 + a23b31
投影平面 投影平面
投影方向
投影 方向
正投影
斜投影
正平行投影(三视图)
• 依据投影平面法矢量方向,正投影分为三视图和正轴 侧图两种。
– 当投影平面与某一坐标轴垂直时,得到的投影称为三视图(包 括前视图、侧视图和顶(俯)视图) 。 – 当投影平面不与某一坐标轴垂直时,形成的投影称为正轴侧 图,用来显示物体多个侧面。
0 1 0 cosθ 0 − sin θ 0 0
0 sin θ cosθ 0
−1 x
0 0 0 1
cosθ 0 sin θ 0
0 − s
0 0 0 1
cosθ − sin θ 0 0
• 正轴侧图
– 投影平面三个法向量模|nx|、|ny|和|nz|全相等时,正轴侧图为 等轴侧; – 其中两个相等时为正二侧; – 各不相同时为正三侧。 – 最常用的是等轴测投影。
斜投影
• 斜投影向量由两个角α和β 给定。
– 点(x,y,z)投影到观察平面的 (x,y,z) (xp,yp) (xp,yp)位置; – 平面上正投影坐标是(x,y); – 从(x,y,z)到(xp,yp)的斜投影线 与投影平面中的点(xp,yp)和 (x,y)的连线交成角α; – 点(xp,yp)和(x,y)的连线与观 察平面x轴的夹角为β。
P2 观察平面 P1 P1’ 投影 参考点
P2‘
透视投影
灭点
• 当物体用透视变换方程投影到观察 平面上时,物体中不与观察平面平 行的任一族平行线经过透视投影后 收敛于一点,此点称为灭点。
– 三维空间中存在无数簇平行线,从而 灭点也有无数个。
• 平行于某一坐标轴的平行线的灭点 称为主灭点。
– 用投影平面的方向控制主灭点数目(一 个、二个或三个),且据此将透视投影 分类为一点、二点或三点投影。 – 投影中主灭点数目由与观察平面相交 的主轴数目来决定,主灭点数最多为 三个。
缩放、旋转 对称、错切
[c
f]
平移
[i ]
整体缩放
平移变换
[x′
y′ 1] = [x 1 y 1] 0 Tx 0 1 Ty 0 0 1
= x + Tx
[
y + Ty 1
]
比例变换
[x′
y ′ 1] = [x sx 0 y 1] 0 0 sy 0 0 0 1
sx 0 z 1] 0 0 0 sy 0 0 0 0 sz 0 0 0 0 1
[x′
y′ z ′ 1] = [x
y
绕坐标轴旋转变换
[x′
y′ z ′ 1] = [x y 0 1 0 cos θ z 1] 0 − sin θ 0 0
cosθ − sin θ 0 0 sin θ cosθ 0 0
(α + β ) A = αA + βA
乘法结合律 乘对加分配律 乘法交换律
A ⋅ ( B ⋅ C ) = ( A ⋅ B) ⋅ C
( A + B )C = AB + AC
A⋅ B = B ⋅ A
不满足!
齐次坐标
所谓齐次坐标表示法就是用n+1维向量表 示一个n维向量。 (x,y) → (hx,hy,h) 使用齐次坐标表示法的优点: • 可用矩阵运算实现坐标变换 • 可以表示无穷远点
a43 ]
缩放、旋转 对称、错切 平移
a14 a 24 a34
[a41
[a44 ]
整体缩放
平移变换
1 0 z 1] 0 Tx 0 1 0 Ty 0 0 1 Tz 0 0 0 1
[x′
y′ z ′ 1] = [x
y
比例变换
三维图形的几何变换
T3 D a11 a 21 = a31 a41 a12 a22 a32 a42 a13 a23 a33 a43 a14 a24 a34 a44
a11 a 21 a31
a12 a22 a32
a42
a13 a23 a33
(xp,yp,zp) zvp zprp Zv
观察平面
x h 1 y 0 h = z h 0 h 0
0
0
1 0 0 − z vp d p 0 −1 d p
x 0 y z vp ( z prp d p ) z z prp d p 1 0
x p = x (z prp − z vp ) (z prp − z ) = x d p (z prp − z ) y p = y (z prp − z vp ) (z prp − z ) = y d p (z prp − z )
[ [
] [ ] [
] ]
其中:dp=zprp-zvp是投影参考点到观察平面的距离。 其中:dp=zprp-zvp是投影参考点到观察平面的距离。 P=(x,y,z)
长 | V |= (V ⋅V )1/ 2 = ( x × x + y × y + z × z )1/ 2 1 1 1 1 2 1 2 1 2 度 y1 z1 z1 x1 x1 y1 叉积 V1 × V2 = y 2 z 2 z 2 x 2 x2 y 2
= ( y1 z 2 − y2 z1 z1 x2 − z 2 x1 x1 y2 − x2 y1 )
旋转变换
cos θ − sin θ y 1] 0 sin θ cos θ 0 0 0 1
[x′
y′ 1] = [x
错切变换
[x′
d =0 b=0 d ≠0 b≠0
y′ 1] = [x 1 d 0 b 1 0 y 1] 0 0 1
复合变换
斜投影
1 0 0 0 0 L1 cos β 1 L1 cos β 0 0 0 0
L1 = 1 tan α
0 0 0 1
(x,y,z)
Yv
(xp,yp) α β Xv
观察 平面
(x,y) Zv
假设投影参考点在沿zr轴的位置zprp处,且设置 观察平面在zvp处,可以写出透视变换方程:
sin θ cosθ 0 0
0 0 0 0 1 0 0 1
R
R
Rz
投影变换分类
平面几何投影 透视投影
观察平面 P1 P1’ 投影 参考点
平行投影 正投影 斜投影
P2‘ P2
三视图
正轴测
斜等测
P1
斜二测
观察平面 P1’
P2
P2‘
平行投影
• 用定义投影线方向的投影向量给出一个 平行投影。 – 当投影(向量)垂直于观察平面时,得到 正平行投影(正投影)。 – 否则,为斜平行投影(斜投影)。
图形的几何变换参数图形的几何变换二维图形的几何变换缩放旋转对称错切平移整体缩放平移变换cossinsincos复合变换ymxbcossinsincos相对于点的旋转变换三维图形的几何变换44434241343332312423222114131211333231232221131211342414缩放旋转对称错切整体缩放434241平移平移变换cossinsincoscossinsincoscossinsincoscossinsincos投影变换分类观察平面观察平面pp11pp22pp11pp22投影投影参考点参考点观察平面观察平面pp11pp22pp11pp22平面几何投影平面几何投影透视投影透视投影平行投影平行投影斜投影斜投影正投影正投影三视图三视图正轴测正轴测平行投影投影平面投影平面投影方向投影方向正投影正投影用定义投影线方向的投影向量给出一个平行投影
( A ⋅ B)T = B T ⋅ AT A = AT
矩阵运算的基本性质
加法交换律 加法结合律 数乘结合律 数乘分配律
A+ B = B + A
A + ( B + C ) = ( A + B) + C
α ( A ⋅ B ) = (αA) ⋅ B α ( βA) = (αβ ) A α ( A + B ) = αA + αB
转置矩阵
a11 a T 12 A = L a1m
a21 a22 L a2 m
L am1 L am 2 L L L amm
转置矩阵的性质
(1)
(A ) = A
T T T T T
(2) ( A + B ) = A + B (αA)T = αAT (3) (4) 对称矩阵
b11 b12 a13 b21 b22 a23 b31 b32
a11b12 + a12b22 + a13b32 a21b12 + a22b22 + a23b32
零矩阵 单位阵 逆矩阵
0 m×n
In
A−1
A⋅ I = I ⋅ A = A
AA−1 = A−1 A = I
0 sin θ cos θ 0
0 0 0 0 1 0 0 1
0 0 0 1
cosθ 0 sin θ 0
0 − sin θ 1 0 0 cosθ 0 0
0 0 0 1
绕任意轴旋转变换
− − Rab = TA Rx R y Rz R y 1 Rx 1TA−1
例:n+1维中,h=0的齐次坐标实际上表示 了一个n维无穷远点。
图形的几何变换
• 二维图形的几何变换 • 三维图形的几何变换 • 参数图形的几何变换
二维图形的几何变换
T2 D
a d b e g h
a = b c
d e f
g h i
(x,y,z)
Yv
(xp,yp) α β Xv
观察 平面
(x,y) Zv
透视投影
• 对透视投影,物体位置沿收敛于某一点的 直线变换到观察平面上,此点称为投影参 考点(或投影中心)。 • 物体的投影视图由计算投影线与观察平面 之交点而得。 • 透视投影生成真实感视图但不保持相关比 例。 • 对同样大小的物体,离开投影平面较远的 物体其投影图像比较近物体的图像要小。
Yv (xp,yp) α β 观察 平面 (x,y) Zv Xv
• L1=0 (投射角α为90°)时得正投影; • L1为非零值时产生斜投影。 • α通常的值为tanα=1,且所得视图称为斜 等测投影。 • 所有与投影平面垂直的直线在投影中长 度不变。 • 投影角α满足tanα=2时,所生成视图称斜 二测投影。 • 对于这样的角(≈63.4°),与观察面垂直 的线投影成一半长度。 • β通常选择为30°或45°,这将显示出一 物体的前面、侧面和顶面(或底面)的联合 视图。
相关文档
最新文档