- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
巢 湖 学 院 计 算 机 图 形 学
实 验 报 告(模板)
本课程实验包括:
实验、 实验、 实验、 实验、 实验、 实验、 以下为实验二和实验三模板
实验一:基本图元绘制
实验目的
了解OpenGL图形软件包绘制图形的基本过程及其程序框架,并在已有的程序框架中添加代码实现直线和圆的生成算法,演示直线和圆的生成过程,从而加深对直线和圆等基本图形生成算法的理解。
二、实验内容
实验操作和步骤:本次实验主要的目的是为了掌握基本画线和画圆算法,对于书上给出的代码,要求通过本次试验来具体的实现。由于实验已经给出大体的框架,所以只需要按照书上的算法思想来设计具体实现代码,对于直线DDA算法,中点Bresenham算法及其改进算法,以及Bresenham画圆算法都有进一步的体会。DDA算法是对每一步都要进行增量处理,然后取整,绘制,而Bresenham通过判断误差函数和求取递推公式来实现。特别是对于整数的选择取舍,以及代码的流程和循环的控制有一个深入的了解。同时也熟练运用OpenGL基本的绘图函数。
三、体会
通过本次试验,我进一步加深了对于基本画图算法的理解。特别是对于DDA,Bresenham和画圆算法。其中,DDA算法由于每一步都要处理浮点数的四舍五入,所以在绘图时要进行取整,效率较低,但是代码直观好懂,符合原理。而对于Bresenham及其改进算法,都是在理论推导的基础上来实现的,然后经过整数化,形成了一个高效率的画图算法,所以需要适当的理解,特别是对于取整操作判断比较巧妙,实现了避免多次判断计算浮点数的目的,所以比较高效。而绘制圆形的时候,用到的基本思想还是和Bresenham画图算法一样,只不过需要注意的是八分法画圆,这样只需要绘制其中的八分之一就可以利用对称的关系来绘制出整个?图形。而对于是否走下一步,或者是停留,判断的依据还是误差函数,和前面的思想是类似。另外,通过实验训练了自己的编程能力,同时熟悉了OpenGL绘图的函数和流程,也进一步巩固了相关的知识。
五、源程序
注意:代码部分只要给出画图的子函数就可以,不需要向下面一样给出全部代码。
源代码如下:
////////////////////////////////////////////////////////////////////////////
//实验要求:(1)理解glut程序框架 //
// (2)理解窗口到视区的变换 //
// (3)理解OpenGL实现动画的原理 //
// (4)添加代码实现中点Bresenham算法画直线 //
// (5)添加代码实现改进Bresenham算法画直线 //
// (6)添加代码实现圆的绘制(可以适当对框架坐标系进行修改) //
// (7)适当修改代码实现具有宽度的图形(线刷子或方刷子) //
////////////////////////////////////////////////////////////////////////////
#include windows.h
#include gl/glut.h
#include stdio.h
int m_PointNumber = 0; //动画时绘制点的数目
int m_DrawMode = 1; //绘制模式 1 DDA算法画直线
// 2 中点Bresenham算法画直线
// 3 改进Bresenham算法画直线
// 4 八分法绘制圆
// 5 四分法绘制椭圆
//绘制坐标线
void DrawCordinateLine(void)
{
int i = 0 ;
//坐标线为黑色
glColor3f(0.0f, 0.0f ,0.0f);
glBegin(GL_LINES);
for (i=10;i=250;i=
您可能关注的文档
- 平面直角坐标系和一次函数测试题.doc
- 管理会计(ch 04)经营预测.ppt
- 普通高中新课程思想政治学业评价指标体系.doc
- 管理运筹学课件第4章 整数规划和分配问题.ppt
- 七年级科学竞赛模拟训练5地球.doc
- 广东省广州市2012届高三一模试题讲解课件(文数).ppt
- 七年级数学第7章(平面直角坐标系)单元测试试卷.doc
- 广东省汕头市2013届高三3月教学质量测评地理试题(WORD版).doc
- 七年级数学下册_第十四章《位置和坐标》复习课件_青岛版.ppt
- 广东省珠海市实验中学2013届九年级下学期第四次模拟考试语文试题(,有答案).doc
- 2025年护肝保健品行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年护工服务行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年呼伦贝尔市政协办公室所属事业单位引进人才笔试模拟试题参考答案详解.docx
- 2025年呼伦贝尔市政协办公室所属事业单位引进人才笔试模拟试题带答案详解.docx
- 课堂笔记 新人教八上英语Unit 8 Let's Communicate!.pdf
- 主题班会《禁毒宣传》PPT课件.pptx
- 2025年呼伦贝尔市政协办公室所属事业单位引进人才笔试模拟试题附答案详解.docx
- 2025年呼伦贝尔市政协办公室所属事业单位引进人才笔试模拟试题含答案详解.docx
- 营销策划 -贵州习酒演唱会结案报告 -「山歌响起的地方」刀郎知交线上演唱会 结案汇报.docx
- 2025年呼伦贝尔市政协办公室所属事业单位引进人才笔试模拟试题及参考答案详解.docx
最近下载
- 耕地质量等级+(GBT+33469-2016).docx VIP
- 人教版高中物理必修一课件.pptx VIP
- 新生儿高胆红素血症诊治指南(2025)解读 (1)PPT课件.pptx VIP
- 《新生儿高胆红素血症诊治指南(2025)》解读(1)PPT课件.pptx VIP
- SGT756国电南自保护培训全解.ppt VIP
- 建设工程工程量清单计价办法(市政工程定额章节说明).pdf VIP
- 盘扣模板支撑体系技术交底(二级).docx VIP
- 精创温控器EK-3010说明书用户手册.pdf
- 外墙涂料施工安全技术交底.doc VIP
- 在线网课学习课堂《舰艇操纵与避碰》单元测试考核答案.docx VIP
文档评论(0)