计算机圆形学 余敦辉 湖北大学数计学院
计算机图形学 余 敦 辉 湖北大学 数计学院
7窗口视图变换 7.1.1用户域和窗口区 1)用户域 是指用户用来定义物体的整个自然空间(WD)。 2)窗口区 是指用户在用户域中指定的一个区域(W) ①窗口区W≤用户域WD,任何小于WD的窗口区W都叫WD 的一个子域 ②窗口通常为矩形域:用坐下角点和右上角点表示; ③窗口区可以嵌套,即在第i层窗口中可定义第i+1层窗口。 ④可定义圆形和多边形窗口。 20212/23 湖北大学数计学院
2021/2/23 湖北大学数计学院 2 7.1 窗口视图变换 7.1.1 用户域和窗口区 1)用户域 是指用户用来定义物体的整个自然空间(WD)。 2)窗口区 是指用户在用户域中指定的一个区域(W)。 ① 窗口区W≤用户域WD,任何小于WD的窗口区W都叫WD 的一个子域; ②窗口通常为矩形域:用坐下角点和右上角点表示; ③窗口区可以嵌套,即在第i层窗口中可定义第i+1层窗口。 ④可定义圆形和多边形窗口
71窗口视图变换 7.1.2屏幕域与视图区 1)屏幕域 是指设备输出图形的最大区域,它是一有限的整数域。 如某图形显示器有1024*1024个可编址的象素点,则屏幕域 可定义为:DC:|0:1023]*0:1023 2)视图区 任何小于或等于屏幕域的区域称为视图区。视图区可 由用户在屏幕域 设备坐标来定义 ①用户选择的窗口域内的图形要在视图区显示,则必须由程序 转换成设备坐标系下的坐标值; ②视图区通常为矩形域:用坐下角点和右上角点表示; ③视图区可以嵌套,嵌套层数由图形处理软件规定; ④可定义圆形和多边形视图区 20212/23 湖北大学数计学院
2021/2/23 湖北大学数计学院 3 7.1 窗口视图变换 7.1.2 屏幕域与视图区 1)屏幕域 是指设备输出图形的最大区域,它是一有限的整数域。 如某图形显示器有1024*1024个可编址的象素点,则屏幕域 可定义为:DC :[0:1023]*[0:1023] 2)视图区 任何小于或等于屏幕域的区域称为视图区。视图区可 由用户在屏幕域中,用设备坐标来定义。 ①用户选择的窗口域内的图形要在视图区显示,则必须由程序 转换成设备坐标系下的坐标值; ②视图区通常为矩形域:用坐下角点和右上角点表示; ③视图区可以嵌套,嵌套层数由图形处理软件规定; ④可定义圆形和多边形视图区
71窗口视图变换 7.1.3窗口区和视图区的坐标变换 视见变换的过程 (1)平移变换:将窗口及其中图形一起平移,使窗口左下角 与世界坐标系的原点重合; (2)比例变换:将窗口及其中图形一起比例变换,使其结果 与视区的形状、大小完全一致,形成窗口与视区的对应关系。 (3)平移变换:通过第二步的比例变换,在屏幕坐标系的原 点上形成了与世界坐标系中窗口对应的视区,此时再通过一次 平移变换将视区平移到屏幕坐标系中指定的视区位移。 y E E s2,B, ( mm, vmin T(umin,v (min, ymin E un 2 Imn
2021/2/23 湖北大学数计学院 4 7.1 窗口视图变换 7.1.3 窗口区和视图区的坐标变换 • 一 、视见变换的过程 • (1)平移变换:将窗口及其中图形一起平移,使窗口左下角 与世界坐标系的原点重合; • (2)比例变换:将窗口及其中图形一起比例变换,使其结果 与视区的形状、大小完全一致,形成窗口与视区的对应关系。 • (3)平移变换:通过第二步的比例变换,在屏幕坐标系的原 点上形成了与世界坐标系中窗口对应的视区,此时再通过一次 平移变换将视区平移到屏幕坐标系中指定的视区位移
71窗口视图变换 7.1.3窗口区和视图区的坐标变换 应用 程序 用户坐观察坐 窗口到视 区(规范 视图区从 到图WC 观察坐“对窗口v化设备坐MD/范化坐 标系到vc标系下 在图形 形的 标系间进行裁 标系中定 标系到设参设备上 用户 义)的变 备坐标系 输出 坐标 的变换 剪 换 的变换 图6-19窗口-视图二维变换 应用 用户坐。观察坐 程序30)标系到/3D 到形W VC|标系下2D投影变 体的 观察坐 对窗口换到2DN以变换到设Dc在图形 的视图 备坐标系 设备上 用户 标系间进行裁 输出 坐标 的变换 剪 图6-19窗口-视图三维变换 5
2021/2/23 湖北大学数计学院 5 7.1 窗口视图变换 7.1.3 窗口区和视图区的坐标变换
71窗口视图变换 7.1.3窗口区和视图区的坐标变换 变换公式 窗口区 视图区 WH VH Wc WL 假定在用户坐标系下,窗口区的位置及大小分别定义为:左下 角点为Wc(wx,wy),长为WL,高为WH;在屏幕坐标系下,视 图区的位置及大小为:左下角点c(wx,y,长为VL,高为VH 20212/23 湖北大学数计学院
2021/2/23 湖北大学数计学院 6 7.1 窗口视图变换 7.1.3 窗口区和视图区的坐标变换 • 二、变换公式 假定在用户坐标系下,窗口区的位置及大小分别定义为:左下 角点为Wc(wx,wy), 长为WL,高为WH;在屏幕坐标系下,视 图区的位置及大小为:左下角点Vc(vx,vy),长为VL,高为VH
7.1窗口视图变换 7.1.3窗口区和视图区的坐标变换 可得如右坐标间关 °( 1x)+x 系式: (Y-1y)+D ¥a:=c时,即x方向如令 的图形变化与y方 a=lL/Wl.b=lx 向不同时,视图区 VL.Wx 中的图形会发生伸=Hd=1-mn 缩变化。 则上式可变为 注意:当有多窗口 Xs= a*k Xw+b 多视区时,要正确X Y 选用对应的窗口和阵表示为 视区 a OO [Xs Ys 1l=[Xw Yw loco 20212/23 b d
2021/2/23 湖北大学数计学院 7 7.1 窗口视图变换 7.1.3 窗口区和视图区的坐标变换 • 可得如右坐标间关 系式: • 当a!=c时,即x方向 的图形变化与y方 向不同时,视图区 中的图形会发生伸 缩变化。 • 注意:当有多窗口、 多视区时,要正确 选用对应的窗口和 视区。 = = + = + = = − • = = − • = • − + = • − + b d 1 0 c 0 a 0 0 [ Ys 1] [Xw Yw 1] * * / ; / ; ; : ( ) ( ) Xs Ys c Yw d Xs a Xw b Wy WH VH c VH WH d Vy Wx WL VL a VL WL b Vx Y Wy Vy WH VH Y X Wx Vx WL VL X s w s w 矩阵表示为 则上式可变为 如令
71窗口视图变换 7.1.3窗口区和视图区的坐标变换 例:已知WC下A,B,C,D四点坐标值,且已知 DC分辨率为1024×768,写出从WC→DC的 坐标变换。 D(10,45) C(60,45) D’(0.1,045)C(0.6,0.45) D(77,421)C(460,421) A(10,10 B(60,10) A'(0.1,0.1)B3(0.6,0.1) A(77,690)B(460690) 20212/23 湖北大学数计学院
2021/2/23 湖北大学数计学院 8 7.1 窗口视图变换 7.1.3 窗口区和视图区的坐标变换 • 例:已知WC下A,B,C,D四点坐标值,且已知 DC分辨率为1024×768,写出从WC→DC的 坐标变换。 A(10,10) B(60,10) D(10,45) C(60,45) A’(0.1,0.1) B’(0.6,0.1) D’(0.1,0.45) C’(0.6,0.45) A* (77,690) B* (460,690) D* (77,421) C* (460,421)
7窗口视图变换 7.1.3窗口区和视图区的坐标变换 思路:要将WC→DC,必须引进NDC 解法: ①从WC→NDC,将各变量×1/100即得; ②从NDC→DC: 690=767-0.1×768 77 767×0.1 421=767-0.45×768 460=0.6×768 20212/23 湖北大学数计学院
2021/2/23 湖北大学数计学院 9 7.1 窗口视图变换 7.1.3 窗口区和视图区的坐标变换 • 思路:要将WC→DC,必须引进NDC; • 解法: • ① 从WC→NDC,将各变量×1/100即得; • ② 从NDC→DC: • 690 = 767-0.1×768 • 77 = 767×0.1 • 421 = 767 -0.45×768 • 460 = 0.6×768
71窗口视图变换 7.1.3窗口区和视图区的坐标变换 1024 1024×768768 NDC DC °a=1,N=1024,N=768 设NDC中一点(xm,yn),DC中一点(xom,yom) 则有如下通式: S. td You= s into 20212/23 湖北大学数计学院 10
2021/2/23 湖北大学数计学院 10 7.1 窗口视图变换 7.1.3 窗口区和视图区的坐标变换 • a=1,Nx=1024,Ny=768 • 设NDC中一点(xin,yin),DC中一点(xout,yout)。 • 则有如下通式: xout=sx·xin+dx yout=sx·yin+dx -1 1 1024×768 -a a NDC DC 1024 768