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

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

ID:44121465

大小:344.77 KB

页数:17页

时间:2019-10-18

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

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

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

2、1.从DDA、中点、Bresenham画线法中任选一种,完成直线的绘制。2.从中点、Bresenham画圆法中任选一种,完成圆的绘制。打开VC++6.0,新建一个工程,再在工程里而建一个・cpp文件,编辑程序,编译连接后执行即可。程序如下bresenham画线法:#include#includeintbrcscnham(intxOjnlyO.intxl.intyl,intcolor){intx,y,dx,dy,c,i;dx=xl-xO;dy=yl-yO;e=-dx;y=yO;for(x=xO;x<=xI

3、;x++){putpixel(x,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画圆法:#includc#includeintcirclepoints(intx,inty,intcolor){putpixel(255+x,255+y,color);

4、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);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)

5、{circlepoints(x,y,color);if(d<0)d+=4*x+6;else{d=d+4*(x-y)+10;y-s}X++;}return0;}intmain(){initgraph(640,480);bresenhamcircle(l00,255);while(!kbhit()){}closegraph();return0;五、实验结果记录与分析实验结果如下:桃Jra5六、疑难问题报告湖北民族学院信息工程学院实验报告(数字媒体技术专业用)班级:0312413姓名:I甚敦斌学号:031241318实验成绩:实验时间:2013年10

6、月29日9、10节实验地点:数媒实验室课程名称:计算机图形学基础教程实验类型:设计型回实验题目:多边形的填充算法和曲线的绘制一、实验目的通过本次实验,熟练掌握种子填充算法和多边形扫描线填充算法以及bezier曲线或者B样条曲线的基本绘制算法,能够独立在vc环境下实现任意多边形的填充和一般曲线的绘制,进一步熟悉opengl的语法结构和强人的绘图功能,增强多媒体底层程序绘图能力。二、实验环境(软件.硬件及条件)Microsoftvc+4-6.0多媒体计算机三、实验内容1•选择种子填充算法或者多边形的扫描线算法完成多边形的填充。2•选择bezier曲

7、线或者B样条曲线算法完成曲线的绘制。打开VC++6.0,新建一个工程,再在工程里面建一个・cpp文件,编辑程序,编译连接后执行即可。程序如下:多边形扫描线填充算法://sweep.h#ifndcfSWEEP_H#defineSWEEP_HstructEdge{intnxty;intcurx;intdx,dy;Edge*nxt;};voidsweep(intp[][2],intn,void(*setPixel)(int,int));#endif//svveeplineaCpp#include#include#

8、include#include"sweep.h”voidmylnit();voidsetPixel(intx,inty);voidmy

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

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

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