计算机图形学基础教程第2章-光栅图形学(第二版)(孙家广-胡事民编著).doc

计算机图形学基础教程第2章-光栅图形学(第二版)(孙家广-胡事民编著).doc

ID:58226813

大小:1.20 MB

页数:25页

时间:2020-04-29

计算机图形学基础教程第2章-光栅图形学(第二版)(孙家广-胡事民编著).doc_第1页
计算机图形学基础教程第2章-光栅图形学(第二版)(孙家广-胡事民编著).doc_第2页
计算机图形学基础教程第2章-光栅图形学(第二版)(孙家广-胡事民编著).doc_第3页
计算机图形学基础教程第2章-光栅图形学(第二版)(孙家广-胡事民编著).doc_第4页
计算机图形学基础教程第2章-光栅图形学(第二版)(孙家广-胡事民编著).doc_第5页
资源描述:

《计算机图形学基础教程第2章-光栅图形学(第二版)(孙家广-胡事民编著).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、备注教案用纸教学内容第二次课第2章光栅图形学光栅图形显示器相当于一个象素的矩阵。图形的扫描转换(或图形的光栅化):确定最佳逼近图形的象素集合,并用指定属性写象素的过程。重要概念及算法:区域填充:二维图形的光栅化必须确定区域对应的象素集,并用指定的属性或图案显示之。裁剪:确定一个图形的哪些部分在窗口内,必须显示;那些部分落在窗口之外,不该显示的过程。走样——反走样:光栅化时,由于显示器分辨率有限,对于非水平、非垂直的直线,因象素逼近误差,使所画图形产生畸变(台阶、锯齿)的现象称之为走样。用于减少或消除走样的技术称为反走样。隐藏——消隐:隐藏部分

2、是不可见的,如果不删除隐藏的线或面,可能对图形错误理解。因此必须把隐藏的部分从图中删除,称为消隐。2.1直线段的扫描转换算法直线的扫描转换:确定最佳逼近于该直线的一组象素,并且按扫描线顺序,对这些象素进行写操作。三个常用算法:l数值微分法(DDA)l中点画线法lBresenham算法2.1.1数值微分(DDA)法基本思想:已知过端点的直线段L:,直线斜率为第25页备注教案用纸教学内容,从x的左端点x0开始,向x右端点步进,步长=1(个象素),计算相应的y坐标y=kx+b;取象素点(x,round(y))作为当前点的坐标。l作为最底层的光栅图形

3、算法,在通常的CAD/图形系统中,会被大量应用,因此,哪怕节约一个加法或减法,也是很了不起的改进。l由此出发点,导致增量算法的思想。计算当时;即:当x每递增1,y递增k(即直线斜率)。算法程序2-1(P18)例:画直线段,DDA算法演示。2.1.2中点画线法基本思想:当前象素点为(xp,yp),下一个象素点为P1或P2。设M=(xp+1,yp+0.5),为P1与P2之中点,Q为理想直线与x=xp+1垂线的交点。将Q与M的y坐标进行比较。l当M在Q的下方,则P2应为下一个象素点;lM在Q的上方,应取P1为下一点。构造判别式:d=F(M)=F(x

4、p+1,yp+0.5)=a(xp+1)+b(yp+0.5)+c其中a=y0-y1,b=x1-x0,c=x0y1-x1y0n当d<0,M在L(Q点)下方,取右上方P2为下一个象素;n当d>0,M在L(Q点)上方,取右方P1为下一个象素;n当d=0,选P1或P2均可,约定取P1为下一个象素;可采用增量计算,提高运算效率:l若d³0,则取正右方象素P1(xp+1,yp),要判下一个象素位置,应计算第25页备注教案用纸教学内容d1=F(xp+2,yp+0.5)=a(xp+2)+b(yp+0.5)=d+a;增量为a。l若d<0,则取右上方象素P2(xp

5、+1,yp+1)。要判断再下一象素,则要计算d2=F(xp+2,yp+1.5)=a(xp+2)+b(yp+1.5)+c=d+a+b;增量为a+b。画线从(x0,y0)开始,d的初值:d0=F(x0+1,y0+0.5)=F(x0,y0)+a+0.5b=a+0.5b。可以用2d代替d来摆脱小数,提高效率。令d0=2a+b,d1=2a,d2=2a+2b。算法程序2-2(P19)例:用中点画线法中点画线算法演示2.1.3Bresenham算法基本思想:过各行各列象素中心构造一组虚拟网格线。按直线从起点到终点的顺序计算直线与各垂直网格线的交点,然后根据

6、误差项的符号确定该列象素中与此交点最近的象素。设直线方程为:yi+1=yi+k(xi+1-xi)=yi+k,其中k=dy/dx。因为直线的起始点在象素中心,所以误差项d的初值d0=0。x下标每增加1,d的值相应递增直线的斜率值k,即d=d+k。一旦d≥1,就把它减去1,这样保证d在0、1之间。l当d≥0.5时,最接近于当前象素的右上方象素(xi+1,yi+1),y方向加1,d减去1;l而当d<0.5时,更接近于右方象素(xi+1,yi)。为方便计算,令e=d-0.5,e的初值为-0.5,增量为k。l当e≥0时,取当前象素(xi,yi)的右上方

7、象素(xi+1,yi+1),e减小1;l而当e<0时,更接近于右方象素(xi+1,yi)。算法程序2-3(P21)例:Line:P0(0,0),P1(5,2)k=dy/dx=0.4,图示第25页备注教案用纸教学内容可以改用整数以避免除法。由于算法中只用到误差项的符号,因此可作如下替换:。最终,Bresenham算法也是每个象素,需一个整数算法,其优点是可以用于其他二次曲线。第25页备注教案用纸教学内容第三次课2.2圆弧的扫描转换算法圆的特征:八对称性,只要扫描转换八分之一圆弧,就可以求出整个圆弧的象素集。中点画圆法:考虑中心在原点,半径为R的

8、第二个8分圆。构造判别式(圆方程):l若d<0,则取P1为下一象素,而且再下一象素的判别式l若d>=0,则应取P2为下一象素,而且下一象素的判别式第一个象素是(0,

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

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

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