几何变换、观察变换与裁剪
理解齐次坐标,会写二维、三维基本变换矩阵并做复合变换,会做窗口到视区的变换,掌握 Cohen-Sutherland、Liang-Barsky 直线裁剪和多边形逐边裁剪,了解平行投影、透视投影和观察坐标系。
本节导读
本节讲图形学大纲第二部分中的窗口视图变换、二维图形裁剪、二维和三维几何变换,以及第三部分中的投影变换、观察空间和三维裁剪。
这一节是图形学里计算最集中的地方:写变换矩阵、算复合变换后的坐标、算窗口到视区的映射、求裁剪后的线段端点。先记住一条约定:本课把点写成行向量,用 [x y 1] 右乘变换矩阵,复合变换时先做的变换写在左边;有的教材把点写成列向量、矩阵左乘,矩阵要转置,复合的顺序也反过来,做题时以题目或教材的约定为准。
齐次坐标
用 n+1 维向量表示 n 维点的方法叫齐次坐标:二维点 (x,y) 写成 (hx,hy,h),h=0;取 h=1 叫规范化齐次坐标。反过来,齐次坐标 (X,Y,h) 表示的点是 (hX,hY)。引入齐次坐标后,平移也能写成矩阵乘法,各种变换就可以统一用矩阵相乘来复合;三维变换相应地使用 4×4 矩阵。
二维几何变换
平移、比例和旋转(绕原点逆时针转 θ)的矩阵为:
T=10tx01ty001,S=sx000sy0001,R=cosθ−sinθ0sinθcosθ0001
对称变换:关于 x 轴对称把 y 变号,关于 y 轴对称把 x 变号,关于原点对称两者都变号,关于直线 y=x 对称交换 x 和 y。错切变换为 x′=x+cy,y′=bx+y。一般的 3×3 变换矩阵中,左上 2×2 子块实现比例、旋转、对称和错切,第三行前两个元素实现平移。
复合变换就是把基本变换矩阵按先后顺序相乘。例如绕任意点 (xr,yr) 旋转:先平移 (−xr,−yr) 使该点移到原点,再绕原点旋转,最后平移 (xr,yr) 回去,复合矩阵为 T(−xr,−yr)⋅R(θ)⋅T(xr,yr)。以任意点为不动点的比例变换同理。矩阵乘法不满足交换律,顺序不能随意调换。
三维几何变换
三维平移矩阵的第四行为 [tx ty tz 1],比例矩阵为 diag(sx,sy,sz,1)。在右手坐标系中,绕坐标轴逆时针旋转 θ(从该轴正向朝原点看)的矩阵为:
Rx=10000cosθ−sinθ00sinθcosθ00001,Rz=cosθ−sinθ00sinθcosθ0000100001
绕 y 轴旋转时,x′=xcosθ+zsinθ,z′=−xsinθ+zcosθ,矩阵中正弦项的符号位置与另外两个相反。绕任意轴旋转可以分解为:平移使轴过原点,旋转使轴与某坐标轴重合,绕该坐标轴旋转,再逆向做前面的变换。
窗口视图变换
窗口是用户坐标系中要显示的矩形区域,视区(视口)是屏幕上用来显示的矩形区域。把窗口中的点 (xw,yw) 映射到视区 (xv,yv):
xv=xvl+(xw−xwl)⋅xwr−xwlxvr−xvl,yv=yvb+(yw−ywb)⋅ywt−ywbyvt−yvb
下标 l、r、b、t 分别表示左、右、下、上边界。它相当于先平移窗口左下角到原点,再做比例变换,最后平移到视区左下角。两个方向的比例不相等时图形会变形。
二维裁剪
Cohen-Sutherland 编码裁剪:用窗口的四条边把平面分成 9 个区域,每个端点得到 4 位编码,每一位表示是否在窗口某条边的外侧(本课按「上、下、右、左」的次序,各位次序以教材为准)。两端点编码都为 0000,线段完全在窗口内,直接保留;两编码按位与不为 0,两端点在同一条边的外侧,直接舍弃;否则求线段与某条边界的交点,舍去外侧部分后重复判断。中点分割裁剪用反复取中点代替求交。
本节后面还有约 2210 字:报名学员看全文
每门课前 10 节免费看全文;从第 11 节起,完整教程要报名后由顾问在后台为你的账号开通才能看。
题库账号可以直接登录,但第 11 节起的完整教程要报名后由后台开通才能看。
学完练一练
按本节考点从本课的课后练习里抽题(每次 10 道以内),做完看解析、错题自动进错题本。第 11 节起的课后练习报名学员才能练。
本节内容由 AI 辅助编写,配图由 AI 生成,仅供备考参考;考试要求以《全国各类成人高等学校招生考试大纲(2024 年版)》及浙江省教育考试院当年公布为准。