首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

运用DEM生成彩色的立体图像

2013-03-22 
使用DEM生成彩色的立体图像在上篇博客中,使用GDAL提供的函数生成彩色渲染图,但是不是立体的。在之前有一篇

使用DEM生成彩色的立体图像

在上篇博客中,使用GDAL提供的函数生成彩色渲染图,但是不是立体的。在之前有一篇翻译的博文中可以使用Mapnik进行立体渲染详见“http://blog.csdn.net/liminlu0314/article/details/8550781”。仔细研究了下Mapnik中的渲染方式,发现使用的是一个很著名的开源库——AGG。
AGG,全名:Anti-Grain Geometry,是一个开源的、高效的2D图形库,它的网站:http://www.antigrain.com/。  AGG是一个用标准的平台无关的C++写成的通用图形工具包。它可以应用在计算机程序中需要高质量的2D图形的许多方面。例如,AGG可以用于渲染2D地图。AGG只使用了C++和标准C的函数,如memcpy,sin,cos,sqrt等。基本的算法甚至没有使用C++ Standard Template Library。因此,AGG能够在大量的应用软件中使用,包括嵌入式系统中。另一方面,AGG允许对库的一部分进行替换,比如在它不能适应性能的要求时。如果需要,你也能够添加其他的颜色空间。因为AGG是基于C++的模板机制的。
关于AGG的介绍就这么多了,想多了解的可以搜相关的内容,或者参考下面的参考链接。通过查看Mapnik的源代码和AGG的源代码,写了一个简单的使用DEM进行立体渲染的函数。函数的核心如下:


图1 原始DEM数据

运用DEM生成彩色的立体图像

图2 使用颜色表1,透明度为60%

运用DEM生成彩色的立体图像

图3 使用颜色表1,透明度为90%

运用DEM生成彩色的立体图像

图4 使用颜色表2,透明度为60%

颜色表1

100%2550025545.5%255255025520.5%025502556.7%02502552553.5%01282552551.7%0642552550%010255255nv0000
上面的处理效果没有GlobeMapper 的效果好,和Erdas的效果没进行比较过(主要是现在的电脑没装)。希望对大家有用,关于立体渲染,关键就是上面的渲染函数,即dst(RGB) = F(R,G,B ,P)。

参考资料:
http://www.antigrain.com/
http://en.wikipedia.org/wiki/Anti-Grain_Geometry
http://www.cnblogs.com/Kane_zzt/archive/2008/08/19/1271793.html
http://blog.csdn.net/liminlu0314/article/details/8688486
http://blog.csdn.net/liminlu0314/article/details/8550781

热点排行