网站大量收购独家精品文档,联系QQ:2885784924

计算机图形学课程设计剖析.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《计算机图形学》课程设计报告题目名称:球体背面剔除消隐算法专 业 计算机科学与技术班 级 计科15升-1班学 号 1516353004姓 名 指导教师 王玉琨2016 年 06 月 07 日 目 录 设计内容与要求????????????????03总体目标和要求??????????????03内容与要求????????????????03总体设计???????????????????032.1 球的消隐处理基本原理???????????032.2 具体设计实现???????????????04详细设计???????????????????043.1调试后正确的程序清单???????????04功能实现?????????????????? 084.1程序运行结果???????????????094.2 功能实现及分析??????????????09总结???????????????????? 09参考文献?????????????????? 10球体背面剔除消隐算法 第 1章 设计内容与要求 1.1 总体目标和要求课程设计的目的:以图形学算法为目标,深入研究。继而策划、设计并实现一个能够表现计算机图形学算法原理的或完整过程的演示系统,并能从某些方面作出评价和改进意见。通过完成一个完整程序,经历策划、设计、开发、测试、总结和验收各阶段,达到: 1) 巩固和实践计算机图形学课程中的理论和算法; 2) 学习表现计算机图形学算法的技巧;3) 培养认真学习、积极探索的精神;4) 具备通过具体的平台实现图形算法的设计、编程与调试的能力; 5) 完成对实验结果分析、总结及撰写技术报告的能力。总体要求:策划、设计并实现一个能够充分表现图形学算法的演示系统,界面要求美观大方,能清楚地演示算法执行的每一个步骤。开发环境:Viusal C++ 6.0 1.2 内容与要求球体背面剔除消隐算法内容:(1)掌握背面剔除消隐算法原理;(2)实现矢量点积与叉积运算;(3)透视投影变换(4)曲面体经纬线划分方法功能要求:(1)绘制球体线框模型的透视投影图,使用背面剔除算法实现动态消隐;(2)通过右键菜单显示消隐效果,右键菜单有两个选项:未消隐与消隐;(3)使用键盘的上下左右控制键旋转消隐前后的球体;(4)单击左键增加视距,右击缩短视距;第2章 总体设计 2.1 球的消隐处理基本原理球体的曲面通常采用一组网格多边形来表示,即把曲面离散成许多小平面片,用平面逼近曲面,一般使用许多四边形来逼近曲面。网格四边形愈多,逼近曲面的精度就愈高,逼近?效果就愈好,曲面看起来就越光滑。一般根据实际需要来确定合适的逼近精度即网格多边形数目。当曲面表示为一组网格多边形时,消隐处理的主要工作是确定各网格多边形的可见性,由此可用平面立体的算法对曲面进行消隐处理。?球面的参数方程为:?????????????x=R·?sina·cosβ?????????????y=R·?sina·?sinβ????(0≤a≤π,?0≤β≤2π)?????????????z=R·?cosa??设两个参数a和β对球面进行网格化,当相邻的曲线参数分别为a1、a2、β1、β2时,构成四边形网格P0P1P2P3,其外法线N表示如下:??N=?P0P1×P1P2??对N进行单位化:n={nx,ny,nz}=?n/|N|??若设视方向为S,其平行于y轴:?S={0,1,0}????????①?n·S=?ny≥0,网格可见,画出;????????②?n·S=?ny0,网格不可见,不画??2.2?具体设计实现?(1)?掌握运行环境Visual?C++编程、调试方法,熟练掌握OpenGL的使用,并能将两者相结合完成实验设计;(2)?理解球体背面剔除消隐算法的基本原理;?(3)?利用OpenGL中的函数绘制一个线框球并显示出来。具体方案如下:???(a)先通过透视投影变换绘制出小四边形平面片,进行球体线框模型的绘制。???(b)完成球体的绘制后,进行设置球体的旋转效果,根据球体背面剔除消隐算法来完成球体的动态消隐。???(c)创建右键菜单显示消隐效果,右键菜单有未消隐和消隐两个选项。???(d)设置使用键盘的上下左右控制键旋转消隐前后的球体。???(e)设置单击鼠标左键增加视距,右击缩短视距。???(f)编写主函数,然后编写以上思想的子函数,对整个程序进行基本的代码编写,分模块完成所要求的各个功能,最后进行代码的运行和调试。???????????第3章?详细设计? 3.1调试后正确的程序清单 #include GL/glut.h #include stdlib.h #define NO_XIAOYIN 1 #define XIAOYIN

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档