- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 图形技术基础 7.1 坐标系 图形系统中使用的坐标系是人们广为熟知的直角坐标系,也称笛卡儿坐标系。 世界坐标系(WC):是最常用的坐标系,是一个符合右手定则的直角坐标系。它用来定义用户在2D或3D世界中的物体,也称拥护坐标系。其定义域为实数域。 观察坐标系(VC):是一个符合左手定则的坐标系,可以定义在WC中的任何位置、任何方向。其作用:1)指定裁剪空间;2)在VC中定义观察平面,把3D物体的VC变换为规格化设备坐标。 规格化设备坐标系(NDC):采用一种无量刚的单位 代替设备坐标,当输出图形再转换为具体的设备坐标。其取值范围:左下角(0.0,0.0),右上角(1.0,1.0)。这样,可使应用程序与图形设备隔离开,增强了应用程序的可移植性。 设备坐标系(DC):指图形输出设备(如显示器、绘图机)自身的坐标系。是一个2D平面坐标系,单位为步长或像素。其定义域为整数且有界。 7.2 图形的输出 1、窗口与视区 在VC中定义的确定显示内容的一个矩形区域,称为窗口。只有在窗口内的图形才能在DC下输出,而窗口外的部分则被裁剪。 一般用矩形的左下角坐标(Wxl,Wyb)和右上角坐标(Wxr,Wyt)来确定窗口的大小和位置。通过该变窗口的大小、位置与比例,可方便地观察局部图形,控制图形的大小。 视区是在DC(通常是屏幕)中定义一个矩形区域,用于输出窗口中的图形。视区决定了窗口中的图形要显示与屏幕上的位置与大小。视区是一个有限的整数域,应小于等于屏幕区域。定义小于屏幕的视区是非常有用的,因为这样可以在同一屏幕上定义多个失去,用来同时显示不同的图形信息。如:三视图的显示。 2、窗口—视区变换 把VC的坐标值转化为DC的坐标值,这种变换称为窗口—视区变换。 图中: Wxl Wyb Wyt Wxr W(xw, xw,) V(xv, xv,) Vyb Vyt Vxl Vxr O 因此有: 设 则有: 写成矩阵形式: 1)视区不变,窗口缩小或放大时,显示的图形相应放大或缩小 ; 2)窗口不变,视区缩小或放大时,显示的图形相应缩小或放大; 视区不变、窗口缩小,图形放大 w2 w1 w3 视区 3)视区纵横比不等于窗口纵横比时,显示的图形有伸缩变化; 4)窗口与视区大小相同、坐标原点也相同时,显示的图形不变 结论 3、二维图形的输出流程 DC NDC WC VC 世界坐标系下的2D图形 将世界坐标系变换为VC 对窗口中的图形进行裁剪 VC 窗口-视区变换将观察坐标映射到NDC NDC映射到DC 在图形设备上输出图形 4、三维实体的输出流程 2D DC 2D NDC 将窗口内的形体投影变换到2D视区 NDC映射到DC 在图形设备上输出图形 3D WC 3D VC 对窗口中的图形进行裁剪 世界坐标系下的3D实体 将用户坐标系变换为VC 3D VC 2D图形的裁剪 图形裁剪技术与窗口技术密切相关,其目的是把窗口区域内定义的图形以适当的比例输出,而把窗口之外的图形不输出。 裁剪的边界(即窗口)可以是任意多边形,但常用的矩形。 被裁剪的对象可以是直线、字符、多边形等,而直线的裁剪是图形裁剪的基础。 裁剪算法的核心是问题是速度,就一条直线线段而言,就是迅速地判定:它是全部在窗口内还是在窗口外,否则必定是部分在窗口内,此时要求出它与窗口的交点,从而确定在窗口内的部分。 1、点的裁剪 点的裁剪是最简单的一种,也是裁剪其他元素的基础。判断点的可见性,若点P(x,y)满足: 则点P(x,y)为可见(在窗口内),否则不可见(在窗口外) 。 2、直线段的裁剪 直线段与窗口的位置关系有如下几种情况: 1)直线段两个端点在窗口内(线段c); a b c e d 2)直线段两个端点在窗口外,且与窗口不相交(线段e、d); 3)直线段两个端点在窗口外,但与窗口相交(线段b); 4)直线段一个端点在窗口内,一个端点在窗口外(线段a)。 由于矩形窗口是凸多边形,因此一条直线段的可见部分最多为一段,故可以通过判断两个端点的可见性来确定直线段的可见部分。 1)与2)容易判断,为全部可见与全部不可见;3)与4)则应据其相交情况进一步判断。 编码裁剪算法 编码裁减算法也称Cohen-Sutherland算法。 算法思想:每一线段或整个位于窗口内部,或能够被窗口分割而使其中的一部分能很快地被舍弃。 算法步骤: 1)先确定一条线段是否整个位于窗口内,若不是,则确定该是否整个位于窗口外,若是则舍弃; 2)若第1)步的判断均不成立,那就通过窗口边界所在的直线将线段分成两部分,在对每一部分进行第1)步的测试。 算法实现:需把窗口边界延长,把平面分成9个区,每个区用4位二进制代码表示,四位编码分别代表点的位置与窗口边界的上、下、左、右关系,
文档评论(0)