我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

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

文章来源:搜维尔[SouVR.com] 作者:Frank 发布时间:2011年07月07日 点击数: 字号:
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年出生,青岛科技大学机电学院,硕士生导师,研究方向为虚拟现实技术的应用。

共2页 您在第2页 首页 上一页 1 2 下一页 尾页 跳转到页 本页共有2279个字符
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料