从高程数据创建3D网格?

时间:2012-08-15 07:32:53

标签: 3d gis gdal

我希望从地形高程数据中渲染一些图像,并想知道这类东西最好的工具是什么。基本上我想从不同的位置和视角生成一座山的图像。图像可能有点粗糙和简单..

我已经使用了GDAL命令行工具了很多,gdaldem在创建自上而下的阴影浮雕地图方面做得很好,但我没有找到任何不同的相机方向。

我正在考虑的两种一般方法是:

  • 使用GDAL python绑定和针孔相机的公式并滚动我自己的解决方案。如果可能的话,我想避免这样做:)
  • 使用现有工具渲染图像,或至少生成3d网格,以便我可以另外渲染

3 个答案:

答案 0 :(得分:1)

您可以在Numpy / Scipy中使用Delaunay三角测量程序来获取您寻找的网格;但这仍然只是推动自己完整解决方案的第一步。

就此而言,考虑仅使用数字地形数据并通过任何ad-hoc方案将四个相邻点的每个四边形划分为两个三角形。不是" 3-D网格"?换句话说,要创建三角形网格(用于其他3D渲染):

  • 考虑将地形栅格上的每个点连接到其四个邻居(N,S,E,W);
  • 另外,将每个四边形与另一个对角线邻居对分开。 (例如:"断然使用SW-NE对角线"或"使用对角线,其平均值更接近四边形中所有四个点的平均值。)

Matplotlib有能力渲染这样的网格,但是你可能想要的合理地形区域的点数可能几乎完全淹没了matplotlib的动态特征(平移和缩放;甚至是3D的旋转。)

答案 1 :(得分:-1)

我认为GrassGIS可能会做你想做的事。

您可以访问here获取GrassGIS可以执行的操作的截图。

答案 2 :(得分:-1)

在推出自己的Virtual Terrain Project之前,您可能需要查看Why can't Python's raw string literals end with a single backslash?。该项目的目标是以促进创建工具,以便以交互式3D数字形式轻松构建现实世界的任何部分。 ..工具及其源代码可以自由共享,以帮助加快必要技术的采用和开发。