论文部分内容阅读
随着计算机仿真可视化技术的快速发展,越来越多的可视化工具涌现出来。作为Java语言在该方向的扩展,Java3D受到人们的追捧。然而,当前的研究工作大多集中于讨论Java3D的场景图,即虚拟场景的整体布局和可视化流程,很少涉及具体的实现过程和细节。其次,很多研究人员主要探索以Java3D为可视化模块的仿真系统,把精力全部集中在怎样和其他技术进行融合,忽略了其本身的特性和使用时的问题。再者,Java3D目前的应用范围有待推广,很多对仿真可视化有较强依赖的领域都未涉及到,如医学成像、空间科学等。本论文正是针对上述问题,在介绍Java3D本身特点的基础上,以实际工程为背景,深入分析了Java3D的理论特征和使用细节,并应用到空间科学数据场可视化以及地理信息领域的地形数据场建模仿真工作中。主要内容为:1.除了像众多研究工作一样介绍了Java3D的核心——场景图,还特别深入剖析了Java3D常用的几何类,包括它们的层次结构和数据结构,能生成的几何体以及相似类之间的区别和联系。详细分析了这些类的使用方法、参数的注意事项甚至是局限性。为后来的研究人员提供最直接的参考资料,大大节省研究成本。2.以实际工程项目为蓝本,提取了若干可视化过程中常见的底层实现问题,包括曲线生成、基本几何图形渲染、大规模区域数据场渲染和数据到颜色的映射。为这些问题建立了抽象的数学模型,并用Java3D实现相应算法。不但为后续的可视化和仿真应用打下良好基础,也为其他相关研究提供有价值的参考。3.分别以近地空间物理要素数据场的可视化和地形数据场的建模仿真为例,详尽地介绍了Java3D各种模式的仿真可视化应用。对前者建立了平面数据场可视化算法,能直接响应实测数据,并以曲线、等值线、谱图、平面、球面等多种模式展现。对后者则从理论模型出发,将理论算法映射为可实现的伪代码,并选取适当的Java3D类实现。在此过程中,提出了一种更清晰更易实现的等值线描绘算法;提出并实现了基于Java3D的平面、谱图和球面等模式的可视化算法;分析了数据预处理的必要性,也设计并实现了相关方法;介绍并实现了两种三维地形生成算法——直线分形法和中点位移法,对比并探讨了两种算法的区别和特点。这为Java3D使用人员提供应用上的支持,为算法研究人员提供仿真参考,也帮助相关领域的科研人员扩展其研究的方式和方法。4.通过介绍两种人机交互方式——人工控制交互和动画,展示了Java3D的动态仿真功能,说明用Java3D能开发出更生动更高级的应用,可以用于更多领域。