在python中生成陆地多边形

发布于 2024-10-28 08:25:56 字数 221 浏览 1 评论 0原文

有谁能够推荐一个生成器、算法或任何其他简单的方法来生成一堆随机陆地来组成一个行星。

我的想法是,我将能够将其投影到一个圆圈上(我的游戏是 2d)并旋转它,因此它是一个矢量世界地图之类的东西。

此外,由于这是游戏的美学部分,因此我不太担心地球是否没有诸如两极陆地等常规特征。

我使用的语言是 python,但如果有人有一个带有 api 的生成器,我可以访问,我很乐意沿着这条路走下去

Is anyone able to recommend a generator, algorithm or any other easy way of generating a bunch of random landmasses to make up a planet.

The idea is that i will be able to project this onto a circle (my game is 2d) and rotate it so it is a vectorish world map kind of thing.

Also as this is a aesthetic part of the game im not too worried if the planet doesn't have regular features like landmasses at the poles ect.

The language i am using is python but if anyone has a generator with an api i can access im happy to go along that kind of path

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

沧笙踏歌 2024-11-04 08:25:56

生成自然地形的算法 http://en.wikipedia.org/wiki/Perlin_noise
谷歌将为您提供大量的实施方案。它为您提供了一个高度场,因此将点分类为陆地水域的阈值将为您提供陆地质量。

如果您需要将陆地块作为多边形,您可以运行行进方形算法从像素地图中获取多边形 http ://en.wikipedia.org/wiki/Marching_squares

Algorithm to generate natural looking terrains http://en.wikipedia.org/wiki/Perlin_noise
Google will give you plenty of implementation for it. It gives you an heighfield, so a threshold to classify a point as either land or water gives you land masses.

If you need the land masses as polygons, you can run the marching square algorithm to get the polygon from the pixel map http://en.wikipedia.org/wiki/Marching_squares

携君以终年 2024-11-04 08:25:56

您可以使用 http://pypi.python.org/pypi/noise/ 然后应用平滑和/或功率滤波器,最后是阈值函数。

另外,你想要矢量输出还是位图输出?

编辑:请删除,我没有读到标题中的“多边形”。

You could use http://pypi.python.org/pypi/noise/ and then apply a smoothing and/or power filter and finally a thresholding function.

Also, do you want vector output or bitmap output?

EDIT: Please delete, I didn't read the "polygon" in the headline.

月竹挽风 2024-11-04 08:25:56

您可以尝试使用随机中点位移法先生成顶点图,然后传递将其转换为球坐标,使其成为一个球。

You could try the Random midpoint displacement method to first generate the vertex map, then transfer it to spherical coordinates to make it into a ball.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文