计算机图形学-3.1直线生成算法.ppt

计算机图形学-3.1直线生成算法.ppt

ID:61835608

大小:684.00 KB

页数:19页

时间:2021-03-23

计算机图形学-3.1直线生成算法.ppt_第1页
计算机图形学-3.1直线生成算法.ppt_第2页
计算机图形学-3.1直线生成算法.ppt_第3页
计算机图形学-3.1直线生成算法.ppt_第4页
计算机图形学-3.1直线生成算法.ppt_第5页
资源描述:

《计算机图形学-3.1直线生成算法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章基本图形的扫描转换3.1直线的扫描转换3.2圆的扫描转换3.3椭圆的扫描转换3.4反走样技术主要教学内容3.1直线的扫描转换3.1.1数值微分法3.1.2中点Bresenham画线算法由于光栅显示器的特点,显示屏上的每幅画面均由离散的像素构成,一条直线只能用一系列靠近直线的像素近似地表示。直线的扫描转换:确定最佳逼近直线的一组象素,并且按扫描线顺序,对这些象素进行写操作。3.1直线的扫描转换(生成单像素宽度的直线)已知起点、终点,欲生成一条直线,算法应满足几点要求:(1)所画的线要直;(2)具有精确的起点和终点;(3)所显示的亮度沿直线不变,与直线的长度和方向无关;(4)画直线

2、速度快。假定直线的起点、终点分别为:(x0,y0),(x1,y1),且都为整数。。(Xi+1,Yi+k)(Xi,Round(Yi)(Xi,Yi)栅格交点表示象素点位置。。。3.1.1数值微分法(DDA算法)基本思想:已知过端点P0(x0,y0),P1(x1,y1)的直线段Ly=kx+b直线斜率为3.1.1数值微分法(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地位互换,y

3、每增加1,x相应增加1/k。3.1.1数值微分法(DDA算法)举例:画直线段P0(0,0)--P1(5,2)xyround(y)00010.4020.8131.2141.62522增量算法:在一个迭代算法中,如果每一步的x、y值是用前一步的值加上一个增量来获得,则称为增量算法。因此,DDA算法就是一个增量算法。这种方法直观,但效率太低,因为y与k必须用浮点数表示,且每一步都必须对y进行舍入取整,不利于硬件实现。3.1.1数值微分法(DDA算法)思想:x方向上每次加1,y方向上加不加1取决于中点偏差判别式的值。原理:假定直线斜率0

4、最接近的象素只能是P1点或P2点。设M为中点(Xp+1,Yp+0.5),Q为理想直线与垂直线X=Xp+1的交点。现需确定下一个点的象素。3.1.2中点Bresenham画线法当M在Q的下方->P2离直线更近->取P2M在Q的上方->P1离直线更近->取P1M与Q重合,P1、P2任取一点。问题:如何判断M与Q点的关系?3.1.2中点画线法由常识知:∴欲判断M点是在Q点上方还是在Q点下方,只需把M代入F(x,y),并检查它的符号。3.1.2中点画线法构造判别式:d=F(M)=F(xp+1,yp+0.5)=yp+0.5-k(xp+1)-b当d<0,M在直线(Q点)下方,取右上方P2;当d>

5、0,M在直线(Q点)上方,取正右方P1;当d=0,选P1或P2均可,约定取P1;3.1.2中点画线法M(xi+2,yi+1.5)M(xi+1,yi+0.5)P(xi,yi)M(xi+1,yi+0.5)M(xi+2,yi+0.5)P(xi,yi)中点偏差判别式的递推d<0d≥01.中点偏差判别式的递推公式在主位移x方向上已走一步的情况下,现在考虑沿主位移方向再走一步,应该选择哪个中点代入中点偏差判别式以决定下一步该点亮的像素,如图3-3所示,分两种情况讨论。(1)当d<0时⑵当d≥0时(3-5)(3-4)直线的起点坐标为P0(x0,y0),x为主位移方向。因此,第一个中点是(x0+1,

6、y0+0.5),相应的d的初始值为:其中,因为(x0,y0)在直线上,所以则:(3-6)2.中点偏差判别式的初始值k=0.4d0=0.5-k=0.1xyd00100.121-0.3310.342-0.1520.5举例:用中点Bresenham画线法P0(0,0),P1(5,2)

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

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

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