- 2
- 0
- 约1.51万字
- 约 50页
- 2017-04-01 发布于四川
- 举报
第3章节直线-圆-椭圆的生成
第三章 直线、圆、椭圆生成算法 3.1直线段的扫描转换算法 数值微分法(DDA) 假定直线的起点、终点分别为:(x0,y0), (x1,y1),且都为整数。 数值微分(DDA)法 基本思想 已知过端点P0 (x0, y0), P1(x1, y1)的直线段L y=kx+b 直线斜率为 这种方法直观,但效率太低,因为每一步需要一次浮点乘法和一次舍入运算。 数值微分(DDA)法 计算yi+1= kxi+1+b = kxi+b+k?x = yi+k?x 当?x =1; yi+1 = yi+k 即:当x每递增1,y递增k(即直线斜率); 注意上述分析的算法仅适用于?k? ≤1的情形。在这种情况下,x每增加1,y最多增加1。 当 ?k? ?1时,必须把x,y地位互换 数值微分(DDA)法 增量算法:在一个迭代算法中,如果每一步的x、y值是用前一步的值加上一个增量来获得,则称为增量算法。 DDA算法就是一个增量算法。 数值微分(DDA)法 void DDALine(int x0,int y0,int x1,int y1,int color) ? int x; float dx, dy, y, k; dx = x1-x0; dy=y1-y0; k=dy/dx ; y=y0; for (x=x0; x?x1; x++) ? drawpixel (x, int(y+0.5), color); y=y+k; ? ? 数值微分(DDA)法 例:画直线段P0(0,0)--P1(5,2) x int(y+0.5) y+0.5 0 0 0+0.5 1 0 0.4+0.5 2 1 0.8+0.5 3 1 1.2+0.5 4 2 1.6+0.5 5 2 2.0+0.5 数值微分(DDA)法 缺点: 在此算法中,y、k必须是float,且每一步都必须对y进行舍入取整,不利于硬件实现。 中点画线法 原理: 中点画线法 当M在Q的下方- P2离直线更近更近-取P2 。 M在Q的上方- P1离直线更近更近-取P1 M与Q重合, P1、P2任取一点。 问题:如何判断M与Q点的关系? 中点画线法 假设直线方程为:ax+by+c=0 其中a=y0-y1, b=x1-x0, c=x0y1-x1y0 由常识知: ∴欲判断M点是在Q点上方还是在Q点下方,只需把M代入F(x,y),并检查它的符号。 中点画线法 构造判别式:d=F(M)=F(xp+1,yp+0.5) =a(xp+1)+b(yp+0.5)+c 当d0,M在直线(Q点)下方,取右上方P2; 当d0,M在直线(Q点)上方,取右方P1; 当d=0,选P1或P2均可,约定取P1; 能否采用增量算法呢? 中点画线法 若d?0-M在直线上方-取P1; 此时再下一个象素的判别式为 d1=F(xp+2, yp+0.5)=a(xp+2)+b(yp+0.5)+c = a(xp +1)+b(yp +0.5)+c +a =d+a; 增量为a 中点画线法 若d0-M在直线下方-取P2; 此时再下一个象素的判别式为 d2= F(xp+2, yp+1.5)=a(xp+2)+b(yp+1.5)+c = a(xp +1)+b(yp +0.5)+c +a +b =d+a+b ; 增量为a+b 中点画线法 画线从(x0, y0)开始,d的初值 d0=F(x0+1, y0+0.5)= a(x0 +1)+b(y0 +0.5)+c = F(x0, y0)+a+0.5b = a+0.5b 由于只用d 的符号作判断,为了只包含整数运算, 可以用2d代替d来摆脱小数,提高效率。 中点画线法 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++;
您可能关注的文档
- 第3章节C数据类型与变量.ppt
- 甘肃省兰州一中2010年高三模拟考试语文试卷[一].doc
- 第3章节4辐射式温度计.ppt
- 第3章节Matlab软件的程序的设计.ppt
- 第3章节MATLAB程序的设计.ppt
- 第3章节DataBase重做.ppt
- 第3章节3-1容器应力理论.ppt
- 甘肃省兰州一中2010年高三12月月考[数学文].doc
- 甘肃省兰州一中2010年高三模拟考试理综试卷[一].doc
- 第3章节——字符串—数组—特别矩阵.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 高等学校中医临床教学基地教学工作水平评估指标体系与标准.pdf
- 2022届高考物理一轮复习图像经典100题.pdf VIP
- 新能源汽车电气技术 配套课件.pptx
- 2025年高考语文备考之300个文言实词汇编(含课内句子).pdf VIP
- DB11∕T2293-2024住宅工程质量品质提升技术标准.pdf VIP
- Marantz马兰士家庭影院 AV 擴音機 SR8012 SR8012 Quick Start Guide English说明书用户手册.pdf
- 人教八上:专题六 无刻度直尺作图(含解析).docx VIP
- 2023年江西省中考语文试卷及答案解析.pdf VIP
- 2025年山东劳动职业技术学院高职单招笔试语文试题库含答案解析(5套共100道单选合辑).docx VIP
- 2025-2026学年七年级英语春季开学第一课 课件:马踏新春,趣学英语(全国通用版).pptx
原创力文档

文档评论(0)