当前位置:文档之家› 图形的几何变换

图形的几何变换


平移变换的逆变换:反方向平移
旋转变换的逆变换:反方向旋转
缩放变换(sx,sy)逆变换:缩放变换(1/sx,1/sy) 镜面反射变换的逆变换与原变换一样
6.复合变换 又称级联变换,指对图形进行一次以上的几何 变换。 复合变换由若干个基本变换组合而成,变换结 果矩阵是各步骤变换矩阵相乘
任何一个线性变换都可以分解为上述几类基本变换。
O
cos ø -sin ø 0
sin ø cos ø 0
0 0 1
S’(x´,y´) θ S(x,y) α
如何推导?
点S(x,y)绕坐标系原点O顺时针旋转ø角,得到点S’(x’,y’). cos ø -sin ø 0 (x’ y’ 1)=(x y 1) sin ø cos ø 0 0 0 1
Y
X 物体上每个点旋转相同的角度
C(4,2) A(1,1) (0,0)
相对坐 标原点 缩放变 换。当 a=2,d= 2时,变 换后的 各顶点 坐标
X
如果以A(1,1)为缩放中心的缩放变换呢?
2.对称(反射、镜像)变换
变换的效果完全和平面镜成像一致。
(1)关于X轴对称: X*=X,Y*= -Y
(X* Y* 1 1)=(X Y 1) 0 0 0 -1 0 0 0 1
(2)关于Y轴对称:
X*= -X,Y*= Y
-1
(X* Y* 1)=(X Y 1) 0 0 0 1 0 0 0 1
对称变换
(3) 关于原点对称: X*= -X,Y*= -Y
(X* Y* 1)=(X Y
-1 1) 0 0 0 1) 1 0 0 1) - 1 0 0 -1 0 1 0 0 -1 0 0 0 0 1 0 0 1 0 0 1
y -z 1]=[x y z 1]
–对称于YOZ平面 [x' y' z'1] = [-x y z 1]=[x y z 1]
1 0 0 0 1 0 0 0
0 1 0 0 1 0 0
0 0 0 0 0 1 0
0 -1
0 0 0 1 0 0 0 1 0 0 0 1
1) 当b=0 (c≠0)时, (x* y* 1)=(x+cy y 1):沿x方向错切,图 形的y坐标不变; •当c>0:图 形沿+x方向 倾斜一个角 度。 ABCD→ A1B1C1D1 c与有何关系? •当c<0:图形 沿-x方向倾斜 一个角度。 ABCD→ A2B2C2D2

错切变换
2)当c=0 (b≠0)时, (x* y* 1)=(x bx+y 1):沿y方 向错切,图形的x坐标不变;
∴变换矩阵为Tt=Tt1•Tt2
如何实现关于任意参照点Pr(Xr,Yr) 的旋转变换 ?
需要经过哪几种基本变换?
y
P*(x*,y*)

P18例2-3:点P绕参考点 F(xf,yf)逆时针旋转角。
(0,0)
F(xf,yf)
P(x,y)
x
1.把旋转中心 F(xf,yf) 平移至坐标原点,即坐标系平 移(-xf,-yf),则
(x* y* z* 1)=(x y z 1)
1 b c 0 d 1 f 0 h i 1 0 0 0 0 1
当b=c=f=i=0时,则沿x方向错切; 当c=d=f=h=0,则沿y方向错切; 当b=d=h=i=0,则沿z方向错切.
3.
对称(反射、镜像)变换
–对称于XOY平面 [x' y' z' 1] = [x
注意: 组合变换时,基本变换的顺序不能颠倒!
若T1,T2表示两个变换矩阵,一般 有T1.T2≠T2.T1 例如:先平移后旋转,与旋转后平移不同。
例1:复合平移
•求点P(x,y)经第一次平移变换(Tx1,Ty1),和第二次平移 变换(Tx2,Ty2)后的坐标P*(x*, y*)
解:
•设点P(x,y,1)经第一次平移变换后的坐标为P(x y 1),
(WXL,WYB)
(VXL,VYB)
XW -WXL
WXR-WXL VXR-VXL
=
XS-VXL
YW -WYB WYT-WYB
=
YS -VYB VYT-VYB
窗口区和视图区的坐标变换
Xs= VXR-VXL WYT-WYB VYT-VYB Ys= WYT-WYB (Yw-WYB)+VYB (Xw-WXL)+VXL
• 三维齐次坐标
xh hx, yh hy, zh hz, h 0
•标准齐次坐标(x,y,z,1)
Y
右手坐标系
Z
O
X
1.比例变换
(x*
x*=a.x,
y*=e.y ,z*=j.z
a 0 0 0 0 0 0 e 0 0 0 j 0 0 0 1
y* z* 1)=(x y z 1)
2.错切变换
窗口区和视图区的坐标变换
简化为:
Xs=a.Xw+b Ys=c.Yw+d
1) 当ac时,即x 方向的变化与y方向的变 化不同时,视图中的图形会有伸缩变化, 图形变形。 2) 当a=c=1,b=d=0则Xs=Xw,Ys=Yw,图形完 全相同。
我们可以在同一个图形输出界面上定义多个视图区,用 来同时输出不同的图形。(如三视图和轴测图)
5.3 二维图形变换
1. 比例变换(缩放变换)
x*=a.x, y*=d.y (x* y* 1)=(x y 1) a 0 0 0 d 0 0 0 1
a和d大于0
–以坐标原点为缩放参照点(只有原点是保持
位置不变的) –当a=d=1时:物体尺寸不变 –当a=d>1时:沿x,y方向等比例放大。
–当a=d<1时:沿x,y方向等比例缩小
P' x' y ' 1 x 1 0 y 1 0 1 T x1 T y1 0 0 x 1 y 1Tt1
•经第二次平移变换后的坐标为P*(x* y* 1)
1 0 0 P * x * y * 1 x' y ' 1 0 1 0 T T 1 x 2 y 2 1 0 0 1 0 0 x y 1 0 1 0 0 1 0 x y 1Tt1Tt 2 T T T 1 T 1 x 1 y 1 x 2 y 2
P的各 对称 点在 哪?
Y=X
(4)关于Y=X直线对称: X*=Y,Y*=X
(X* Y* 1)=(X Y
P
(5)关于Y= -X直线对称: X*= -Y,Y*= -X
(X* Y* 1)=(X Y
Y= -X

3.错切变换
x*=x+c.y,
(x* y*
y*=b.x+y
1 b 0 1)=(x y 1) c 1 0 0 0 1
cos R sin 0
1 T2 0 0 0 1 0
sin cos 0
0 0 1
0 0 1
θ 为 多 少?
3.图形关于x轴的反射变换
4.将反射轴逆时针旋转θ角
cos R sin 0
视图区:任何小于或等于屏幕域的区域
a.视图区由用户在屏幕域中用设备坐标定义。 b.窗口区的图形显示在视图区,需进行窗口区到视 图区的坐标转换。
c.视图区可以有多种类型:圆形、矩形、多边形等。
d.视图区也可以嵌套。
5.2.2 窗口区到视图区的坐标变换
用户域
(WXR,WYT) (XW,YW)
屏幕域
(VXR,VYT) (XS,YS)
x1
y1 1 x 1 y 1 0 x f 0 1 yf 0 0 x 1 y 1T x f yf
2.点P绕原点逆时针旋转角
x2
y2 1 x1
cos sin 0 y1 1 sin cos 0 x1 y1 1T 0 0 1
5. 平移变换 X*=X+L,Y*= Y+M
(X* Y* Y B A (0,0) A* 1)=(X Y 1 1) 0 L 0 1 M 0 0 1 L,M的 含义?
B*
C*
C
X
物体上的每个 点平移相同的 步长
平移变换只改变图形的位置,不改变图形的 大小和形状。
几何逆变换 所有的几何变换都有逆变换,所谓逆变换就是 指与原变换操作相反的操作过程。
sin cos 0
0 0 1
例4:任意的反射轴的反射变换
•5.恢复反射轴的原始位置 因此
T T1R T2 R T3
1 0 0 T3 0 1 0 0 a 1
5. 4
三维图形变换
• (x,y,z)点对应的齐次坐标为 ( xh , yh , zh , h)
θ
Z
θ
(y‘, z') α (y,z) Y
X
O
Y
O
x' = x y' = ρcos(α+θ) = y*cosθ- z*sinθ z' = ρsin(α+θ) = y*sinθ+z*cosθ
思考:如何实现关于任意参照点
Pr(Xr,Yr)的放缩变换?
Y
P(X,Y)
当a=1, d=0.5时,P 的位置?
Pr(Xr,Yr)
(0,0)
X
• 关于任意参照点 Pr ( xr , yr ) 的放缩变换 需要经过哪几种基本变换?
思考:如何实现关于任意反射轴
y=a+bx的反射变换?
Y
P’ P的
P
X
P18例2-3:点P绕参考点 F(xf,yf)逆时针旋转角。 3. 将坐标系平移回原来的原点
相关主题