课程设计报告--计算机图形学基本算法演示系统设计

课程设计报告--计算机图形学基本算法演示系统设计

ID:35626241

大小:570.50 KB

页数:21页

时间:2019-04-03

课程设计报告--计算机图形学基本算法演示系统设计_第1页
课程设计报告--计算机图形学基本算法演示系统设计_第2页
课程设计报告--计算机图形学基本算法演示系统设计_第3页
课程设计报告--计算机图形学基本算法演示系统设计_第4页
课程设计报告--计算机图形学基本算法演示系统设计_第5页
资源描述:

《课程设计报告--计算机图形学基本算法演示系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、河南理工大学万方科技学院课程设计报告2011—2012学年第二学期课程名称计算机图形学设计题目计算机图形学基本算法演示系统设计学生姓名学号专业班级指导教师2012年5月28日18目录目录第1章设计内容与要求11.1总体目标和要求11.2内容与要求11.2.1直线的生成11.2.2圆弧的生成11.2.3线段裁剪21.2.4多边形裁剪21.2.5综合2第2章总体设计32.1Bresenham算法画直线32.1.1Bresenham算法画直线理论基础32.1.2Bresenham算法画直线原理32.2Bresenham算法

2、画圆42.2.1Bresenham算法画圆理论基础42.2.2Bresenham算法画圆原理52.3梁友栋-Barsky算法进行线段裁剪62.3.1梁友栋-Barsky算法进行线段裁剪基本原理62.4Sutherland-Hodgman算法进行多边形裁剪82.4.1Sutherland—Hodgman多边形裁剪算法思想82.4.2点在边界内侧的判断方法82.4.4Sutherland-Hodgeman多边形裁剪算法特点8第3章详细设计93.1Bresenham算法画直线93.1.1Bresenham算法画线算法具体实

3、现过程93.2Bresenham算法画圆93.2.1Bresenham算法画圆核心代码918目录3.3梁友栋-Barsky算法进行线段裁剪103.3.1梁友栋-Barsky算法推导过程103.3.2梁友栋-Barsky算法进行线段裁剪的步骤113.4Sutherland-Hodgman算法进行多边形裁剪113.4.1Sutherland—Hodgman多边形裁剪算法步骤113.5将画线、画圆、线段裁剪和多边形裁剪综合12第4章功能实现144.1用Bresenham算法画线测试结果144.2用Bresenham算法画圆

4、测试结果144.3梁友栋-Barsky算法进行线段裁剪测试结果154.4Sutherland-Hodgman算法进行多边形裁剪测试结果164.5将四种算法综合测试结果16第5章总结17参考文献1818第1章基础知识第1章设计内容与要求1.1总体目标和要求目标:以图形学算法为目标,深入研究。继而策划、设计并实现一个能够表现计算机图形学算法原理的或完整过程的演示系统,并能从某些方面作出评价和改进意见。通过完成一个完整程序,经历策划、设计、开发、测试、总结和验收各阶段,达到:1)巩固和实践计算机图形学课程中的理论和算法;2

5、)学习表现计算机图形学算法的技巧;3)培养认真学习、积极探索的精神。总体要求:策划、设计并实现一个能够充分表现图形学算法的演示系统,界面要求美观大方,能清楚地演示算法执行的每一个步骤。开发环境:ViusalC++6.0,VC2005或其他你认为比较熟悉的环境。1.2内容与要求实验分为五项内容。1.2.1直线的生成内容:用Bresenham算法画直线要求:1)鼠标移动时,显示鼠标当前位置2)显示判别式的计算过程和下一点的选择策略3)记录生成点的坐标4)图形生成过程可以重复进行1.2.2圆弧的生成内容:用Bresenha

6、m算法画圆要求:1)鼠标移动时,显示鼠标当前位置2)显示判别式的计算过程和下一点的选择策略3)记录生成点的坐标4)图形生成过程可以重复进行5)橡皮筋技术实现18第1章基础知识1.2.3线段裁剪内容:用梁友栋-Barsky算法进行线段裁剪要求:1)对于线段裁剪,线段被窗口的四条边裁剪的过程要显示出来2)用橡皮筋的形式输入剪裁线段1.2.4多边形裁剪内容:用Sutherland-Hodgman算法进行多边形裁剪要求:1)裁剪过程需先输入一多边形,然后用窗口四边裁剪的过程中要显示顶点增删过程。2)用橡皮筋的形式输入剪裁线段

7、1.2.5综合内容:把前四次的实验内容整合到一起要求:18第2章总体设计第2章总体设计2.1Bresenham算法画直线2.1.1Bresenham算法画直线理论基础计算机是如何画直线的?简单来说,就是过各行各列像素中心构造一组虚拟的网格线,按直线从起点到终点的顺序计算各直线与歌垂直网格线的交点,然后确定各列像素中与此交点最近的像素。真实的直线是连续的,但我们的计算机显示的精度有限,不可能真正显示连续的直线,于是我们用一系列离散化后的点(像素)来近似表现这条直线。2.1.2Bresenham算法画直线原理接下来的问题

8、就是如何尽可能高效地找到这些离散的点,Bresenham直线算法就是一个非常不错的算法。Bresenham直线算法是用来描绘由两点所决定的直线的算法,它会算出一条线段在n维光栅上最接近的点。这个算法只会用到较为快速的整数加法、减法和位元移位,常用于绘制电脑画面中的直线。是计算机图形学中最先发展出来的算法。18第2章总体设计这个算法的流程图如下:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。