计算机图形学课程设计——构造完整系统-read.pptVIP

计算机图形学课程设计——构造完整系统-read.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学课程设计——构造完整系统-read

计算机图形学课程设计 ——构造完整系统 小组成员:郝刚,陈燕月,林惠珍 课程设计要求 设计并实现一个能够以真实感图形显示的造型系统。 主要完成的功能: 实现了立方体,圆锥体,球体的数据的输入和模型的建立 将输入的体进行三角面片的划分,并对每个面进行消隐 对每个可见面进行投影,并自动建立新边表和有效边表 计算其光照,运用Phong模型插值得到面内部的颜色值,生成具有真实感物体 最后实现了物体的旋转 构造完整系统的步骤 步骤1:将各种三维图形的面划分为三角面片的形式 步骤2:根据光照模型计算三角面片三个顶点处的颜色值,并保存起来 步骤3:将三角面片的三个顶点进行透视投影,将它们转换到二维屏幕坐标系上。 步骤4:根据透视投影得到的三个顶点自动建立新边表和有效边表 步骤5:根据三个顶点的颜色值利用插值公式得到内部各点的颜色值并显示出来 小组分工 郝刚: 整体类框架的建立 Phong光照模型 陈燕月: 桶、边表的自动建立 旋转变换 林惠珍: 各种物体数据的设计、输入 投影、消隐 凸多面体消隐算法 主要函数 InitParameter()//透视变换常数 Project(P3d P)//透视变换 ReadPoint()//读入点坐标 ReadFace()//读入面坐标 基本图形的数据结构 在三维坐标系下,描述一个物体不仅需要顶点表,而且还需要边表和面表,才能完全表达清楚。 桶、边表的建立主要类结构 CreatBucket()//初始化桶结点 Et()//构造边表 AddAet(Edge *NewEdge)//边插入Aet表 AetOrder()//对Aet表进行排序 旋转变换 主要思想: 将视点按一定的角度旋转,实现物体的旋转,期间光源的位置相对视点静止,所以光源位置和视点同步旋转。 视点旋转新坐标: 改变Thta、Fei角即实现视点位置的改变 光源位置和视点相对静止,求新坐标的基函数: Positionx=430*cos(PI/2+PI*Thta/180); Positiony=430*sin(PI/2+PI*Thta/180); Positionz=430*cos(PI/2+PI*Fei/180); 根据光源相对视点所处的位置(左上角、右上角等)做适当调整。 整体类框架的建立 主要类结构 P2d类:二维点坐标类 P3d类:三维点坐标类 Face类:面信息类 Verter类:用于向量运算的类 ModelColor类:颜色模型类 (包括r,g,b分量,且0=r,g,b=1) ModelLight类:光照模型类 (包括环境光、漫反射光、镜面反射光以及光源的位置信息) 光照模型的实现 根据用户输入的材质信息、环境光、漫反射光、镜面反射光信息利用下述两个公式计算出三角面片三个顶点的颜色值 光照模型的实现 根据三个顶点的颜色值进行插值,得到内部各点的颜色值。 首先利用对y插值的公式得到三角面片边上的 两个点的颜色值 然后利用对x插值的公式得到三角面片一条扫描线上所用点的颜色值 总结 加深了对课堂上学到的理论和算法的认识 项目策划,软件开发和编程能力有了一定的提高 培养了团队合作精神 由于时间和精力所限,系统还是较为粗糙,有待改进的地方还很多,例如多个物体的交互等。 * * 透视变换 用户坐标系?观察坐标系?屏幕坐标系 对于凸多面体的任一个面,可以根据其外法矢量和视矢量的夹角θ来进行可见性检测。如果两个矢量的夹角0°≤θ<90°时,表示该表面可见;如果90°<θ≤180°时,表示该表面不可见。 Z X Y D F E C A N S B ? 图9-11 三棱柱 立体的数据结构 图 4-14 边表结点 其中,x为新增边低端的x|ymin值,用于判断边表在桶中的排序;ymax是该边所在的最大扫描线值,用于判断该边何时成为无效边。1/k是边在x方向的变化量和在y方向的变化量的比值,即△x/△y。 桶、边表的建立 图 4-15 边表

文档评论(0)

sunhongz + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档