计算机图形学课程设计实验报告

计算机图形学课程设计实验报告
计算机图形学课程设计实验报告

计算机图形学课程设计实验报告

SHANDONG. UNIVERsrrr OF SCIENCE ^ND TECHNOLOGY

《计算机图形学》

实验报告

班级计算机科学与技术

姓名

学号

实验一基本图形生成算法

一、实验目的:

1、掌握中点Bresenham 绘制直线的原理;

2、设计中点Bresenham 算法;

3、掌握八分法中点Bresenham 算法绘制圆的原理;

4、设计八分法绘制圆的中点Bresenham 算法;

5 、掌握绘制1/4 椭圆弧的上半部分和下半部分的中点Bresenham 算法原理;

6、掌握下半部分椭圆偏差判别式的初始值计算方法;

7、设计顺时针四分法绘制椭圆的中点Bresenham 算法。

二、实验过程:

1、实验描述

实验1:使用中点Bresenham 算法绘制斜率为0<=k<=1 的直线。

实验2:使用中点Bresenham 算法绘制圆心位于屏幕客户区中心的圆。

实验3:使用中点Bresenham 算法绘制圆心位于屏幕客户区中心的椭圆。2、实验过程

1)用MFC(exe建立一个单文档工程;

2)编写对话框,生成相应对象,设置相应变量;

3)在类CLineView 中声明相应函数,并在相关的cpp 文件中实

现;

4) 在OnDraw ()函数里调用函数实现绘制直线、圆、椭圆;

5) 运行程序,输入相应值,绘制出图形。

三、源代码

实验1:直线中点Bresenham 算法

1.// cline.cpp : implementation file

// cline dialog cline::cline(CWnd* pParent /*=NULL*/)

: CDialog(cline::IDD, pParent)

{

//{{AFX_DATA_INIT(cline) m_x0 = 0;

m_y0 = 0;

m_x1 = 0;

m_y1 = 0; //}}AFX_DATA_INIT

}

void cline::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(cline)

DDX_Text(pDX, IDC_x0, m_x0); DDX_Text(pDX, IDC_y0, m_y0);

DDX_Text(pDX, IDC_x1, m_x1); DDX_Text(pDX, IDC_y1, m_y1);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(cline, CDialog)

//{{AFX_MSG_MAP(cline) //}}AFX_MSG_MAP

END_MESSAGE_MAP()

2、// LineView.h

class CLineView : public CView

{

public:

CLineDoc* GetDocument();

相关主题
相关文档
最新文档