计算机图形学实验体会,计算机图形学实验报告.doc

《计算机图形学实验报告.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《计算机图形学实验报告.doc》文档请在天天文库搜索。

1、教育科学与技术学院2016/2017学年第一学期实 验 报 告 实验课程名称 计算机图形学 专 业 教育技术学 学 生 学 号 B14150216 学 生 姓 名 姚行健 指 导 教 师 熊健、闫静杰 指 导 单 位 通信与信息工程学院 日 期: 2016 年 10 月 15 日实验一:直线的生成一、 实验目的:1. 理解直线生成的基本原理2. 编程实现Bresenham直线扫描生成算法 二、 实验内容:在理解Bresenham直线扫描生成算法的基本思想之后再具体编写C语言程序三、 实验方法及编程:a) 实现方法介绍 过各行各列像素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线与各垂直网格线的交点,然后确定该列像素中与此交点最近的像素b) 实现代码及分析#include#includeint main(){int gdriver=DETECT,gmode,i,a[4],b[4]。

2、;float t,x,y;printf("input four points\n");for(i=0;i<4;i++)scanf("%d%d",&a[i],&b[i]);initgraph(&gdriver,&gmode,"C:\\TC20\\BGI") ;setcolor(12);for(i=0;i<3;i++)line(a[i],b[i],a[i+1],b[i+1]);for(t=0.000;t<=1.00;t+=0.001){y=(1-t)*(1-t)*(1-t)*b[0]+3*(1-t)*(1-t)*t*b[1]+3*(1-t)*t*t*b[2]+t*t*t*b[3];x=(1-t)*(1-t)*(1-t)*a[0]+3*(1-t)*(1-t)*t*a[1]+3*(1-t)*t*t*a[2]+t*t*t*a[3];putpixel((int)(x+0.5),(in。

3、t)(y+0.5),50);}getch();closegraph();return 1;}四、 实验结果及分析: ‘实验二:自由曲线的生成一、 实验目的:1. 掌握曲线的表示形式、曲线的连续性条件、拟合和逼近的基本概念     2. 掌握Bezier曲线的性质 3. 编程实现Bezier曲线生成算法二、 实验内容:根据所学自由曲线的拟合方法及其相关知识编写一个绘制三次Bezier曲线的程序三、 实验方法及编程:a) 实现方法介绍 运用所学的三次贝塞尔曲线生成的算法,根据对应的数据点计算出结果,

你可能感兴趣的:(计算机图形学实验体会)