基于Quest3D的GUI实现.pdfVIP

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

第二届工程建设计算机应用创新论坛 st 基于Oue3D的GUI实现 卜克明 曹宗胜 (总装备部工程设计研究总院) 【摘要】顶部菜单通过中间变量来关联各级子菜单;底部菜单通过约束来控制各按键的相互关联。但它 们都是通过触发器的不同触发状态来实现菜单的操作。 【关键字】Quest3DGIJI碰撞检测触发器 1.概述 Quest3D是一个基于DirectX的三维仿真平台,它在建筑设计与场景规划漫游中,具 有强大的实时计算能力,并有很好的视觉效果。尤其是在光照计算、纹理的图像处理和特效 等方面,更加具有优势。同样,它提供了信息交互的接口,可以使系统方便快捷地在用户和 系统之间建立起“桥梁”,正是因为Quest3D系统本身具有强大功能,来支持设计和实现GUI ——图形用户界面,才能方便灵活、快捷稳定的完成人机友好交互的实现。 2.GUI设计简介 U 本文介绍的G I有二个部分:(1)顶部菜单(多级菜单);(2)底部菜单(媒 体菜单)。 在视觉设计中,整个GUI风格采用了以明度对比为主的基本色调形式,按键采用了立 体式的光影效果。 在逻辑设计中,顶部菜单是完全依据于MicrosoftWord系统的顶部菜单触发模式来实 现的,它共分三级下拉式菜单。而底部的媒体菜单为弹出式菜单,一般状态时,它不出现在 画面上。 3.顶部菜单设计 图l为项部菜单的程序结构:它由5个模块组成: CameraCollision Menu-1 Trigger Menu一23 图1 顶部菜单的程序结构 318 三垦三丝竖型量生垫墨壅查墨 (I)Camera:在三维场景为菜单设置一十专用菜单相机,保证菜单在场景中的位置 固定。(2)c01i1㈣on该功能实现鼠标与各级菜单检测碰撞的处理。当鼠标移到菜单区 域内时,菜单以色彩变化来响应。实现方法是以相机原点向鼠标光标位置引射线,当射线与 菜单矩形相交时,则表示鼠标在菜单区域:否则,鼠标不在菜单区域。以变量t表示: t=0,鼠标不在菜单区域内 t=I,鼠标在菜单区域内 对于项部一级菜单.菸分三种状态,用变量T表示: ·一股状态,T=0。如图2的左: ·鼠标移至菜单进项按键,该按键呈浅灰色,T=1。如图2的中; ·鼠标在菜单按键上点击左缱,该按键呈浅黄色,并弹出二级菜单,T=2。如图 2的右; 2三]匣霎]匮夏 左;T=0 ÷T=l 右:T=2 田2成都~城纂单的三种状态 (3)Me㈨I该模块的功能是一级菜单的调用处理,当点击某个一级菜单按键时, 调用相应的I婚菜单。注意的是,由于它的触发方式依据MicrosoftWord系统主菜单的触 发方式来设计.当二级菜单弹出时,即进入二级菜单的功能选项。如果此时鼠标跳到其它一 级菜单的按键上时,则该按键的二级菜单自动弹出,不需要点击它的一级菜单按键。这种菜 单“关联与随动”的现实,由中问变量menulto—menu2的开关状态来控制。 (4)Menu 2&3:该模块的功能是对二缎和三级菜单的调用处理。在二级菜单中, 有的选项有三级菜单,当鼠标移到该选项时,立叩在指定位置自动弹出相应的三级菜单和浅 黄色选择条,并随着鼠标在三级菜单上的上下移动,选择条在选择项上交替显示。 (5)Trigger:该模块是对在特定条件下,点击鼠标左键时所产生触发事件的处理。 例如描述弹出“播放”第三级下拉式菜单时的触发: Sel3ColIi If(T2-2姓P1avsion=1)then \\如果左键点击触发了一级菜单的。括放”后.再把光标放在二绒菜单的

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档