在OSG中实现三维物体标准变换.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第27卷第2期 许昌学院学报 V01.27.No.2 OFXUCHANG Mar.2008 2008年3月 JOURNAL UNIVERSITY 文章编号:167l一9824(2008)02一0076一04 在OSG中的实现三维物体的标准变换 程菊明1,张泊平1,罗娜2 (1.许昌学院计算机科学与技术学院,河南许昌461000, . 2.平顶山鸿翔热电有限公司信息中心,河南平顶山467021) 摘 要:针对采用OSG实现虚拟场景中三维物体标准变换的方法进行阐述,分析变换过程 中出现的问题及原因.采用将物体中心点坐标同世界坐标系原点重合的方法解决了相关错误。获 得了预期的效果. 关键词:虚拟引擎;标准变换;OSG 中图分类号:TP39l 文献标识码:A O 引言 在制作虚拟现实的应用时,往往要将三维物体摆放在虚拟场景中,通常可以借助于三维图形的算法直 开发中直接使用它们存在一些缺点:①它们都是非面向对象的,设计场景和操作场景中的对象比较困难; ②在编程过程中主要使用基层图元,在显示比较复杂的场景时,编写程序相对困难;③没有与建模工具很 of 好的结合;④缺乏对一些十分重要的关键技术如LoD(LevelDetail)、动态裁剪等的支持….基于以上原 因,通常的做法是以三维引擎作为工具.要构建三维引擎需要解决场景构造、对象处理、场景渲染、事件处 理、碰撞检测等问题。其中在对象处理中就要实现对三维物体的操纵. 在三维引擎中要实现对三维物体的操纵首先要解决的问题是实现对三维物体的变换,即要实现三维 物体的方位和大小的摆放.三维物体的标准变换主要包括:移动、缩放、旋转和投影等旧1,在我们所开发的 Scene 三维引擎中,采用OSG(0penGraph)H1作为开发的基础工具,利用它所提供的相关类和函数在三维 引擎中实现对物体的移动、缩放和旋转变换的控制. 本文主要讨论了借助OSG实现标准变换的方法和过程,及在实现中容易出现的问题及相关解决 方法. 1 OSG简介及实现标准变换的基本原理 1.1 OsG简介 在代码的编写过程中灵活性较差,若要开发虚拟引擎系统会存在很多问题,所以就需要将OpenGL进行进 一步的封装,这样能大大提高编程的灵活性.OSG就是一款高效实时的三维图形开发包,它构建于Open— GL图形函数库之上,全部采用标准C++语言开发,主要应用于游戏、虚拟现实和科学计算可视化与仿真 领域中的高性能图形程序的开发,它的许多功能和运行性能优于许多现有商业用途的虚拟引擎.我们在构 建虚拟引擎时主要借助OSG来进行实现,直接使用其中的类和函数实现对三维物体的标准变换. 1.2实现标准变换的基本原理 , 收稿日期:2007一10一ll 基金项目:河南省教育厅科技公关项目(2007520045);许昌市科技攻关发展计划项目 作者简介:程菊明(1975一),女,河南临颖人,讲师.硕士.主要研宄方向:虚拟现实技术. 万方数据 77 第27卷第2期 程菊明,等:在OSG中的实现三维物体的标准变换 在场景中的三维物体由许多三角形网格构成的,物体越精细,三角形网格就越多,将这些三角形网格 的顶点坐标列出来,就构成了该物体的顶点矩阵.对虚拟场景中的三维物体施行标准变换,就是对物体本 身的顶点矩阵施行变换. 为三维齐次顶点,包含4个坐标,列向量(x,y,z,w)。就表示一个齐次顶点1.在三维欧几里得空间中,点(x, 交投影)都可以用一个4×4的矩阵来表示.变换矩阵依照变换的类型分为三种,分别是:平移变换矩阵、缩放 变换矩阵和旋转变换矩阵,它们的形式在图l中给出,其中旋转矩阵根据三个轴向分别有三种矩阵形式.

文档评论(0)

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

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

1亿VIP精品文档

相关文档