窗口视图变换 用户域和窗口区 1.用户域:程序员用来定义草图的整个自然空间(W) a人们所要描述的图形均在用户域中定义 b用户域是一个实数域,理论上是连续无限的 2.窗口区:用户指定的任一区域(m a窗口区刚于或等于用户域WD b小于用户域的窗口区Ⅷ做用户域的子域。 C窗口可以有多种类型,矩形窗口、圆形窗口、多边形 窗口等等 d窗口可以嵌套,即在第一层窗口中可再定义第二层窗 口,在第I层窗口中可再定义第I+1层窗口等等 2021/1/21 浙江大学计算机图形学
2021/1/21 浙江大学计算机图形学 16 窗口视图变换 ◼ 用户域和窗口区 1 .用户域:程序员用来定义草图的整个自然空间(WD) a 人们所要描述的图形均在用户域中定义。 b 用户域是一个实数域,理论上是连续无限的。 2. 窗口区:用户指定的任一区域(W) a 窗口区W小于或等于用户域WD b 小于用户域的窗口区W叫做用户域的子域。 c 窗口可以有多种类型,矩形窗口、圆形窗口、多边形 窗口等等 d 窗口可以嵌套,即在第一层窗口中可再定义第二层窗 口,在第I层窗口中可再定义第I+1层窗口等等
vD窗口视图变换 1.屏幕域(DO:设备输出图形的最大区域,是 有限的整数域。如图形显示器分辨率为 1024×768→D0.1023]×[0.767] 2.视图区:任何小于或等于屏幕域的区域 a视图区用设备坐标定义在屏幕域中 b窗口区显示在视图区,需做窗口区到视图区 的坐标转换。 C视图区可以有多种类型:圆形、矩形、多边形 d视图区也可以嵌套。 2021/1/21 浙江大学计算机图形学 17
2021/1/21 浙江大学计算机图形学 17 窗口视图变换 1. 屏幕域(DC):设备输出图形的最大区域,是 有限的整数域 。 如 图 形 显 示 器 分 辨 率 为 1024768→DC[0..1023][0..767] 2. 视图区:任何小于或等于屏幕域的区域 a 视图区用设备坐标定义在屏幕域中 b 窗口区显示在视图区,需做窗口区到视图区 的坐标转换。 c 视图区可以有多种类型:圆形、矩形、多边形 等。 d 视图区也可以嵌套
窗口区和视图区的坐标变换 设窗口的四条边界WL, WXR WYB WY 视图的四条边界M, VXR VYB VrT 则用户坐标系下的点(即窗口内的一点) (MwYw对应屏幕视图区中的点 (%),其变换公式为 VXR-VXL WXL+VXL WXR-WXL 丿YT-VYB (Y-WYB)+VYB WYT-WYB 2021/1/21 浙江大学计算机图形学 18
2021/1/21 浙江大学计算机图形学 18 窗口区和视图区的坐标变换 设窗口的四条边界WXL,WXR,WYB,WYT 视图的四条边界VXL,VXR,VYB,VYT 则用户坐标系下的点(即窗口内的一点) (Xw,Yw) 对 应 屏 幕 视 图 区 中 的 点 (Xs,Ys),其变换公式为 ( ) ( ) − + − − = − + − − = Y WYB VYB WYT WYB VYT VYB Y X WXL VXL WXR WXL VXR VXL X s w s w
⑦窗区和视图区的坐标变换 a简化为:{x,=aXn+b →>(1)式 Y=C·y.+d 1)当a≠C时,即x方向的变化与y方向的 变化不同时,视图中的图形会有伸缩变 化,图形变形。 2)当ac=1,bd=0则S=X,s=1,图形 完全相同。 思考:前面讲的窗口→视图变换时,假 设窗口的边和坐标轴平行,如果窗口的 边不和坐标轴平行呢? 2021/1/21 浙江大学计算机图形学 19
2021/1/21 浙江大学计算机图形学 19 窗口区和视图区的坐标变换 ◼ 简化为: ◼ 1) 当ac时,即x 方向的变化与y方向的 变化不同时,视图中的图形会有伸缩变 化,图形变形。 ◼ 2) 当a=c=1,b=d=0则Xs=Xw,Ys=Yw,图形 完全相同。 ◼ 思考:前面讲的窗口→视图变换时,假 设窗口的边和坐标轴平行,如果窗口的 边不和坐标轴平行呢? → (1)式 = + = + Y c Y d X a X b s w s w
M窗口区和视图区的坐标变换 H WYT H WYB a WXL WXR A.先让窗口FGHl转-a角,使它和FGH重 人 nB.用(1)式进行计算。 2021/1/21 浙江大学计算机图形学 20
2021/1/21 浙江大学计算机图形学 20 窗口区和视图区的坐标变换 ◼ A. 先让窗口FGHI转-α角,使它和FG'H'I'重 合。 ◼ B. 用(1)式进行计算。 ◼