- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北大计算机系多媒体与人机交互 第三章 输出图元 图形显示前需要:扫描转换+裁剪 ●裁剪---〉扫描转换:最常用,节约计算时间。 ●扫描转换---〉裁剪:算法简单; ●扫描转换到画布--〉位块拷贝:算法简单,但耗时耗内存。常用于字符显示。 线段的扫描转换算法 圆和椭圆的扫描转换 保持图形对象的数学性质 多边形的扫描转换 区域填充算法 线宽和线型 填充图案 字符技术 图形保真技术 半色调技术 线段的扫描转换算法 圆和椭圆的扫描转换 保持图形对象的数学性质 多边形的扫描转换 区域填充算法 线宽和线型 填充图案 字符技术 图形保真技术 半色调技术 DDA扫描转换直线段 扫描转换直线段 求与直线段充分接近的像素集 假设 直线段的宽度为1 DDA扫描转换直线段 数字微分(DDA)画线算法 ( digital differential analyzer) 条件: 待扫描转换的直线段:P1(x1,y1),P2(x2,y2) ?x=x2-x1, ?y=y2-y1 参数方程:x=x1+ ?x*t y=y1+ ?y*t 0≤ t≤1 直接求交算法: 划分区间[0, 1],dt=1/n 计算坐标. 取整. DDA扫描转换直线段 复杂度:乘法+加法+取整 DDA增量算法 xi+1=x1+?x*ti+1=xi+?x*dt=xi+xinc yi+1=y1+?y*ti+1=yi+?y*dt=yi+yinc 复杂度:加法+取整 DDA扫描转换直线段 算法描述 void DDA_line(int x1, y1, x2, y2) { int deltax, deltay, n, i; float x, y, xinc, yinc; deltax = x2 - x1; deltay = y2 – y1; if ( abs(deltax)abs(deltay) ) n = abs(deltax); else n = abs(deltay); xinc = (float)deltax / n; yinc = (float)deltay / n; x = x1; y = y1; write_pixel(round(x), round(y)); for ( i=0; in; i++ ) { x += xinc; y += yinc; write_pixel(round(x), round(y)); } } DDA扫描转换直线段 DDA算法缺点 需要进行浮点数运算 运行效率低 不便于用硬件实现 Bresenham扫描转换直线段 Bresenham画线算法 目标:消除DDA算法中 的浮点运算 条件: 同DDA算法 斜 率:0≤k≤1 直线段的隐式方程 ((x0,y0)(x1,y1)两端点) F(x,y)=ax+by+c=0 式中 a=y0-y1, b=x1-x0, c=x0y1-x1y0 Bresenham扫描转换直线段 分 析 线段的端点坐标:(x1,y1)和(x2,y2) 线段方程: y=k*x+b, 将平面以(x1,y1)为坐标原点划分为八个卦限, 考虑线段在第一卦限,即 Δx=x2-x10,Δy=y2-y1≥0, 并且Δx≥Δy的情况 此时xinc=1,yinc=k(0≤k≤1) Bresenham扫描转换直线段 Bresenham扫描转换直线段 并行画线算法 有p个处理器。将线段沿着x方向分为p个区段,区段的宽度为 ?xp=ceiling(?x/p)=(?x+p-1) div p 其中?x=xe-xs为线段宽度 ceiling(?x/p)为≥ ?x/p的最小整数 div为整数除法运算 再将这p个区段按照从左向右的次序依次编号为0,1,…,p-1,则编号为i的区段的起点的x坐标 xi=xs+i* ?xp 并行画线算法 计算编号为i的区段的起点的y坐标yi和判别式fi 的初始值。 区段的高度?yp=k*?xp yi=y1+round(i*?yp) ei=di-0.5 =k*i*?xp-round(i*?yp)+k-0.5 fi=2*?x*ei =2*?y*i*?xp-2*?x*round(i*?yp)+2* ?y- ?x
您可能关注的文档
最近下载
- 中级化学检验员技能鉴定考试题附答案.doc VIP
- SY∕T 6671-2017 石油设施电气设备场所ⅰ级0区、1区和2区的分类(2-2).pdf
- 2019年澳门四校联考试题及参考答案.pdf
- 五年级下册数学因数与倍数的知识点.docx VIP
- 会展管理综合技能考核(二)实践性考核工作报告.doc VIP
- 2025高二政治开学第一课《政好有你 再创佳绩》.pptx
- 2024年高考历史真题及答案解析(全国新课标卷).pdf VIP
- 创伤急救(151页)医学课件.ppt
- 公司(第一级)安全教育记录GDAQ20503.xls VIP
- 苏教版三年级上册寒假数学计算题每日一练及答案(共20天).pdf VIP
文档评论(0)