一-上海交通大学.doc

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

PAGE 1 PAGE 11 图形学大型课程设计报告 3D Me三维图形建模软件 上海交通大学  计算机系 F983 刘国伟 5980339021 3D Me功能介绍 3D Me的图形用户界面 3D Me是一个以3D Max为原型,实现了3D Max部分功能的能完成三维实体的生成,编辑,渲染的图形学程序.  1.由于是对3D Max的模仿,3D Me拥有一个与3D Max类似的友好的图形用户界面,实现了用鼠标选中实体,以橡皮筋技术实现了实体的拖拉生成基本体素,以拖拉技术实现了实体的移动(Solid Move),实体的旋转(Solid Rotate),实体的缩放(Solid Scale),实现了多视图观察实体,平行投影(Parallel Projection)和透视投影(Perspective Projection),实现了视图旋转(View Rotate),视图缩放(View Zoom),视窗口的移动(View Move),以上功能是3D Me所实现的强大的人机接口技术,是当今图形用户界面所必不可少的. 2.3D Me实现了多视图的观察,实现了分割视图,定义了Perspective,Top,Bottom,Left,Right,Front,Behind的观察角度. 3.3D Me能添加点光源,实现了鼠标拖放改变光源的位置. 4.3D Me模仿了3D Max中以平面逼近实体的方法,用边界表示模型实现了显示实体布尔运算后的线框图,实现了实现了线框图的交并差,线框图的单物体的消影. 5.3D Me内部定义了多种材质纹理供用户使用,包括大理石纹理,木材纹理,石英纹理,花纹,石头材质,金属材质等,3D Me中有材质编辑器,用户还可以定义自己的材质. 6.3D Me以高效的优化的光线跟中算法实现了场景的平行渲染和透视渲染,可设置实体表面的Smooth属性,以Phong算法生成真实感图形. 7.3D Me实现了文件存储功能,能存储实体模型和渲染后的位图文件. C3DmeApp 3D Me程序结构 CGraphViewFrame CMainFrame C3DMeDoc CDialogBar C3DMeView CGraphView CObjectSpace CLightSource CMaterial CClientView CSolid CEdge CCamera CVertex CFace CLoop CHalfEdge 以下是主要的类的说明: C3DMeApp 应用程序类 CMainFrame 应用程序主窗口框架类 C3DMeView 应用程序主窗口视图类 CDialogBar 工具箱类 CGraphViewFrame 渲染窗口框架类 CGraphView 渲染窗口视图类 C3DMeDoc 文档类 CObjectSpace 对象空间类,聚集着下面所有类的对象 CSolid 实体类 CFace 面类 CLoop 环类 CHalfEdge 半边类 CEdge 全边类 CVertex 顶点类 CMaterial 材质类 CLightSource 光源类 CCamera 照相机类 所有的用户操作都是由C3DMeView对象和CDialogBar对象接收,由它们调用CObjectSpace对象的接口函数实现的. 三.算法说明 1.人机接口技术: 3D Me程序中的C3DmeView对象和CDialogBar对象是一个人机接口对象,负责接收用户的鼠标及键盘输入消息,用户输入分控制输入(Control Input)和操作输入(Operation Input)两种,控制输入机用户选择某项菜单功能,操作输入一般为一个由鼠标操作的过程,指用户在选择了操作操作类型后所做的操作,如用户选择了生成立方体的操作后,用户说做的生成立方体的操作过程即为操作输入。 一个用户输入作为一个消息被C3DmeView对象或CDialogBar对象所接收(C3DmeView对象接收控制输入和操作输入, CDialogBar对象则直接收控制输入) 若为控制输入,则C3DmeView对象或CDialogBar对象根据用户输入,通过修改C3DmeDoc对象中的操作类型(OperationType)来选择某种状态;若为操作输入,C3DMeView对象将此操作输入消息正确发向此操作所在的CClientView(子视图)对象中,由CClientView对象来处理。 拖拉技术: CClientView对象判断收到的操作输入的类型并进行处理,操作输入的过程可用一操作过程状态图表示: LBD LButtonDown LBU LButtonUp RBD RButtonDown RBU RBut

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档