华中科技大学计算机图形学实验报告

课 程 实 验 报 告

课程名称: 计 算 机 图 形 学

专业班级: 学 号: 姓 名: 指导教师: 报告日期: 2015-11-11

计算机科学与技术学院

0

实验一:分形图形绘制

一、 实验目的(标题四号黑体)

(1)理解OpenGL 中glut 程序框架; (2)掌握二维基本图形绘制算法;

(3)利用二维基本图形绘制算法,扩展对其他复杂图形的绘制理解。

二、实验内容

1、实验算法

(a) 中点Bresenham算法画线

a) 输入直线的两个端点:端点

、端点

。必要时交换A、

B两点的坐标,使A点不在B点的右边。 令

b) 讨论直线的斜率的大小及正负,分四种情况分别逐点画线: i.

最大位移方向为x轴。构建判别公式:

其中,初值当当ii.

时,时,

,。

最大位移方向为x轴。构建判别公式:

其中,初值当当

。 ,。

1

时,时,

iii. 当

最大位移方向为x轴。构建判别公式:

其中,初值当当iv.

时,时,

,。

最大位移方向为x轴。构建判别公式:

其中,初值当当

时,时,

,。

c) 当直线没有画完时重复b)步骤 (b) 绘制分形三角形

a) 输入三角形的三个端点:端点

、递归层数n。

b) 连接A、B、C三点。 c) 当

时,连接输入三角形三边的中点,将分割得到的四个三角形

作为输入参数,递归调用本步骤。

、端点

、端点

中包含顶点的三个、

2、源程序

#include #include #include

#define ROUND(a) ((int )(a+0.5)) //求某个数的四舍五入值 using namespace std;

//全局变量声明:三角形三顶点及递归层数

GLint Global_xa, Global_ya, Global_xb, Global_yb, Global_xc, Global_yc;

2

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4