java3d

Java 3DJava语言在三维图形领域的扩展,是一组应用编程接口(API)。利用Java 3D提供的API,可以编写出基于网页的三维动画、各种计算机辅助教学软件和三维游戏等等。利用Java 3D编写的程序,只需要编程人员调用这些API进行编程,而客户端只需要使用标准的Java虚拟机就可以浏览,因此具有不需要安装插件的优点。

JAVA 3D从高层次为开发者提供对三维实体的创建、操纵和着色,使开发工作变得极为简单。同时,JAVA 3D的低级API是依赖于现有的三维图形系统的,如Direct 3DOpenGLQuickDraw 3DXGL等,它可以帮助我们:

A. 生成简单或复杂的形体(也可以直接调用现有的三维形体)

B. 使形体具有颜色、透明效果、贴图。

C. 可以在三维环境中生成灯光、移动灯光。

D. 可以具有行为(Behavior)的处理判断能力(键盘、鼠标、定时等)

E. 可以生成雾、背景、声音等。

F. 可以使形体变形、移动、生成三维动画。

G. 可以编写非常复杂的应用程序,用于各种领域如VR

JAVA 3D的这种体系结构既可以使其开发的程序“到处运行”,又使其能充分利用系统的三维特性。就因为JAVA 3D拥有如此的强大的三维能力,使得它在网络世界,特别是在游戏中能大展姿彩。

 

引 言
Java3DAPI是用来开发三维图形和开发基于Web3D应用程序(applet)的编程接口.目前用于开发三维图形软件的3DAPI(OpenGLDirect3D)都是基于摄像机模型的思想,即通过调整摄像机的参数来控制场景中的显示对象,Java3D则提出了一种新的基于视平台的视模型和输入设备模型的技术实现方案,即通过改变视平台的位置、方向来浏览整个虚拟场景.它不仅提供了建造和操作三维几何物体的高层构造函数,而且利用这些构造函数还可以建造复杂程度各异的虚拟场景,这些虚拟场景大到宇宙天体,小到微观粒子.

 Java3DJavaMediaAPIs中的一部分,可广泛地应用于各种平台,而且用Java3DAPI开发的应用程序和基于Web3D小应用程序(applet),还可以访问整个Java,且可以与Internet很好地集成,即如果在浏览器中安装了Java3D的浏览插件,在网上也可浏览Java3D所创建的虚拟场景.Java3DAPI还汲取了已有图形APIs的优点,Java3D的底层图形构造函数不仅综合了底层APIs(Direcrt3DOpenGL)最好的绘制思想,而且它的高层图形绘制还综合了基于场景图的思想,同时,它又引入了一些通用的图形环境所未考虑的新概念(3D立体声),这样将有助于提高用户在虚拟场景的沉浸感.本文将着重介绍Java3D针对VR应用所提出的基于视模型和输入设备模型的新思想,在此基础上又讨论了如何利用Java3D来开发VR应用程序及其实现方法,并设计实现了一个应用实例.

适于VR应用开发的Java3DAPI众所周知,开发VR应用程序是一件很繁琐的工作,其开发人员必须编写应用程序可能遇到的各种输入和显示设备的接口程序,或者依赖专为VR应用开发而设计的应用程序编程接口(API),且典型的VR应用必须跟踪用户的头部位置和方向,以生成与头部位置方向相一致的虚拟场景图.

另外,还需要先跟踪身体的其它部位(手、臂或腿部),然后通过身体各部位在虚拟场景中的虚拟视点与场景中的对象进行交互,而应用程序也必须具有能够利用跟踪输入设备在视点内放置物体,并标明其在生成的三维图象中的位置和方向的功能.同时,面向VR的应用程序开发接口(API)必须能支持3D图形生成、处理跟踪器的输入,并能将跟踪信息反馈到图形绘制中.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值