2024年计算机图形学实验报告.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

计算机图形學

实验报告

班级:软工0801班

學号:U18013

姓名:严森

指导教師:萬琳

完毕曰期:-11-3

华中科技大學软件學院

试验一:基本图元绘制

试验目的

理解OpenGL图形软件包绘制图形的基本過程及其程序框架,并在已經有的程序框架中添加代码实現直线和圆的生成算法,演示直线和圆的生成過程,從而加深對直线和圆等基本图形生成算法的理解。

二、试验内容

试验操作和环节:本次试验重要的目的是為了掌握基本画线和画圆算法,對于書上給出的代码,规定通過本次试验来详细的实現。由于试验已經給出大体的框架,因此只需要按照書上的算法思想来设计详细实現代码,對于直线DDA算法,中點Bresenham算法及其改善算法,以及Bresenham画圆算法均有深入的体會。DDA算法是對每一步都要進行增量处理,然後取整,绘制,而Bresenham通過判断误差函数和求取递推公式来实現。尤其是對于整数的选择取舍,以及代码的流程和循环的控制有一种深入的理解。同步也纯熟运用OpenGL基本的绘图函数。

三、试验成果

1-1. DDA算法画直线。

?

图1-1-1,显示每次DDA算法画线的坐標成果(如上)。

图1-1-2.显示DDA算法画圆過程及截图

1-2. 中點Bresenham算法画直线

1-2-1运用中點Bresenham算法画直线的各點坐標如上:

1-2-2.中點Bresenham画线算法画线過程截图

1-3. 运用改善的Bresenham画线算法来画图

1-3-1.运用改善的Bresenham算法来画图各點坐標如上:

1-3-2.运用改善的Bresenham算法画直线图形如上

1-4.运用Bresenham画圆算法来作图

1-4-1.运用Bresenham画圆法作图各點坐標如上:

1-4-2.运用Bresenham画圆法作图及截图如上。

四、体會

通過本次试验,我深入加深了對于基本画图算法的理解。尤其是對于DDA,Bresenham和画圆算法。其中,DDA算法由于每一步都要处理浮點数的四舍五入,因此在绘图時要進行取整,效率较低,不過代码直观好懂,符合原理。而對于Bresenham及其改善算法,都是在理论推导的基础上来实現的,然後通過整数化,形成了一种高效率的画图算法,因此需要合适的理解,尤其是對于取整操作判断比较巧妙,实現了防止多次判断计算浮點数的目的,因此比较高效。而绘制圆形的時候,用到的基本思想還是和Bresenham画图算法同样,只不過需要注意的是八分法画圆,這样只需要绘制其中的八分之一就可以运用對称的关系来绘制出整個?图形。而對于与否走下一步,或者是停留,判断的根据還是误差函数,和前面的思想是类似。此外,通過试验训练了自已的编程能力,同步熟悉了OpenGL绘图的函数和流程,也深入巩固了有关的知识。

五、源程序

源代码如下:

////////////////////////////////////////////////////////////////////////////

//试验规定:(1)理解glut程序框架//

//(2)理解窗口到视区的变换//

//(3)理解OpenGL实現動画的原理//

//(4)添加代码实現中點Bresenham算法画直线//

//(5)添加代码实現改善Bresenham算法画直线//

//(6)添加代码实現圆的绘制(可以合适對框架坐標系進行修改)//

//(7)合适修改代码实現具有宽度的图形(线刷子或方刷子)//

////////////////////////////////////////////////////////////////////////////

#includewindows.h

#includegl/glut.h

#includestdio.h

intm_PointNumber=0

文档评论(0)

159****1748 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档