计算机图形学实验教程.doc

计算机图形学实验教程.doc

ID:50847337

大小:1.39 MB

页数:27页

时间:2020-03-15

计算机图形学实验教程.doc_第1页
计算机图形学实验教程.doc_第2页
计算机图形学实验教程.doc_第3页
计算机图形学实验教程.doc_第4页
计算机图形学实验教程.doc_第5页
资源描述:

《计算机图形学实验教程.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机图形学实验教程信息科学与工程系实验名称实验一直线生成算法实验二圆的生成算法实验三椭圆的生成算法实验四多边形填充算法实验五二维图形的几何变换实验六常用曲面和曲线的生成算法实验七常用消隐算法实验八曲线和曲面算法的应用实验九真实感图形生成实验一、直线生成算法数值微分法(DDA画线算法)vDDA-DigitalDifferentialAnalyzerv设直线两端点为:P1(x1,y1)及P0(x0,y0),v则直线斜率为则直线方程为当k<1,x每增加1,y最多增加1(或增加小于1)。yixiyi+1xi+1当k>1,y每增加1,

2、x最多增加1(或增加小于1)。DDA算法:复杂度:加法+取整优点:避免了y=kx+b方程中的浮点乘法,比直接用点斜式画线快缺点:需浮点数加法及取整运算,不利于硬件实现.上机实验一题目:编写用DDA画线算法画线算法的程序。要求:1。写出DDA画线算法的基本思想和公式。并叙述其优缺点。2。编写用DDA画线算法的程序。并比较其结果。3。写出上机报告中点画线法v设0

3、提高.yxF(x,y)=0F(x,y)>0F(x,y)<0(x1,y1)(x0,y0)直线方程:F(x,y)=ax+by+c=0直线将二维空间划分为三个区域:如F(x,y)=0,则(x,y)在直线上如F(x,y)<0,则(x,y)在直线下方如F(x,y)>0,则(x,y)在直线上方条件:a=-(y1-y0)b=(x1-x0)c=-B(x1-x0)设(x0,y0)和(x1,y1)分别为直线的两端点Dy=y1-y0,Dx=x1-x0由y=kx+B及k=Dy/Dx,k∈[0,1]得:y=(Dy/Dx).x+BDy.x-Dxy+Dx.

4、B=0则直线一般方程为:F(x,y)=Dy.x-Dx.y+B.Dx=0a=Dy,b=-Dx,c=B.Dx设(x,y)为直线上一点,将点P=(x,y+m)代入直线方程:F(x,y+m)=Dy.x-Dx.(y+m)+B.Dx=(Dy.x-Dx.y+B.Dx)-Dx.m=F(x,y)-Dx.m=-Dx.m因为Dx>0ifm>0(即P点在直线上方)thenF(x,y+yb)<0;ifm<0(即P点在直线下方)thenF(x,y+yb)>0;定义决策变量:d=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c如果d>0

5、,则M在理想直线上方,选正右方E点如果d<0,则M在理想直线下方,选右上方NE点如果d=0,则M在理想直线上,选E/NE点由于d是xi和yi的线性函数kÎ[0,1],可采用增量计算数提高运算效率.1.如由pi点确定在是正右方E点(d>0).,则新的中点M仅在x方向加1,新的d值为:dnew=F(xi+2,yi+0.5)=a(xi+2)+b(yi+0.5)+c而dold=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+cdnew=dold+a=dold-dy2.如由pi点确定是右上方NE点(d<0),则新的中点

6、M在x和y方向都增加1,新的d值为dnew=F(xi+2,yi+1.5)=a(xi+2)+b(yi+1.5)+c而dold=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+cdnew=dold+a+b=dold-dy+dx在每一步中,根据前一次第二迭中计算出的d值的符号,在正右方和右上方的两个点中进行选择.d的初始值:d0=F(x0+1,y0+0.5)=F(x0,y0)+a+b/2=a+b/2=-dy+dx/2F(x0,y0)=0(x0,y0)在直线上为了消除d的分数,重新定义F(x,y)=2(ax+by+c

7、)则每一步需要计算的dnew是简单的整数加法dy=y1-y0dx=x1-x0d0=-2dy+dxdnew=dold-2*dy当dold>=0dnew=dold-2(dy-dx)当dold<0Bresenham画线算法与DDA算法相似,Bresenham画线算法也要在每列象素中找到与理想直线最逼近的象素点。根据直线的斜率来确定变量在x或y方向递增一个单位。另一个方向y或x的增量为0或1,它取决于实际直线与最接近网格点位置的距离。这一距离称为误差。算法的巧妙构思,使每次只需检查误差项(增量)的符号即可。定义决策变量d=d+k(0<

8、k<1)设0=0.5)当d>1时,让d=d-1,以保证0<=d<1d0=0定义决策变量d=d+k(0

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

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

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