第四章二维图形生成技术方案培训.pptVIP

  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文档。上传文档
查看更多
Bezier曲线的性质: c.)二阶导矢 当t=0时, 当t=1时, 上式表明:2阶导矢只与相邻的3个顶点有关,事实上,r阶导矢只与(r+1)个相邻点有关,与更远点无关。 将 、 及 、 代入曲率公式 ,可以得到Bezier曲线在端点的曲率分别为: Bezier曲线的性质: d.)k阶导函数的差分表示 n次Bezier曲线的k阶导数可用差分公式为: 其中高阶向前差分矢量由低阶向前差分矢量递推地定义: 例如: Bezier曲线的性质: (2)对称性。由控制顶点 构造出的新Bezier曲线,与原Bezier曲线形状相同,走向相反。因为: 这个性质说明Bezier曲线在起点处有什么几何性质,在终点处也有相同的性质。 Bezier曲线的性质: (3)凸包性 由于 ,且 , 这一结果说明当t在[0,1]区间变化时,对某一个t值,P(t)是特征多边形各顶点的加权平均,权因子依次是 。在几何图形上,意味着Bezier曲线P(t)在 中各点是控制点Pi的凸线性组合,即曲线落在Pi构成的凸包之中,如图3.1.9所示。 第四章 二维图形生成技术 4.1 直线图形 y x 1 2 3 4 n 1 2 3 4 m p1 p2 一. 生成直线的 DDA 算法 假设 直线的起点坐标为P1 (x1,y1),终点坐标为P2 (x2,y2) x方向的增量为 △x=x2-x1 ;y方向上增量为 △y=y2-y1 直线的斜率为 k=△y/△x 当 △x>△y 时,让 x 从 x1 到 x2 变化,每步递增 1, 那么,x 的变化可以表示为 xi+1=xi+1 y 的变化可以表示为 yi+1=yi+k 用上式可求得图中直线 P1P2 和 y 方向网格线的交点,但显示时要用象素点(图中的网格结点)耒表示,所以要用舍入的办法耒找到最靠近交点处的象素点,并用其耒表示直线段。 这个方法称之为数字微分分析法,简称DDA。 算法描述如下: int x1,y1,x2,y2; int x; float dx,dy,k,y; dx=x2 - x1 dy=y2 - y1 k=dy/dx x=x1 y=y1 for (x=x1;x<=x2;x++) { putpixel (x,(int)(y),pixelcolor ) y=y+k } 该算法仅适用于|k|≤1 的情况,而当|k|>1时,则需将 x 和 y 的位置交换。 二. 生成直线的 Bresenham 算法 设 k=△y/△x , 先讨论 0≤k≤1的情况: 若以屏幕上x方向的象素点作为横坐标,则有 xi+1-xi=1 而 yi+1=yi+k(xi+1-xi)=yi+k (1) 设 b 点是直线上的点,其实际坐标是(xi+1,yi+1)。 在屏幕上是用象素点c 还是d 耒表示? 设 a 为c、d 的中点,判断。 关键问题: (1) 如何判断 b是在 a 的上面还是 下面,设置一个标志变量 e ; (2) 如何建立标志变量 e 的递推公式。 xi Xi+1 Yi Yi+1 Yi+1 b a c d 设 e (xi+1)=yi+1-yi′-0.5 (2) 若b在a的下面,则有 e (xi+1)0 若b在a的上面,则有 e (xi+1)0 由图中可知:当e (xi+1)≥0时 y′i+1=yi′+1 e (xi+1) 0时 y′i+1=yi' 递推: 由(2)、(3)式可得: e (xi+2)=yi+2-y′i+1-0.5=yi+1+k-y′i+1-0.5

文档评论(0)

youngyu0329 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档