计算机图形学基础教程实验报告.doc

计算机图形学基础教程实验报告.doc

ID:59493041

大小:187.50 KB

页数:17页

时间:2020-11-03

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

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

1、湖北民族学院信息工程学院实验报告(数字媒体技术专业用)班级:姓名:谌敦斌学号:实验成绩:实验时间:2013年10月14日9、10节实验地点:数媒实验室课程名称:计算机图形学基础教程实验类型:设计型þ实验题目:直线与圆的绘制一、实验目的通过本次实验,熟练掌握DDA、中点、Bresenham直线绘制方法和中点、Bresenham圆的画法,能够在vc环境下独立完成实验内容,逐渐熟悉opengl的语法特点,提高程序基本绘图的能力。二、实验环境(软件、硬件及条件)Microsoftvc++6.0多媒体计算机三、实验内容1.从DDA、中点、Bresenham画线法

2、中任选一种,完成直线的绘制。2.从中点、Bresenham画圆法中任选一种,完成圆的绘制。四、实验方法与步骤打开vc++6.0,新建一个工程,再在工程里面建一个.cpp文件,编辑程序,编译连接后执行即可。程序如下bresenham画线法:#include#includeintbresenham(intx0,inty0,intx1,inty1,intcolor){intx,y,dx,dy,e,i;dx=x1-x0;dy=y1-y0;e=-dx;y=y0;for(x=x0;x<=x1;x++){putpixel(x

3、,y,color);e+=2*dy;if(e>=0){y++;e-=2*dx;}}return0;}intmain(){initgraph(640,480);bresenham(0,0,500,200,255);while(!kbhit()){}closegraph();return0;}Bresenham画圆法:#include#includeintcirclepoints(intx,inty,intcolor){putpixel(255+x,255+y,color);putpixel(255+y,255+x

4、,color);putpixel(255-x,255+y,color);putpixel(255+y,255-x,color);putpixel(255-x,255-y,color);putpixel(255-y,255-x,color);putpixel(255+x,255-y,color);putpixel(255-y,255+x,color);return0;}intbresenhamcircle(intr,intcolor){intx,y,d;x=0;y=r;d=3-2*r;while(x<=y){circlepoints(x,y,color)

5、;if(d<0)d+=4*x+6;else{d=d+4*(x-y)+10;y--;}x++;}return0;}intmain(){initgraph(640,480);bresenhamcircle(100,255);while(!kbhit()){}closegraph();return0;}五、实验结果记录与分析实验结果如下:六、疑难问题报告湖北民族学院信息工程学院实验报告(数字媒体技术专业用)班级:姓名:谌敦斌学号:实验成绩:实验时间:2013年10月29日9、10节实验地点:数媒实验室课程名称:计算机图形学基础教程实验类型:设计型þ实验题目:

6、多边形的填充算法和曲线的绘制一、实验目的通过本次实验,熟练掌握种子填充算法和多边形扫描线填充算法以及bezier曲线或者B样条曲线的基本绘制算法,能够独立在vc环境下实现任意多边形的填充和一般曲线的绘制,进一步熟悉opengl的语法结构和强大的绘图功能,增强多媒体底层程序绘图能力。二、实验环境(软件、硬件及条件)Microsoftvc++6.0多媒体计算机三、实验内容1.选择种子填充算法或者多边形的扫描线算法完成多边形的填充。2.选择bezier曲线或者B样条曲线算法完成曲线的绘制。四、实验方法与步骤打开vc++6.0,新建一个工程,再在工程里面建一个

7、.cpp文件,编辑程序,编译连接后执行即可。程序如下:多边形扫描线填充算法://sweep.h#ifndefSWEEP_H#defineSWEEP_HstructEdge{intnxty;intcurx;intdx,dy;Edge*nxt;};voidsweep(intp[][2],intn,void(*setPixel)(int,int));#endif//sweepline.cpp#include#include#include#include"sweep.h"voidmyInit();void

8、setPixel(intx,inty);voidmyDisplay();intmain(int

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

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

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