- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC中使用OpenGL实现三维运动仿真
M FC 中使用 O pen GL 实现三维运动仿真张震①施颂椒②范启富③摘 要在物体运动控制系统的研究中, 常需要直观地显示控制对象的实时运动状态, 因此, 研究开发实用、直观、可 靠的三维运动动态仿真软件是实用价值的。 本文结合一个飞 艇多自由度实时运动姿态控制项目, 阐述在 M FC 中使用 OpenGL 开发运动控制系统三维仿真程序的方法。 作本方法 开发的软件在实际应用中, 工作可靠、仿真效果良好。关键词OpenGLM FC 类库 三维运动仿真客户驱动程序解析处理, 接着交给设备驱动接口W in32. DD I, 最后视频显示程序把复杂的OpenGL 图形指令运算交给显示 卡的OpenGL 图形加速处理器处理。一、引言在许多运动物体控制的系统设计和仿真过程中, 常需要 形象、生动地显示被控对象的姿态及运动过程。利用开放图形 程序库 (OpenGL ) , 可以直观地显少体三维运动仿真画面。OpenGL 是一个标准的三维计算机图形软件接口, 它为 用户提供了一个强大的与操作系统无关的三维图形库, 使得 用OpenGL 编制的应用程序有很好的可移植性。O penGL 并 不是一种程序设计语言, 它不提供程序流控制、窗体操作等指 令函数, 可以在宿主语言中被包含使用。C + + 是目前使用最广泛的面向对象的编程语言之一, M FC 是M icro soft 公司提供的W indow s 环境下 C + + 接口。 用M icro soft 公司提供的基本类库M FC 开发基于 OpenGL 的三维图形应用程序相对比较方便。本文结合飞艇多自由度实时运动姿态控制系统仿真项 目, 阐明在M FC 中利用OpenGL 编制基于 32 位W indow s 操 作系统三维运动仿真应用程序的方法。二、OpenGL 处理机制OpenGL 提供几百条用于绘制点、线、多边形等图形元 素, 并对其进行着色、纹理、光照、动画等操作的指令和函数。 OpenGL 指令按照客户端?服务器 (C lien t?Se rver) 模式进行解 析。应用程序发出指令, 由内核解析执行。W indow s 环境下, 其 库函数封装在OpenGL 32. DLL 动态链接库中。应用程序中用 户对OpenGL 库函数的调用, 先由该动态链接库处理, 然后被图 1W indow s 环境下OpenGL 的处理流程三、程序的设计思想1. 图像建模应用OpenGL 进行运动仿真的编程, 首先应建立三维图 像的数学模型, 把问题化为OpenGL 处理的场景。场景主要由 点、线、面等基元组成, 复杂场景还可能会用到曲面生成算法。 然后进一步系列图像处理, 以增加图像的真实感。在三维图形 建模中, 还要对几何模型进行分析, 分析参数间的相关性、各 对象参数的依赖程度, 以及对象间的协调性, 使得几何形体达 到最佳效果。2. 建立运动参数运动参数用来确定对象在空间的几何位置。O penGL 中, 运动对象由基于对象坐标和对象局部坐标的运动参数来确 定。 运动参数的个数一般就是对象的运动自由度数。3. 绝对运动和相对运动的实现绝对运动的实现相对来说比较容易。 先建立运动的数学 模型, 由运动对象某瞬时运动参数的数值来确定其空间位置。 相对运动是运动对象相对于动参考坐标系的运动。 有两种实现方式: 一是直接采用相对坐标的描述实现其相对运动; 二是基于已有的绝对运动实现其相对运动。 后一种方式比较 适用于描述复杂系统的相对运动。① 张 震 上海交通大学自动化系 硕士研究生 上海 200030② 施颂椒 上海交通大学自动化系 教授 博士生导师 上海 200030③ 范启富 上海交通大学自动化系 副教授 上海 200030·12· 4. 多角度观察运动状态可以通过设置沿 x、y、z 轴的转角参数来控制实现各种视 窗效果, 能过改变对象的位置坐标和比例变换来实现平移和 缩放, 实现不同的角度观察局部的或者某个运动对象的运动。5. 人机交互基于OpenGL 运动仿真的人机交互接口包括: 模型定制、 动静控制、速度控制、内容控制、视角控制 (摄像机定标)、场景 变换控制 (选择场景)。用OpenGL 实现运动实时仿真的总体思想可以表示为图2。图 2OpenGL 实现运动仿真四、M FC 构架下OpenGL 运动仿真实现1.引入OpenGL 绘图环境首先要将M FC 中相应的OpenGL 头文件包含进工程, 本 项目中工程名为A irSh ip , 则在A irSh ipV iew. h 中添加三个头 文件:# inchude“g l?g l. h”# include“g l?g lu. h”# inclu
文档评论(0)