计算机图形学课程设计-直线绘制和填充纹理

计算机图形学课程设计-直线绘制和填充纹理

ID:35628712

大小:137.66 KB

页数:26页

时间:2019-04-03

计算机图形学课程设计-直线绘制和填充纹理_第1页
计算机图形学课程设计-直线绘制和填充纹理_第2页
计算机图形学课程设计-直线绘制和填充纹理_第3页
计算机图形学课程设计-直线绘制和填充纹理_第4页
计算机图形学课程设计-直线绘制和填充纹理_第5页
资源描述:

《计算机图形学课程设计-直线绘制和填充纹理》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、合肥工业大学计算机图形学课程实验报告课程名称计算机图形学班级信息一班实验日期2011.12.22姓名陈育伟学号20096361实验成绩实验名称直线绘制和填充纹理实验目的及要求一、应用VC6.0绘制直线二、应用VC6.0及OpenGL进行纹理填充实验环境VC++6.0,OpenGL实验内容计算机图形学的算法,并用c语言编写绘图程序。主要内容包括线段、园、区域填充、线型线宽、字符、裁剪、等基本图形生成算法;样条、Bezier、等常用曲线的生成算法;Coons曲面、Bezier曲面、B样条曲面等常用曲面的生成算法。Bresenham画法与中点法相似,

2、都是通过每列象素中确定与理想直线最近的像素来进行直线的扫描的转换的。通过各行、各列的象素中心构造一组虚拟网格线的交点,然后确定该列象素中与此交点最近的像素。该算法的巧妙之处在于可以采用增量计算,使得对于每一列,只需要检查一个误差项的符号,就可以确定该列的所有对象。从根本上说,纹理是物体表面的细小结构,它可以是光滑表面的花纹、图案,是颜色纹理,这时的纹理一般都是二维图象纹理,当然它也有三维纹理,我们将在下面的小节中分别介绍它们的映射方法;纹理还可以是粗糙的表面(如桔子表面的皱纹),它们被称为几何纹理,是基于物体表面的微观几何形状的表面纹理,一种最

3、常用的几何纹理就是对物体表面的法向进行微小的扰动来表现物体表面的细节。算法描述及实验步骤一、Bresenham直线算法1、画点(x1,y1),dx=x(2)-x(1),dy=y(2)-y(1),计算误差初值P(1)=2dy-dx,i=1.2、求直线的下一点位置x(i+1)=x(i)+1,如果P(i)>0,则y(i+1)=y(i)+1,否则y(i+1)=y(i).3、画点(x(i+1),y(i+1)).4、求下一个误差P(i+1),如果P(i)>0,则P(i+1)=P(i)+2dy-2dx,否则P(i+1)=P(i)+2dy.5、I=i+1;如果

4、i

5、了程序开发的进度,为此,我将问题简化,将一个大的系统分成几个小模块进行,如此一来,某个模块无法运行不会影响到其他模块的调试,较好的帮助了排错过程。此外,尽管对于图形学的相关算法设计比较了解,但因为具体实现过程中,相关的代码的设计错误,以及对MFC不够了解,导致开发进度缓慢。对该问题,我一方面对代码的构建更加仔细,另一方面积极利用身边的资源进行疑难解答。最后终于排除了种种困难,基本实现了课设的要求。同时,我也应当看到此次课程设计的一些不足,例如三大模块最后并没有整合在一起,对于直线起点终点,圆的中点等信息无法由外界定义,这些问题,假以时日,定能得

6、到改进。通过此次课程设计,我的实际操作能力不仅得到了提高,也为我进一步深入图形学奠定了坚实的基础。附录一、直线绘制DDA算法:voidC基本图形的生成View::OnDdaline(){CDC*pDC=GetDC();intxa=100,ya=300,xb=300,yb=200,c=RGB(255,0,0);intx,y;floatdx,dy,k;dx=(float)(xb-xa),dy=(float)(yb-ya);k=dy/dx,y=ya;26if(abs(k)<1){for(x=xa;x<=xb;x++){pDC->SetPixel(x,

7、int(y+0.5),c);y=y+k;}}if(abs(k)>=1){for(y=ya;y<=yb;y++){pDC->SetPixel(int(x+0.5),y,c);x=x+1/k;}}ReleaseDC(pDC);}Bresenham算法:voidC基本图形的生成View::OnBresenhamline(){CDC*pDC=GetDC();intx1=100,y1=200,x2=350,y2=100,c=RGB(0,0,255);inti,s1,s2,interchange,f;floatx,y,deltax,deltay,e,tem

8、p;x=x1;y=y1;deltax=abs(x2-x1);deltay=abs(y2-y1);if(x2-x1>=0)s1=1;elses1=-1;

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

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

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