计算机图形学重点

计算机图形学重点

ID:14471401

大小:78.50 KB

页数:5页

时间:2018-07-28

计算机图形学重点_第1页
计算机图形学重点_第2页
计算机图形学重点_第3页
计算机图形学重点_第4页
计算机图形学重点_第5页
资源描述:

《计算机图形学重点》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、图形的生成:是在指定的输出设备上,根据坐标描述构造二维几何图形。图形的扫描转换:在光栅显示器等数字设备上确定一个最佳逼近于图形的象素集的过程。直线的扫描转换:一、逐点比较法【算法思想:在绘图的过程中,把每画一笔(走一步)都和理论图形进行比较,然后确定下一步的走向,用步步逼近的方法画出规定图形。该算法只适用于起点在原点的线段。否则,可平移。对于任意直线,只需进行坐标平移即可。算法为:CompareByPoint(x1,y1,x2,y2,color){intx0=0,y0=0,x3,y3,x,y;int

2、f=0;x3=x2-x1,y3=y2-y1;while(x0<=x3){x=x0+x1,y=y0+y1;drawPixel(x,y,color);if(f>=0)then{x0=x0+1;f=f-y3;}else{y0=y0+1;f=f+x3}}}步数,当前输出点,当前f,下一f,走笔方向,下一输出点】二、数值微分法【算法思想:在绘图的过程中,在当前位置(xi,yi)上,分别对x方向和y方向各增加一个小增量,从而确定下一点(xi+1,yi+1)。是一个增量算法。1.计算dx=x2-x1,dy=y2-

3、y1,k=dy/dx2.置s=max(abs(dx),abs(dy)),x=x1,y=y13.如果s=abs(dx)4.如果dx>0且x<=x2则进入循环(输出点(x,int(y+0.5));x=x+1,y=y+k:)如果dx<0且x>=x2则进入循环(输出点(x,int(y+0.5));x=x-1,y=y-k)5.如果s=abs(dy)如果dy>0且y<=y2则进入循环(输出点(int(x+0.5),y);x=x+1/k,y=y+1;)如果dy<0且y>=y2则进入循环(输出点(int(x+0.5

4、),y);x=x-1/k,y=y-1;)步数,当前点,当前输出点,下一点】三、中点画线法【算法思想:判断理论直线与P1P2的交点Q位于P1P2中点M的上方或下方,从而决定下一像素点。voidMidpointLine(intx0,inty0,intx1,inty1,intcolor){inta,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;while(x

5、e{x++;d=d+d1;}drawPixel(x,y,color);}}步数,前一点,当前d,当前点,下一d】四、Bresenham算法【算法思想:令k=Δy/Δx,就0≤k≤1的情况来说明Bresenham算法。可知:k=yi-1-yi/xi+1-xi=yi+1-yi所以yi+1=yi+k由于k不一定是整数,由此式求出的yi也不一定是整数,因此要用坐标为(xi,yir)的象素来表示直线上的点,其中yir表示最靠近yi的整数。这是DDA算法的做法.而Bresenham算法则要避免使用取整函数.Br

6、esenhamLine(x0,y0,x1,y1,color){intx,y,dx,dy;intf;dx=x1-x0;dy=y1-y0;f=2dy-dx;x=x0;y=y0;for(i=0;i<=dx;i++){drawpixel(x,y,color);if(f>=0){y=y+1;x=x+1;f=f-2dx+2dy};else{x=x+1;f=f+2dy;}}}步数,当前输出点,当前f,下一输出点,下一f】圆的扫描转换:一、Bresenham画圆法【算法思想:根据圆的方程:(x2+y2)=R2用扫描

7、线方式生成圆时,会出现x方向增量取1,则y=±(R2-x2)1/2,这种方法,既增加了运算复杂性,又会产生点集疏密不均的现象。Bresenham算法的基本思想是寻找最接近于实际圆周上的点来逼近圆周。任意圆算法:1.置第一点坐标:x=0,y=R;2.置初始误差:d=3-2R;3.whilex<ydoCirclePoint(x,y,color)4.ifd<0then{x=x+1;d=d+4·x+6;} else{d=d+4·(x-y)+10,x=x+1,y=y-1;}if x=ythenCirclePo

8、int(x,y,color);步数,当前输出点,当前d,下一输出点,下一d】二、正负画圆法【算法思想:设圆的方程为F(x,y)=X2+Y2-R2=0;假设求得Pi的坐标为(xi,yi);则当Pi在圆内时---F(xi,yi)≤0---下一点向右,向圆外Pi在圆外时--F(xi,yi)>0---下一点向下,向圆内由于F(xi,yi)时正时负,故称正负法。1.置第一点坐标:x=0,y=R2.置初始误差:d=03.whiley>0do4.输出点(x,y)5.ifd>0the

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。