- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LESSON 03 基本图形生成算法 基本图形生成算法 总体目标:掌握二维图形学的基本思想,理解二维图形生成的基本原理 掌握直线段的生成算法、反走样算法。 掌握圆弧的生成及线形的处理 掌握字符生成的的基本思想 基本概念 光栅显示器上显示的图形,称之为光栅图形。 确定最佳逼近图形的象素集合,并用指定的颜色和灰度设置象素的过程称为图形的扫描转换或光栅化。 二维图形的光栅化必须确定区域对应的象素集,将各个象素设置成指定的颜色和灰度,也称之为区域填充。 在光栅图形中,非水平和垂直的直线用象素集合表示时,会呈锯齿状,这种现象称之为走样(aliasing);用于减少或消除走样的技术称为反走样(antialiasing)。 2.1 直线生成 算法概述 2.1 直线生成 算法概述 2.1 直线生成 算法概述 2.1 直线生成 算法概述 2.1.1 直线的DDA 算法 2.1.1 直线的DDA 算法 DDA直线生成算法描述 DDA直线生成算法C描述 DDA直线生成算法小结 2.1.2中点画线法 2.1.2中点画线法 2.1.2中点画线法 注意到d是xp, yp的线性函数,可采用增量计算,提高运算效率。 ??? 若当前象素处于d=0情况,则取正右方象素P1(xp+1, yp),要判下一个象素位置,应计算 d1=F(xp+2, yp+0.5)=a(xp+2)+b(yp+0.5)+c=d+a,增量为a。 ??? 若d0时,则取右上方象素P2(xp+1, yp+1)。要判断再下一象素,则要计算d2= F(xp+2, yp+1.5)=a(xp+2)+b(yp+1.5)+c=d+a+b ,增量为a+b。画线从(x0, y0)开始,d的初值 d0=F(x0+1, y0+0.5)=F(x0, y0)+a+0.5b,因? F(x0, y0)=0,所以d0=a+0.5b。 ??? 由于我们使用的只是d的符号,而且d的增量都是整数,只是初始值包含小数。因此,我们可以用2d代替d来摆脱小数,写出仅包含整数运算的算法程序。 2.1.2中点画线算法 void Midpoint Line (int x0,int y0,int x1, int y1,int color) { int a, b, d1, d2, d, x, y; ? a=y0-y1; b=x1-x0;d=2*a+b; ? d1=2*a;d2=2* (a+b); ? x=x0;y=y0; ? drawpixel(x, y, color); ? while (xx1) ? { if (d0)?? {x++;y++; d+=d2; } ??? else????? {x++; d+=d1;} ??? drawpixel (x, y, color); ? } /* while */ } /* mid PointLine */ 2.1.2中点画线算法演示 2.1.3 Bresenham直线生成算法原理 2.1.3 Bresenham直线生成算法原理 2.1.3 Bresenham直线生成算法原理 Bresenham直线生成算法描述 Bresenham直线生成程序 Bresenham直线生成算法小结 * 在计算机产生的图形中,用到大量的直线,画好直线是非常有意义的,其一般的准则是: 线条应该显得笔直:由连续点组成的直线要显示在离散网格的平面上,一定会有不经过网格的点,如左下图。在这种情况下,必须选择靠近直线的网格点来逼近这条直线。若选择的好,线就显得较直;否则就会较弯曲,如右下图。 直线端点位置应该准确:画出的线段如果不准确,往往会使两条线之间不能很好的镶接,如右图。 直线浓度应该均匀:线段的浓度与单位线段中所显示的点数成正比。要保持线段的浓度均匀端点应该等距分布。只有严格平行和成45°的线才能做到。 直线浓度应该与线段的长度和斜率无关:要取得均匀的线段浓度,应该保持每单位长度的点数是个常数。一般,采用线段的近似长度,以及生成直线的算法,使在线段近似长度范围内保持线段浓度均匀。 显示线段的速度应快: 生成直线可用软件和硬件来实现,一般情况下,硬件要比软件实现得快。 直线常用的生成算法 数值微分(DDA:Digital Differential Analyzer )法 中点画线法 Bresenham算法 直线的微分方程表示为:dx/dy = △x/△y设直线的斜率小于等于1,起点坐标为(xa,ya),终点坐标为(xb,yb),则方程求解步骤分为:x0= xa +0.5,xn=xn-1+1y0= ya +0.5,yn=yn-1+△y/△x其中:△x=xb -xa, △ y=yb-ya上述解表示x方向积分步长为1,y方向增量为△y/△x。 yn-1 y x yn
您可能关注的文档
- 《关于禁止发展生产和储存细菌生物及毒素武器和销毁此种武器公约》.pdf
- 【高考语文复习课件】选修204届高三《语言文字应用》53 有话好好说——修改病句.ppt
- 【斯芬克建筑设计】安藤忠雄新作一个地方精神是坐缸还是莲花台内.doc
- §3—2速度瞬心法及其在速度分析中应用.ppt
- 00混动系统简介第三代普锐斯用户说明书 美版英文.pdf
- 2个隐藏在礼物背后秘密从礼物看透男人内心.doc
- 2事物正确答案不止一个使用.ppt
- 2数理统计课件.pdf
- 3ds Max制作马路上破旧汽车教程.doc
- 3倍提升获客与转化效率方法太skr了.doc
- 2025四川广元市利州区选聘社区工作者50人备考题库附答案详解(达标题).docx
- 2025年一年级能力测试卷下册.doc
- 2025四川广元市利州区选聘社区工作者50人备考题库附答案详解(轻巧夺冠).docx
- 2026年广西经济职业学院单招职业技能考试题库推荐.docx
- 2026年广西经济职业学院单招职业技能考试题库推荐.docx
- 高中物理光学专题教学设计方案.docx
- 2025年一年级拼音测试卷难.doc
- 2025四川广元市利州区选聘社区工作者50人备考题库附答案详解(能力提升).docx
- 2025年一年级拼音测试卷图片.doc
- 2025四川广元市利州区选聘社区工作者50人备考题库附答案详解(综合卷).docx
最近下载
- 世界建筑史(南京大学) 超星尔雅学习通网课章节测试答案.docx VIP
- AO3400宽体数据手册下载.pdf VIP
- 22J943-1、22G621-1 既有建筑改造设计与施工(既有住宅增设电梯).docx VIP
- 6.2交友的智慧 (课件)-2025-2026学年 道德与法治 七年级上册(统编版).pptx VIP
- 车管所保安保洁服务保洁服务实施方案.docx VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 车管所保安保洁服务保安服务实施方案.docx VIP
- 高考英语书面表达模板(最新版).docx VIP
- 20S515钢筋混凝土及砖砌排水检查井.pptx VIP
- 天行山海一期工程(施工)招标文件.pdf VIP
原创力文档


文档评论(0)