计算机图形学 全套课件知识讲稿.ppt

  1. 1、本文档共247页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学 全套课件知识讲稿.ppt

计算机图形学;第一章 计算机图形学概述;计算机图形学的研究内容(1/2);计算机图形学的研究内容(2/2);第二章 图形算法基础;DDA算法;例:画直线段P0(0,0)--P1(5,2) ;直线DDA算法的VC代码;直线DDA算法VC代码; 采用增量计算,对于每一列,只要检查一个误差项的符号。 原理: 直线与垂直网格线求交点,交点最近的象素。 d0=0, d=d0+m (m为直线斜率) (假设m<1) 。;为方便计算,令d=m-0.5, 2d=2m-1 2d*dx=2*dy-dx d=2*dy-dx 递增量当d≥0时,递增量为2*dy-2*dx(见书P13) d0时,递增量为2*dy;例:Line: P0(0, 0), P1(5,2) dy=2,dx=5,d0=-1,ddl=-6,dxl=4 x y d 0 0 -1 +4 1 0 3 -6 2 1 -3 +4 3 1 1 -6 4 2 -5 +4 5 2 -1 ;void BresenhamLine(int xs,int ys,int xe,int ye) { int dx,dy,tx,ty,inc1,inc2,d,curx,cury; dx=abs(xe-xs); dy=abs(ye-ys); if(dxdy){ iTag=1; Swap(x1, y1); Swap(x2, y2); Swap(dx, dy); } SetPixel(cury, curx); tx=(x2-x1)0?1:-1; ty=(y2-y1)0?1:-1; ; curx=xs;cury=ys; inc1=2*dy;inc2=2*(dy-dx);d=inc1-dx; while(curx!=x2) { curx+=tx; if(d0){d+=inc1; } else {cury+=ty; d+=inc2; } SetPixel(curx, cury); } } ;Bresenham算法的优点是: 1、不必计算直线之斜率,因此不做除法; 2、不用浮点数,只用整数; 3、只做整数加减法和乘2运算,而乘2运算可以用硬件移位实现。 Bresenham 算法速度很快,并适于用硬件实现。 ; Bresenham 画线例 直线端点为(20,10)和(30,18), 用 Bresenham 法画线 解: Dx = 10, Dy = 8, d0=2* Dy- Dx=6, ddl=2 Dy - 2Dx =-4, dxl=2Dy =16 若d0 d=d+2*Dy =d+16 若d=0 d = d +2*Dy -2*dx = d-4 ;Bresenham 画线例 直线端点为(20,10)和(30,18) 画初始点(20, 10), 并根据判别式确定沿线段路径的后续像素位置如下表:;2.1.3中点算法;2.1.3中点画线法;2.1.3中点画线法;2.1.3中点画线;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=a+a+b; //即d0 d1=a+a, d2=a+a+b+b; // d1为右上方点判断式增量 d2为右方点判断式增量 x=x0, y=y0; SetPixel(x, y, color); while (xx1) { if (d0) {x++, y++, d+=d2; } else {x++, d+=d1;} SetPixel (x, y, color); } /* while */ } /* mid PointLine */ ;2.2圆弧画法;2.2圆弧画法;2.2圆弧画法;2.2圆弧画法;2.2圆弧画法;2.2.1圆弧中点画法;若 d0, 则取P1为下一象素,而且再下一象素的判别式为:;圆弧中点算法过程;2.2.2圆

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档