java3d web展示实例,利用Java 3D实现Web上的真实感地形显示

1引言Java是一种完全面向对象的编程语言,它供了一个丰富的对象体系来描述复杂的三维世界,该体系类似于vRML和饰enInventor的对象结构。它将现实世界抽象成由各种元件比如几何对象、光照、变换等组成,这些元件通过一棵对象树来组织;通过构建3D元件,并加人到对利用Java3D实现W七b上的真实感的三维地形,就是找到在Java3D中合适的元件,利用DEM数据和影像,地理环境参数构建三维地面模型,来实现可视化。利用Java自然的Web支持,将程序以Java却plet的形式移植到Web环境下。2地面模型理论上地球表面可以用数学公式z=f(X,Y)描述,x、Y表示地面点的坐标,而z表示对应的高程。地球表面是一个不规则的面,具有复杂的分形结构,要想精确的描述它是不可能的,一般的地面建模都采用离散的方法。2.1基于点的表面建模:基于点的地面模型中,每个确定的地面点都对应一个作用域和一个高程,在作用域内地面的高程就是这个点的高程,整个地面由一系列相邻的不连续面构成。在单独的面域内,可以简单的表示为Zi=Hi(X,Y属于I面域)。基于点的建模方法简单,但确定相邻的面域的边界比较困难。2.2基于三角形的表面建模:利用三点决定一个平面的性质,可以将地面剖分成一系列三角形,对于每个点可以赋予一个Z值,地面就可以由这些互相邻接的三角形逼近,这种就是基于三角形的表面建模。三角形是最简单的图形基本单元,所以三角形表面模型可以适用于各种数据结构。其中最常用的就是不规则三角网(竹N)。基于点的地面模型,可以通过在点集上构建三角网来转换到三角形模型。三角形模型一般可以两部分描述,点序列和三角形序列。在点序列中记录了点的位置和Z方向的值(:y:),而三角形序列中则记录了组成每个三角形的三个点在点序列中的索引。2.3基于网格的建模:将地面使用规则的矩形网格划分也是描述表面的一个有效方法。使用矩形网格也有一系列的优点,比如存储简单,因为只需要记录区域的起始点和步长,网格数就可以确定一个区域,然后按照顺序记录点的Z坐标就可以了。网格模型可以方便的转换到三角形模型。3利用I)TM数据构建Java3D几何对象首先说明几个Java3D中的概念:顶点:顶点是三维造型中的基本概念,对应与三维空间上的一个点和这个点具有的一些属性包括空间坐标、颜色、纹理坐标、法向量等。顶点构成线、面等几何体,绘制时利用顶点的属性来对整个几何对象进行插值式的绘制。颜色:Java3D中的颜色是典型的RGBA颜色系统,可以使用的有eolo已b、eolo已f、eoloI4b、Colo衅f,表示了b是byte类型,f是float类型,3表示只有RGB没有从曲。混合量,4表示有Alpha混合项。纹理:纹理是一种提高三维图形真实感的技术,就是将图像数据通过映射的方法帖到三维表面上,江苏测绘第25卷达到逼真的效果;映射通过纹理坐标,纹理坐标有2个因子的坐标对,它表示了顶点出对应与图像数据上点的相对位置,每个图像的纹理坐标都在是O一1之间。法向量:指定了顶点处的法线方向,主要用于光照计算。利用DJM数据构建Java3D的几何对象是实现Java3D显示真实地形的关键。要考虑三个问题:1.选择合适的Java3D几何对象;2.对DEM数据进行规范处理;3.对象构建。3.1选择J~3D几何对象。针对数字地面模型,在Java3D中有两种对象类型可供选择:三角形序列和四边形序列。三角形序列包括:TriangleA湘y类和它对应的索引版本IndexedT丈iangleA漪y类。TriangleAn习y类是三角形构成的序列,在这个类中每三个顶点构

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值