【问题标题】:Open-source fractal maps [closed]开源分形图 [关闭]
【发布时间】:2010-09-14 12:09:44
【问题描述】:

我有兴趣创建一个使用分形地图来实现更真实地理的游戏。但是,我发现的唯一分形映射程序仅限 Windows,例如 Fractal Mapper。不用说,它们也不是开源的。

是否有可用的开源分形图创建器,最好是 Python 或 C/C++?理想情况下,我想要一些可以“插入”程序的东西,而不是独立的。

【问题讨论】:

    标签: c++ python open-source maps fractals


    【解决方案1】:

    Fracplanet 可能有用。

    【讨论】:

      【解决方案2】:

      基本地形生成包括创建高度图(图像)并使用像素颜色作为高度进行渲染。因此,您可能会发现图像或纹理生成代码很有用。这是good tutorial

      【讨论】:

        【解决方案3】:

        对于地形方面,请查看libnoise。 它是packaged for Debian,并且有很好的文档,其中有一章关于terrain generation 以及示例C++ 代码。

        当然,“地图”不仅仅是在高度场上添加一些颜色(例如 Fracplanet 添加河流和湖泊)。你从这些方法中得到的那种地形实际上并不那么现实。大陆通常不会从海岸上升到岩石腹地,因此模拟大陆漂移、造山和侵蚀过程可能会有所帮助(或者,fake it)。然后,如果您想要植被或生命形式的人工制品(例如道路和城镇)填充您的地图,您可能需要查看元胞自动机或其他“人造生命”工具。最后,Virtual Terrain Project 值得浏览以获取更多链接和想法。

        【讨论】:

          【解决方案4】:

          我强烈建议购买一份

          Texturing & Modeling: A Procedural Approach

          我看到它现在已经是第三版了(我只有第二版),但它包含了很多关于使用程序纹理的有用文章,包括几章关于它们在分形地形中的使用。它也从对噪声算法的广泛讨论开始 - 所以你拥有从基础开始的一切。作者包括 Musgrave、Perlin 和 Worley,所以你真的不能做得更好。

          【讨论】:

            【解决方案5】:

            如果您想要真正逼真的地理环境,您可以使用 NASA 的 SRTM 数据集,或许还可以结合使用 OpenStreetMap 功能。 :-)

            【讨论】:

              【解决方案6】:

              一个非常简单的实现是使用中点位移分形,http://en.wikipedia.org/wiki/Diamond-square_algorithm,或者更复杂的 Diamond-Squares 算法。 http://www.gameprogrammer.com/fractal.html#diamond

              这些算法类似于 Photoshop 中的“差异云”。

              【讨论】:

                猜你喜欢
                • 2011-02-05
                • 1970-01-01
                • 2017-08-08
                • 1970-01-01
                • 1970-01-01
                • 2021-10-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多