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