SME3D技术

 

0 引言

   SME3D动画的实现上采用的是JAVA3DVisAD

 

1  VisAD

VisAD(算法开发的可视化)是用于数字数据的交互式和协作可视化以及分析的Java组件库。威斯康星大学的SpaceScienceandEngineeringCenter(SSEC)UniversityCorporationforAtmosphericResearch(UCAR)UnidataProgram、位于Urbana-ChampaignIllinois大学的NationalCenterforSupercomputerApplications(NCSA)以及澳大利亚气象局的开发人员由于希望使其先进的可视化技术对科学家的日常工作有用而协作创建了VisAD

VisAD使用了Java2的一些特性,包括用于可视化的Java3DJava2D、用于分布对象的RMI和用于链接到旧算法的JNI。(VisAD的分析和可视化代码是纯Java代码,但它确实支持到以其它语言编写的用户原有代码的JNI连接。)事实上,它的数学数据模型可以应用到任何数字数据;支持用户、数据源和科学规范间数据共享;提供对那些不依赖于存储格式和位置的数据的透明访问。它可以访问netCDFFITSHDF-EOSMcIDASVis5DGIFQuickTimeTIFFASCIIJPEG文件格式的数据。它的显示模型支持交互式3-D、数据溶合、多个数据视图、直接操作、协作和虚拟现实。数据分析和计算与可视化集成在一起以支持计算指导和其它复杂的交互模式。VisAD是设计用来支持更宽范围的用户界面,从简单的数据浏览器Applet到可以使多组科学家协作开发数据分析算法的复杂应用程序。

VisAD分发版包括源代码(还有以.jar文件表示的已编译类)文档和几个来自地球科学、天文学和其它学科的样本应用程序。还包括VisADSpreadSheet,它使得无需编写任何应用程序代码就可以访问许多VisAD的特性。

VisAD的当前版本是2.0,可以自由获得,由GNULesserGeneralPublicLicense(LGPL)特许。

2  JAVA3D

Java3DAPISun定义的用于实现3D显示的接口。3D技术是底层的显示技术,Java3D提供了基于Java的上层接口。Java3DOpenGLDirectX这些底层技术包装在Java接口中。这种全新的设计使3D技术变得不再繁琐并且可以加入到J2SEJ2EE的整套架构,这些特性保证了Java3D技术强大的扩展性。

JAVA3D建立在JAVA2JAVA1.2)基础之上,JAVA语言的简单性使JAVA3D的推广有了可能。它实现了以下三维显示能够用到的功能:

J2SE在其标准开发包中并不提供Java3DAPIJava3D是一个独立的可选组件,可以单独下载。

注释:

RMIRemote Method Invocation 远程方法调用。Java中进行分布式编程的基础技术,EJB技术也是基于RMI的。

JNIJNIJDK的一部分,用于为Java提供一个本地代码的接口。通过使用JNI编写的程序能够确保你的代码能够完全的移植到所有的平台。JNI使得运行在JVM虚拟机上的Java代码能够操作使用其它语言编写的应用程序和库,比如C/C++以及汇编语言等。此外JNI提供的某些API还允许你把JVM嵌入到本地应用程序中。