资源描述:
《DDA、Bresenham、Midpoint算法画直线报告1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、南华大学计算机科学与技术学院实验报告课程名称计算机图形学实验名称DDA、Bresenham、Midpoint算法画直线南华大学计算机科学与技术学院实验报告一、实验目的及要求(1)理解窗口到视区的变换(2)理解MFC创建工程实现动画的原理(3)学习MFC类库的概念与结构(4)学习使用VC++编写Win32应用的方法(单文档,多文档,对话框)(5)学习使用MFC的图形编程软件环境:MicrosoftstudiovisualC++6.0MFC硬件:计算机二、实验内容(1)添加代码实现DDA算法画直线(2)添加代码实现B
2、resenham算法画直线(3)添加代码实现Midpointline画直线(4)添加代码实现画圆三、实验步骤选择工作环境添加工程名南华大学计算机科学与技术学院实验报告选择程序类型前几步省略全选默认值选择resource-Menu南华大学计算机科学与技术学院实验报告添加不同函数画直线和圆为每个函数建立类向导在fileview中打开sourcefilesview.cpp输入各函数代码并编译运行无误南华大学计算机科学与技术学院实验报告四、实验源码//直线和圆View.cpp:implementationoftheCMy
3、Viewclass//#include"stdafx.h"#include"直线和圆.h"#include"直线和圆Doc.h"#include"直线和圆View.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CMyViewIMPLEM
4、ENT_DYNCREATE(CMyView,CView)BEGIN_MESSAGE_MAP(CMyView,CView)//{{AFX_MSG_MAP(CMyView)ON_COMMAND(ID_DDALINE,OnDdaline)ON_COMMAND(ID_MIDPOINTLINE,OnMidpointline)ON_COMMAND(ID_BRESENHAMLINE,OnBresenhamline)ON_COMMAND(ID_MIDPOINTCIRCLE,OnMidpointcircle)//}}AFX_MSG
5、_MAP//StandardprintingcommandsON_COMMAND(ID_FILE_PRINT,CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT,CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView::OnFilePrintPreview)END_MESSAGE_MAP()//////////////////////////////////////////////////////////
6、/////////////////////CMyViewconstruction/destructionCMyView::CMyView(){//TODO:addconstructioncodehere}CMyView::~CMyView(){}BOOLCMyView::PreCreateWindow(CREATESTRUCT&cs){//TODO:ModifytheWindowclassorstylesherebymodifying//theCREATESTRUCTcsreturnCView::PreCreat
7、eWindow(cs);}///////////////////////////////////////////////////////////////////////////////CMyViewdrawingvoidCirclePoints(intx,inty,intcolor,CDC*pDC)南华大学计算机科学与技术学院实验报告{pDC->SetPixel(x,y,color);pDC->SetPixel(y,x,color);pDC->SetPixel(-x,y,color);pDC->SetPixel(
8、y,-x,color);pDC->SetPixel(x,-y,color);pDC->SetPixel(-y,x,color);pDC->SetPixel(-x,-y,color);pDC->SetPixel(-y,-x,color);}voidMidpointcircle(intr,intcolor,CDC*pDC){intx,y;floatd;x=0;y=r;d=1.