第5章二维几何变换

Download Report

Transcript 第5章二维几何变换

课程内容进展
综述
‘图形学’和‘图形系统’
建模
曲线曲面 实体造型
观察
观察流水线 裁剪
显示
可见面判别
其它
UI 动画 ……
光照 面绘制
坐标系统
基本图元
几何变换
第三讲 几何变换
Geometric
Transformations
第三讲主要内容

基本变换:平移,缩放,旋转
矩阵表示和齐次坐标,逆变换
复合变换
其它变换:反射,错切

坐标系间的变换

OpenGL几何变换相关函数

二维几何变换的光栅方法

仿射变换



二维/三维
第三讲小结

基本变换类型及其变换矩阵

坐标变换矩阵的使用(效率、顺序)

用简单变换组合成复杂变换的方法

二维/三维坐标系的变换

给出将任意梯形变换成等腰梯形的变换矩阵。

假设坐标系如图
y
t
y
h
45
b
(b>t)
a
x
x
(1) 原梯形左下顶点移到坐标系原点
y
(2) 错切成等腰梯形
y
t
t
h
h
b
b
x
x
y
t*a/b
y
t*a/b
h
45
a
(3) X向比例变换使底边为a
a
(4) y向比例变换使斜角为45 °
End of 第三讲
二维平移
将物体沿直线路径从一个坐标位置到另一个坐标位置
不产生变形,属于刚体变换
P’ = P + T
--各类图元的平移均可通过
点的平移来实现。
--删除旧点,绘制新点
二维旋转
将物体沿圆弧路径重定位
相对于原点的旋转
P’ = R· P
P’ =
P
二维缩放
改变物体的尺寸,位置也随之改变
平移P’ = P + T
旋转P’ = R· P
P’ =
P
缩放P’ = S· P
相对于原点的缩放
P’ = S· P
齐次坐标的引入
(X,Y)
(Xh,Yh,h)
(hX,hY,h)
(X,Y,1)
平移
旋转
缩放
P’ = M· P
逆变换
复合变换

复合平移

复合缩放

复合旋转
不同类型变换的复合——用途?计算方法?
相对于非原点的旋转和缩放
绕任意点的旋转

平移物体--使基准点和坐标原点重合

绕坐标原点旋转

反向平移--使基准点回到原始位置
=
通用固定点缩放

平移物体--使固定点与坐标原点重合

相对于坐标原点缩放

反向平移--将物体移回原始位置
通用定向缩放
s2
s1
复合变换的用途和特点

任意仿射变换都可以由若干次基本变换
有序组合而成

顺序不同,变换结果可能不同
复合变换的计算效率

P’=M3M2M1P

M=M3M2M1
3x4 次乘法,3x4次加法
?
一次使用?
多次使用?

P’=MP
4次乘法,4次加法
反射:物体的镜像
Y轴反射
X轴反射
绕Y轴旋转180度
绕X轴旋转180度
原点反射
绕原点在XY平面上旋转180度
任意直线反射
任意点反射
错切:形状被拉伸变化

标准X向错切
shx=0.5

参考其它水平线的X向错切
shx=0.5, yref = -1

Y向错切(可参考竖直线)
shx=0, shy = 1
shx=0.5, shy = 1
shx=0.5, shy =0

XY向错切(可同时参考水平
和竖直线)
已知XY坐标系下坐标
二维坐标系的变换
求X’Y’坐标系下坐标
x0,y0

二维坐标系的变换-单位向量法
u
三维平移和缩放
平移
缩放
(相对于
原点)
绕坐标轴的三维旋转
(y)
(y)
点P(xr,yr,zr)绕Z轴旋转:
即在Z=zr这个平面上旋转
(x)
(z)
(x)
(z)
•绕Z轴旋转
•绕X轴旋转
•绕Y轴旋转
x’
y’
z’ =
1
1 0
0
0
0 cos -sin 0
0 sin cos 0
0 0
0 1
x’
y’
z’ =
1
cos 0 sin 0
0
1
0
0
-sin 0 cos 0
0
0
0
1
x
y
z
1
x
y
z
1
绕任意轴旋转
M=T-1.Rx-1.Ry-1.Rz().Ry.Rx.T
平移使旋转轴过原点
T
绕Z轴旋转指定角 
Rz()
绕X轴旋转使旋转轴
落到XZ平面 Rx
绕Y轴旋转使旋转轴
与Z轴重合 Ry
Ry-1
Rx-1
T-1
其它三维变换

反射
–
–
–

点反射
轴反射
平面反射
(原点)(非原点)
绕轴转180°
坐标平面,非坐标平面
错切
–
Z轴错切
Z

改变X、Y坐标

Z坐标保持不变
x’=x+shzxz
y’=y+shzyz
Z
Z轴错切
Shzx=1
Shzy=1
三维坐标系的变换
T=

1
0
0
0
0
1
0
0
0 -x0
0 -y0
1 -z0
0 1
复合变换 P’=R·T·P
已知XYZ坐标系下坐标
求X’Y’Z’坐标系下坐标
OpenGL几何变换相关函数
OpenGL几何变换相关函数
二维几何变换的光栅方法

直接对帧缓存内的像素块操作,从而高效地实
现一些简单几何变换

平移--原像素块的隐藏,新像素块的设置
90度倍数的旋转--像素块矩阵的行列互换
非90度倍数的旋转 像素块变换和映射,
计算平均覆盖亮度(颜色)
像素块的缩放



仿射变换

仿射变换形式为

特点:
–
平行线转换成平行线,有限点转换成有限点
–
平移、旋转、缩放、反射和错切是仿射变换的特例
–
任何仿射变换总可以表示为这五种变换的组合
绕x轴旋转
绕y轴旋转
Step2:将任意轴旋转两次后和z轴重合