Barsky直线裁剪算法计算机图形学课程设计.docVIP

  • 11
  • 0
  • 约1.12万字
  • 约 22页
  • 2018-06-12 发布于贵州
  • 举报

Barsky直线裁剪算法计算机图形学课程设计.doc

河南理工大学 万方科技学院 课程设计报告 2011 — 2012学年第二学期 课程名称 计算机图形学 设计题目 计算机图形学基本算法 演示系统设计 学生姓名 学 号 专业班级 网络11升—1班 指导教师 徐 文 鹏 2012 年 5 月 28 日 目 录 第1章 设计内容与要求 1 1.1 总体目标和要求 1 1.2内容与要求 1 1.2.1 直线的生成 1 1.2.2 圆弧的生成 1 1.2.3 线段裁剪 2 1.2.4 多边形裁剪 2 1.2.5 综合 2 第2章 总体设计 3 2.1 Bresenham算法画直线 3 2.1.1 Bresenham算法画直线理论基础 3 2.1.2 Bresenham算法画直线原理 3 2.2 Bresenham算法画圆 4 2.2.1 Bresenham算法画圆理论基础 4 2.2.2 Bresenham算法画圆原理 5 2.3 梁友栋-Barsky算法进行线段裁剪 6 2.3.1梁友栋-Barsky算法进行线段裁剪基本原理 6 2.4 Sutherland-Hodgman算法进行多边形裁剪 8 2.4.1 Sutherland—Hodgman多边形裁剪算法思想 8 2.4.2 点在边界内侧的判断方法 8 2.4.4 Sutherland-Hodgeman多边形裁剪算法特点 8 第3章 详细设计 9 3.1 Bresenham算法画直线 9 3.1.1 Bresenham 算法画线算法具体实现过程 9 3.2 Bresenham算法画圆 9 3.2.1 Bresenham 算法画圆核心代码 9 3.3 梁友栋-Barsky算法进行线段裁剪 10 3.3.1梁友栋-Barsky算法推导过程 10 3.3.2梁友栋-Barsky算法进行线段裁剪的步骤 11 3.4 Sutherland-Hodgman算法进行多边形裁剪 11 3.4.1 Sutherland—Hodgman多边形裁剪算法步骤 11 3.5将画线、画圆、线段裁剪和多边形裁剪综合 12 第4章 功能实现 14 4.1用Bresenham算法画线测试结果 14 4.2用Bresenham算法画圆测试结果 14 4.3梁友栋-Barsky算法进行线段裁剪测试结果 15 4.4 Sutherland-Hodgman算法进行多边形裁剪测试结果 16 4.5将四种算法综合测试结果 16 第5章 总结 17 参考文献 18 设计内容与要求 总体目标和要求 目标:以图形学算法为目标,深入研究。继而策划、设计并实现一个能够表现计算机图形学算法原理的或完整过程的演示系统,并能从某些方面作出评价和改进意见。通过完成一个完整程序,经历策划、设计、开发、测试、总结和验收各阶段,达到: 巩固和实践计算机图形学课程中的理论和算法; 学习表现计算机图形学算法的技巧; 培养认真学习、积极探索的精神。 总体要求:策划、设计并实现一个能够充分表现图形学算法的演示系统,界面要求美观大方,能清楚地演示算法执行的每一个步骤。 开发环境:Viusal C++ 6.0,VC2005或其他你认为比较熟悉的环境。 内容与要求 实验分为五项内容。 1.2.1 直线的生成 内容:用Bresenham算法画直线 要求: 鼠标移动时,显示鼠标当前位置 显示判别式的计算过程和下一点的选择策略 记录生成点的坐标 图形生成过程可以重复进行 1.2.2 圆弧的生成 内容:用Bresenham算法画圆 要求: 鼠标移动时,显示鼠标当前位置 显示判别式的计算过程和下一点的选择策略 记录生成点的坐标 图形生成过程可以重复进行 橡皮筋技术实现 1.2.3 线段裁剪 内容:用梁友栋-Barsky算法进行线段裁剪 要求: 对于线段裁剪,线段被窗口的四条边裁剪的过程要显示出来 用橡皮筋的形式输入剪裁线段 1.2.4 多边形裁剪 内容:用Sutherland-Hodgman算法进行多边形裁剪 要求: 裁剪过程需先输入一多边形,然后用窗口四边裁剪的过程中要显示顶点增删过程。 用橡皮筋的形式输入剪裁线段 1.2.5 综合 内容:把前四次的实验内容整合到一起 要求: 第2章 总体设计 2.1 Bresenham算法画直线 2.1.1 Bresenham算法画直线理论基础 计算机是如何画直线的?简单来说,就是过各行各列像素中心构造一组虚拟的网格线,按直线从起点到终点的顺序计算各直线与歌垂直网格线的交点,然后确定各列像素中与此交点最近的像素。真实的直线是连续的,但我们的计算机显示的精度有限,不可能真正显示连续的直线,于是我

文档评论(0)

1亿VIP精品文档

相关文档