搜索
您的当前位置:首页三维符号库的设计与建立

三维符号库的设计与建立

来源:智榕旅游


三维符号库的设计与建立

现在我们需要设计一套三维符号库,通过这个符号库我们可以自己创建自定义的三维符号;可以对这些创建的三维符号进行编辑;可以对三维符号加上三维注记;对这些符号注记属性能够做一些简单的移动编辑操作等。我们知道不是所有的二维符号都要设计出与之相对应的三维符号,可见三维符号库中的三维符号并不是与二维符号库中的符号一一对应,我们要根据空间地物的具体属性和具体特征进行分析,然后制定出相应的三维符号设计方法。在建立三维符号库时,我们需要处理好几个方面的问题:关于三维符号编码如何生成;对符号模型的实时创建于编辑;如何生成符号中的贴图纹理;对于生成的符号能够在一个三维环境中进行预览;还有对建立好的三维符号库进行管理和维护等[40]。我们现在将符号库的实现方式分为以下3个方面:

(l)通过获得的地物信息建立三维实物模型。

(2)对线和面状的符号进行纹理填充。

(3)在DEM或T取的场景图中使用二维符号模型。

4.2.1 建立三维实物模型

根据获取的空间地物信息,对所需要建模的空间实体属性进行分析,建立三维空间模型,要注意的是制作出的三维符号要能反映出该空间实物的主要特征,在兼顾形象化和抽象化的同时,也要注重符号的简洁性,使符号简洁明了。在制作过程中,一些具有特征要素的地物如学校、医院、警察局、邮局、火车站、城市标志性建筑等,我们可以使用这些空间地物的一些特征部分直接来代替该物体。而对于那些没有明显的特征要素地物,如电

线杆、烟囱、水塔等,我们一般是设计建立出对应的标准模型即可。一般实体建模使用的工具有AutoCAD、 3DMAX或者专业的建模语言VRML。VRML(场川刀以 1RealityModelingLanguage)即虚拟现实模型化语言,它是一种三维场景描述语言,可以用在加temet、In饥坦et以及本地机系统中,并且正在成为通用的三维图形和多媒体交换格式。近些年来,随着图形图像技术的发展,也可以使用DirectX与OpenGL技术设计编写出方便自己应用的建模工具软件。对于使用自己编写设计的建模工具我们也要遵循三维符号模型的设计原则,不仅要能表达出空间地物的重要特征,还能够达到简洁效果。不仅如此,我们还可以在自己编写的建模工具中加入各种接口,通过接口调用和使用其他软件已经建立好的三维实物模型,例如在软件中加入 DirectXModel(*.X)文件导入的功能,我们可以通过转换工具,将其他软件的三维实物模型的文件格式转换成*.x的文件格式,然后导入*.x文件,以实现对三维实物模型的导入,从而提高了软件的兼容性和可二次开发特性。

4.2.2 线状符号与面状符号的纹理填充

对于线状符号与面状符号的纹理填充,我们首先是要设计和制作出用于进行纹理填充的填充单元,然后将制作的填充单元进行连接,从而构成所需要的线状或面状符号。我们在进行纹理填充[4l]时要注意以下几点:(l)线状符号的纹理填充:在对线状符号进行纹理填充时,是将线状符号的填充单元在垂直方向上进行首尾相连,对于在连接后生成的线状符号不能有明显的割裂感觉,从视觉上起到连贯的效果,这就对填充单元的制作要求提高了。在进行填充单元的连接时,首先计算确定出线性符号中轴线以及与中轴线对应的两条平行线作为符号的边界线,然后按照符号的宽度制定填充单元的相关信息,建立填充单元与线性符号的映射关系,将填充单元上的像素与符号相对应,最后将这些像素值填充在线性符号所要表示空间上。(2)面状符号的纹理填充:在对面状符号进行纹理填充时,不仅在垂直方向上首尾相连,水平方向上我们同样要求首尾相连,在两个方向上均不能出现纹理割裂感觉,整体面状符号纹理要均匀平滑,可见面状符号的纹理填充比线状符号难度更大。在进

行面状纹理填充时,首先需要计算出需要填充的面状符号的区域范围,然后根据填充单元的规格参数对整个区域范围进行格网形势的分割,然后在每块分割后的小区域内赋予填充单元的像素属性值,从而完成整个面状符号的纹理填充[42]。一当面状符号用于表示地表,.水域等面状地物时,如草地、沙地、荒漠地、海洋、湖泊等,我们可以通过拍摄获取该地貌或水域的图像信息,取得其中一部分有代表性的图像,使用PhotoshoP等图像处理软件对该图像进行处理,使其可以在图像的四周进行无限重复的拼接,而且4个方向上的拼接处不存在割裂感觉,拼接后能够成为一幅完整的图像。最后在拼接结束后的图像四周,使用相关软件对边缘进行过渡处理,这样可以避免在使用符号时,视觉上出现边界突然变化的效果,以此可以使得符号模型更为逼真。

4.2.3 二维符号模型的使用

从符号要表达的信息方面来看,我们可以发现,在三维立体场景中,并不是所有的地物都是立体表现在场景中的,所以我们在建立三维符号库时可以加入适用于三维立体场景表示的二维符号模型。我们知道三维符号是对二维符号的继承和发展,在三维场景中一些有着抽象意义的符号,如海岸线、市界限、国界线、动植物保护区界限等,这些符号信息并不具备与之相对应的实物信息,我们没有办法找到对应的地理实物来对其进行描述,这时我们就需要使用到二维符号。通过在对应区域内的DEM或者TIN场景图中添加二维符号信息,能使用户更好的了解该区域内所要表达的地物信息,提高用户信息获取能力。不仅如此,二维符号模型所占用的数据与三维符号模型相比是比较小的,在三维场景中使用二维符号,可以大大提高符号库中符号的调用效率,同时场景的生成速度也相对提高。而且在三维场景中,二维符号模型上继续加载三维符号模型,不仅没有降低对二维符号表达信息的获取,对于三维场景的整体立体效果也大为提高。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top