据我所知,Python 没有内置的多边形功能。我想创建一个 3D map ,并认为多边形是实现它的最佳方式。
不想重新发明轮子我做了一些谷歌搜索,发现那里有很多 Python 的东西,但我找不到我想要的东西。因此,在我重新发明轮子(或发明一个整体)之前,有人知道 Python 的多边形系统吗?
请注意,它确实需要是 3D 的(我发现了很多 2D 的)。另请注意,我对它们的显示不感兴趣,但对在 Python 中存储它们和数据结构感兴趣。
谢谢
请您参考如下方法:
据我所知,可用于 Python 的最完整的地理/ map 系统之一是 GeoDjango .这适用于 Django ,一个 MVC 框架。随之而来的是大量的多边形、直线和距离计算工具,如果需要,这些工具甚至可以考虑地球表面的曲率。
话虽如此,我能想到的生成 3D map 的最快方法是使用高度图。创建包含 (x, y, z) 坐标的二维元组列表。每个元组代表网格上均匀分布的点,由数组的维度映射出来。这将创建一个沿 X 轴和 Z 轴的简单平面;地平面。构成平面的多边形是四边形,即有四个边的多边形。
接下来,要生成三维高度,只需为每个点指定一个 Y 值即可。这将在您的地平面中产生波峰和波谷。
如何渲染这将取决于您,将您的点网格转换为 OpenGL 之类的东西可以理解的多边形格式可能需要一些工作,但请查看 Visual Python ,它是我见过的最简单的 Python 3D 库。
