首页|行业资讯|企业名录|周边产品|数字城市|增强现实|工业仿真|解决方案|虚拟医疗|行业仿真|图形处理|军事战场
资讯首页
行业资讯 >> 专业文献>>正文
X3D和Java的虚拟现实人体运动仿真研究
2010年10月31日    评论:    分享:

    来源:第三维度
    作者:青岛科技大学 王展旭 杨眉

    摘要:人体运动仿真是虚拟现实领域新的研究热点,本文对X3D的相关知识进行了介绍,研究利用Java平台和X3D技术实现人体运动的仿真。

    1、引言

    由于计算机技术的不断发展和Internet的普及,虚拟现实技术发展成为数字化多维信息空间技术的支撑平台,并成为构建数字虚拟环境的关键技术之一。由Web3D联盟提出的X3D(Extensible 3D),整和了Java3D、流媒体、XML等先进技术,成为了最新的网络三维图形的标准。

    2 、X3D的人性化节点

    同时在过去几十年里,随着对3D图形研究的不断升温,已经出现了创作三维人体的软件,在这个时期出现了许多制作“真实”人体运动的软件。但是出现了一个问题阻碍了这个领域的发展,即不同制作公司的软件在这个领域的信息交换问题,缺少国际标准。国际标准规则H-Anim的出现解决了这个关键性的问题,它是一个抽象的三维人体模型表示,描述了一个人体模型的标准,在这个标准下,可以行进不同软件间的交互。 H-Anim的设计目标有三个:兼容性、适应性和简单性。

    X3D人性化节点设计,即X3D人性化动画组件设计,是H-Anim的组件。其中HanimHumanoid节点作为整个人性化对象的容器,用来存储所涉及的Joint, Segment, Site and Displacer等节点,它们按照树状结构对人体进行组合, Humanoid节点是整个角色构成的根节点。如图1所示。

X3D和Java的虚拟下现实人体运动仿真的研究


   HanimHumanoid节点的定义和存储[1]:

   interface Humanoid {
   float[3]           bboxCenter       0 0 0
   float[3]           bboxSize         -1 -1 -1
   float[3]           center           0 0 0
   sequence<string>   info             []
   sequence<Object>   joints           []
   string             name             ""
   float[4]           rotation         0 0 1 0
   float[3]           scale            1 1 1
   float[4]           scaleOrientation 0 0 1 0
   sequence<Object>   segments         []
   sequence<Object>   sites            []
   sequence<Object>   skeleton         []
   sequence<Object>   skin             []
   sequence<float[3]> skinCoord        []
   sequence<float[3]> skinNormal       []
   float[3]           translation      0 0 0
   string             version          ""
   sequence<Object>   viewpoints       []

    }

    在HanimHumanoid节点中,对虚拟人的设计可以大体分为骨骼和皮肤的设计。其中skin域包含一个或多个有序的面,这些面由skinCoord和 skinNormal fields域定义。

    Joint节点表示身体中的每个关节,定义了身体的每一段和与其相连的父层的关系,其父节点可能是HanimHumanoid节点也可能是Joint节点本身或者Segment节点。

    Segment节点定义了身体的每个部分,它是一个组节点,它没有改变坐标系的能力,若想改变坐标,必须附在某个关节节点上。

    Site节点实现了三个目标:第一是定义了反向动力学系统使用的“最终受动器”的位置。第二是定义了首饰后服装之类的附件的附着点。第三是定义了参考系统中的虚拟摄象机的位置。

    Displacer对象,可用于三种不同的方法。第一它可以用来在别顶点相应的某一特定功能的网格。第二它可以用来描述替换顶点的各个方向来模拟精确的肌肉行动。第三描述一个完整的配置顶点。

    3 、Java与X3D传感器的结合

    X3D场景与用户的交互可以通过静态方式和动态方式实现,静态方式是使用X3D本身自带的节点实现的,比如传感器和检测器等,动态方式则是使用外部的逻辑程序实现,即使用JAVA程序。X3D中使用JAVA有两种方式,外部编程接口EAI和内部Script节点。Script节点就是利用Java或JavaScript语言编写的脚本来扩展X3D功能,它可以创建出新的内插节点和传感节点来驱动和控制整个虚拟空间。在Script节点的所有字段中,存在四种字段:field、eventIn、eventOut、exposedField。通过eventIn将事件传至Script节点中的脚本,然后在Script节点中的脚本中进行处理,最后再通过eventOut将结果送回Script节点。如图1所示,场景上方有三个按纽,将鼠标放在任何一个按纽上会出现下拉菜单,点击菜单场景中的沙发会发生相应的改变,

    EAI是External Authoring Interface的简称,它是一种X3D与外部环境的创作接口,定义了一套针对X3D浏览器的Java类,通过这些类,外部程序可以访问当前所运行的X3D世界,从而在外部直接操作、控制和修改X3D世界内部的场景,这里的外部程序主要是指与X3D嵌在同一WEB页上的JavaApplet程序。在JavaApplet中建立Browser对象标识一个唯一的X3D场景,并由此获得对X3D场景中已定义节点的引用。JavaApplet既可以控制X3D场景,也能进行与HTML等其他媒体的交互以及网络控制,从而可以实现复杂的虚拟环境系统。

    TimeSenor时间传感器节点的作用是创建一个虚拟的时钟,并对其他节点发送时间值,它通过向插补器节点输出事件,使插补器节点产生所需要的动画效果。

    4、 结束语

    通过X3D的人性化节点和Java,研究了虚拟人体的运动仿真,利用X3D的图形功能在人体仿真领域进行了初步的研究,为以后的人体仿真系统的研究奠定了理论基础。

    参考文献

    [1]http://h-anim.org/Specifications/H-Anim1.1/appendices.html#appendixa

    [2]张金钊,张金锐,张金镝著,X3D虚拟现实设计—第二代立体网络程序设计实例[M],电子工业出版社,2008

    [3]张金钊,张金锐,张金镝著,X3D虚拟现实设计—第二代立体网络程序设计语言[M],电子工业出版社,2007

    [4]汪兴谦主编,VRML与Java编程实例[M],中国水利水电出版社,2002

    作者简介:

    杨眉,女,山东济宁人,1982年出生,青岛科技大学机电学院,硕士研究生,研究方向为虚拟现实技术的应用。

    王展旭,男,山东金乡人,1962年出生,青岛科技大学机电学院,硕士生导师,研究方向为虚拟现实技术的应用。

标签:X3DJava运动动作
上一篇:中国地理信息系统协会2008年中国GIS优秀工程金奖证书
下一篇:Esri中国ArcGIS10福州技术讲座
网友评论:X3D和Java的虚拟现实人体运动仿真研究
评论
留名: 验证码:
您可能还需要关注一下内容:
·基于Vega Prime的虚拟现实车辆智能运动模拟
·国产动作捕捉 诺亦腾特技制作最萌总理
·智能跑步机上虚拟场景的设计与实现
·基于区域的手指的三维运动跟踪
·基于D3D的三维虚拟人运动显示
·人因踩踏、拥挤控制:大规模人群运动仿真
·星球崛起2中的动作捕捉和分析技术
·Omni虚拟现实跑步机即将开卖 约3100元
·SIGGRAPH 2014 微软头发动态运动捕捉和三维重建
·位置动作跟踪Spheree团队展示3D球面全息投影技术
☏ 推荐产品

Ladybug5全景
商家:力方国际

ProJet®
商家:力方国际

ProJet®
商家:视科创新

Premium1.5
商家:视科创新

巴可HDX主动立体投
商家:德浩科视

巴可HDF-W26投
商家:德浩科视

巴可30000流明2
商家:德浩科视

巴可4万流明2K投影
商家:德浩科视
☞ 外设导航
☏ 企业名录
【广州】中科院广州电子技术有限公司
【北京】第二空间(北京)科技有限公司
【北京】幻维世界(北京)网络科技有限公司
【厦门】厦门惠拓动漫科技有限公司
【厦门】厦门幻眼信息科技有限公司
【深圳】深圳南方百捷文化传播有限公司
【北京】北京思源科安信息技术有限公司
【上海】上海殊未信息科技有限公司
【北京】北京赢康科技开发有限公司
【武汉】武汉科码软件有限公司
友情链接 关于本站 咨询策划 行业推广 广告服务 免责声明 网站建设 联系我们 融资计划
北京第三维度科技有限公司 版权所有 京ICP备09001338
2008-2016 Beijing The third dimension Inc. All Rights Reserved.
Tel:010-57255801 Mob:13371637112(24小时)
Email:d3dweb@163.com  QQ:496466882
扫一扫 第三维度
官方微信号