【问题标题】:Creating a 3D mesh from elevation data?从高程数据创建 3D 网格?
【发布时间】:2012-08-15 07:32:53
【问题描述】:

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

我已经使用了很多 GDAL 命令行工具,gdaldem 在创建自上而下的阴影地形图方面做得很好,但我还没有发现任何可以实现不同相机方向的东西。

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

  • 使用 GDAL python 绑定和针孔相机的方程并推出我自己的解决方案。如果可能的话,我想避免这样做:)
  • 使用现有工具来渲染图像,或者至少生成一个 3d 网格,以便我可以以其他方式渲染它

【问题讨论】:

  • 您可以使用Blender's Python 绑定来生成和渲染模型。

标签: 3d gis gdal


【解决方案1】:

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

就此而言,请考虑仅使用数字地形数据,并通过任何临时方案将四个相邻点的每个四边形划分为两个三角形。那不是“3-D网格”吗?换句话说,要创建一个三角形网格(用于额外的 3D 渲染):

  • 考虑将地形栅格上的每个点连接到它的四个邻居(N、S、E、W);
  • 此外,将每个四边形拆分为另外一对对角线邻居。 (例如:“分类使用 SW-NE 对角线”,或“使用均值接近四边形中所有四个点均值的对角线”。)

Matplotlib 具有渲染这样的网格的能力,但是对于合理的地形补丁,您可能需要的点数可能几乎完全淹没了 matplotlib 的动态功能(平移和缩放;甚至 3D 的旋转)。

【讨论】:

【解决方案2】:

我认为GrassGIS 或许可以做你想做的事。

您可以前往here 获取有关 GrassGIS 功能的一些截图。

【讨论】:

  • 这在理论上可以回答这个问题,但最好将答案的基本部分包含在此处以供将来的用户使用,并提供链接以供参考。 Link-dominated answers 可以通过link rot 失效。
  • 我认为对“带有链接的正确答案”的反对意见过多。甚至引用的关于“链接主导的答案”的链接也接受了“只要不仅仅是一个裸链接,它们就可以”的答案。
【解决方案3】:

您可能想在自己动手之前查看Virtual Terrain Project。该项目的目标是促进创建工具,以便以交互式 3D 数字形式轻松构建现实世界的任何部分。 .. 工具及其源代码可免费共享,以帮助加速必要技术的采用和开发。

【讨论】:

  • 这在理论上可以回答这个问题,但最好将答案的基本部分包含在此处以供将来的用户使用,并提供链接以供参考。 Link-dominated answers 可以通过link rot 失效。
  • @DanH - 你的通灵能力坏了 - 我没有投反对票。旧问题的答案会出现在所有具有>10K 代表的用户可用的工具中——我不是唯一一个。投票是匿名的。我提出了一个建议来改进并可能延长答案的价值,以及你的。不是匿名的,我会支持它。别客气。顺便说一句,我不会放松的。
  • @Mogsdad:我很抱歉假设你投了反对票;您的评论和反对票几乎同时出现。我的错。 FWIW,这个答案的文本包括“虚拟地形项目”,我的文本包括“Grass GIS”。因此,即使链接过时,未来的用户也有机会找到建议的软件。
  • 也许通过编辑这解决了 OP 的“这种事情最好的工具是什么”和第二种方法:“使用现有工具来渲染图像,或者至少生成一个 3d 网格所以我可以用另一种方式渲染它。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
  • 2021-07-28
相关资源
最近更新 更多