欢迎来到天天文库
浏览记录
ID:22020824
大小:237.40 KB
页数:13页
时间:2018-10-26
《计算机图形学实验一》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验一二维基本图元的生成与填充实验目的1.了解并掌握二维基本图元的生成算法与填充算法。2.实现直线生成的DDA算法、中点算法和Bresenham算法。3.实现圆和椭圆生成的DDA和中点算法,对几种算法的优缺点有感性认识。二.实验内容和要求1.选择自己熟悉的任何编程语言,建议使用VC++6.0。2.创建良好的用户界面,包括菜单,参数输入区域和图形显示区域。3.实现生成直线的DDA算法、中点算法和Bresenham算法。4.实现圆弧生成的中点算法。5.实现多边形生成的常用算法,如扫描线算法,边缘填充算法。6.实现一般连通区域的基于扫描线的种子填充算法。7.将生成算法以菜单或按
2、钮形式集成到用户界面上。8.直线与圆的坐标参数可以用鼠标或键盘输入。6.可以实现任何情形的直线和圆的生成。实验报告1.用户界妞的设计思想和框图。2.各种实现算法的算法思想。3.算法验证例子。4.上交源程序。直线生成程序设计的步骤如下:为编程实现上述算法,本程序利用最基本的绘制元素(如点、直线等),绘制图形。如阁1-1所示,为程序运行主界而,通过选择菜单及下拉菜单的各功能项分别完成各种对应算法的图形绘制。一无标题-基本阌形的生成.inlxl文件©编辑©査看⑵直线I啦略
3、昌DDA算法生成直线中点算法生成直线Bresenham算法生成直线图1-1祕本图形生成的程序运行界而2.创
4、建工程名称为“基本图形的生成”单文档应用程序框架(1)启动VC,选择“文件”
5、“新建”菜单命令,并在弹出的新建对话框中单击“工程”标签。(2)选择MFCAppWizard(exe),在“工程名称”编辑框巾输入“基本图形的生成”作为工程名称,单击“确定”按钮,出现Step1对话框。(3)选择“单个文档”选项,单击“下一个”按钮,出现Step2对话框。(4)接受默认选项,单击“下一个”按钮,在出现的Step3〜Step5对话框中,接受默认选项,单击“下一个”按钮。新建工程估息(5)在Step6对话框屮单击“完成”按钮,即完成“基本阁形的生成”应用程序的所有选项,随后出现工程信
6、息对话框(记录以上步骤各选项选择情况),如图1-2所示,单击“确定”按钮,完成应用程序框架的创建。XJAppWizardwillcreateanewskeletonprojectwiththefollowingspecifications:Applicationtypeof基本图形的生成:SingleDocumentInterfaceApplicationtargeting:Win32Classestobecreated:Application:CMyAppin基本四形的生成,hand基本图形的生成.cppFrame:CMainFramcinMainFrm.handMai
7、nFrm.cppDocument:CMyDocin基本贸形的生成Doc.hand基本题形的生成Doc.cppView.CMyVicwin基本闷形的注成Vicw.hand基本田形的生成View.cppFeatures:♦Initialtoolbarinmainframe♦Initialstatusbarinmainframe♦PrintingandPrintPreviewsupportinview♦UsessharedDLLimplementation(MFC42.DLL
8、♦ActiveXControlssupportenabled♦Localizabletextin:中文
9、I中国1工程目汞:DAHOF计算机囹形学BOOK基本图形的生成[][]
10、取消
11、图1-2信息程序基本3.编辑菜单资源设计如图1-1所示的菜单项。在工作区的ResourceView标签中,单击Menu项左边“+”,然后双击其子项IDR_MAINFRAME,并根据表1-1中的定义编辑菜单资源。此时VC已自动建好程序框架,如阁1-2所示。表14菜单资源表菜单标题菜单项标题标示符ID直线DDA算法生成直线IDDDALINEBresenham算法生成直线IDBRESENHAMLINE屮点算法生成直线IDMIDPOINTLINE4.添加消息处理函数利用ClassWizard(建立类
12、向导)为应用程序添加与菜单项相关的消息处理函数,ClassName栏巾选择CMyView,根据表1-2建立如下的消息映射函数,ClassWizard会自动完成有关的函数声明。表1-2菜单项的消息处理函数菜单项ID消息消息处理函数ID.DDALINECONMMANOnDdalineID.MIDPOINTLINECONMMANOnMidpointlineID一BRESENHAML1NECONMMANOnBresenhamline2.程序结构代码,在CMyView.cpp文件中相应位置添加如下代码://DDA算法生成直线voidCM
此文档下载收益归作者所有