- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 美的专卖店运营手册.doc
- 人教版五年级数学上册第六单元《多边形的面积》导学案 .doc
- (24)--6.6 原子结构 概率密度、电子云、波函数和电子云的空间图像.pdf
- RealityCapture中文教程_最新教程【104页】.pdf
- 5.认识身边的数字设备(教学课件)-三年级信息科技全一册(河北大学版2024).pptx
- 野生动物知识竞赛考试题库(汇总600题).pdf VIP
- 《Is this your pencil》PPT精品课件7七年级上册英语人教版.pptx
- 市区燃气管道工程施工组织设计.pdf
- 李晓风-高考历史一轮复习教材分析和教学设计.ppt
- 液体渗透探伤规范-中英文(03版).pdf
文档评论(0)