北航计算机图形学公选期末考试整理资料要点分析.docxVIP

北航计算机图形学公选期末考试整理资料要点分析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
裁剪算法 直线段裁剪 1.直线段和窗口的关系 我们所说的窗口是各边平行于坐标轴的矩形。窗口把一个直线段分成窗口内部分和窗口外部分。通常落在窗口内部分是可见的,而落在窗口外部分是不可见的。 裁剪:确定图形中哪些部分落在显示区之内,哪些落在显示区之外,以便只显示落在显示区内的那部分图形。这个选择过程称为裁剪。 裁减的依据是一对简单的不等式: 通常,我们只要验证点的坐标是否满足上述条件即可。然而,如果逐点验证上述不等式,运算效率是非常低的。 直线段和窗口的关系有 (1)直线段在窗口外; (2)直线段完全在窗口内; (3)直线段与窗口的一条边相交; (4)直线段与窗口的两条边相交;  结论:对于任意一条直线,它要么被完全排斥在窗口之外;要么在窗口内留下一个可见段,并且只能有一个可见段。 输出线段 结束 开始 直线段与窗口的关系 ???算直线段与窗 口各边的交点 两个端点全在窗口内 一个端点在窗口内 交点与窗口内的 端点组成线段 两个端点在窗口外 计算直线段与窗 口各边的交点 有交点 是 否 3.实现方法 代码裁剪法 基本思想:对于每条线段P1P2分为三种情况处理: (1)若P1P2完全在窗口内,则显示该线段P1P2简称“取”之。 (2)若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。 (3)若线段不满足“取”或 “弃”的条件,则在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。 为快速判断,采用如下编码方法: 每个区域赋予4位编码 若P1P2完全在窗口内code1=0,且code2=0,则“取” 若P1P2明显在窗口外code1code2≠0,则“弃” 在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。 中点分割裁剪算法 基本思想: 与前一种Cohen-Sutherland算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况: 全在、完全不在和线段和窗口有交。对前两种情况,进行一样的处理。 对于第三种情况,用中点分割的方法求出线段与窗口的交点。 求线段与窗口的交点 A、B分别为距P0、P1最近的可见点,Pm为P0P1中点 从 出发找最近可见点的方法 先求出 的中点 若 不是显然不可见的,并且 在窗口中有可见部分,则距 最近的可见点一定落在 上,所以用 代替 ; 否则取 代替 再对新的 求中点 。重复上述过程,直到 长度小于给定的控制常数为止,此时 收敛于交点A。 从 出发找最近可见点采用上面类似方法。 多边形裁剪 基本思想是一次用窗口的一条边裁剪多边形。 考虑窗口的一条边以及延长线构成的裁剪线 该线把平面分成两个部分:可见一侧;不可见一侧 基本思想是一次用窗口的一条边裁剪多边形。 考虑窗口的一条边以及延长线构成的裁剪线 该线把平面分成两个部分:可见一侧;不可见一侧 对于 情况(1)仅输出顶点P; 情况(2)输出0个顶点; 情况(3)输出线段PS与裁剪线的交点I; 情况(4)输出线段PS与裁剪线的交点I和终点P 上述算法仅用一条裁剪边对多边形进行裁剪,得到一个顶点序列,作为下一条裁剪边处理过程的输入。 对于每一条裁剪边,只是判断点在窗口哪一侧以及求线段PS与裁剪边的交点算法应随之改变。 多边形运算 1.多边形的覆盖  1)多边形覆盖情况分析  当两个多边形互相重叠时,就会产生覆盖的效果。覆盖是指一个多边形部分或全部地盖掉了下面的另一个多边形 对于多边形的覆盖,特别是凹多边形,由于情况比较复杂,画图的步骤一般是: ①利用“重叠性检验”,排除不会发生覆盖的多边形。 ②逐条求出被覆盖多边形的边和覆盖多边形轮廓边的交点。 ③对交点进行排序。 ④利用“包含性检验”,区分出被覆盖段和未覆盖段。 ⑤ 绘图输出未覆盖线段。 2.多边形的布尔运算  1)布尔运算的概念  多边形的布尔运算指的是:在两个多边形之间进行并、交、差的运算。 2)多边形的描述  任何一个多边形均是由顶点和边组成的。所以可以把多边形的数据结构组成两张数据表:顶点表和边表。   通常,在实际的布尔运算处理中,为了方便把多边形的边表改为环表。环表是由组成多边形的顶点按照一定的顺序连接而成。 在环表中,每相邻两个顶点组成一条有向线段,它的方向与环的方向相同。  3)布尔运算的规则  在两个多边形有相互重叠的部分时,两个多边形可以进行布尔运算。当两个多边形相互重叠时,表示两个多边形的两个环相交,其交点将有向直线段分为两部分:环内部分和环外部分,分别表示处于另一个环的内部或外部。  交点分为出点和入点两种:当一个环的有向线段经过交点进入另一环,则该交点称为入点

文档评论(0)

宝贝计划 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档