Python中的3D多边形

时间:2009-01-11 01:06:06

标签: python 3d polygon

据我所知,Python没有内置的多边形功能。我想创建一个3D地图,并认为多边形是最好的方法。

不想重新发明轮子我做了一些谷歌搜索,发现那里有很多Python的东西,但我找不到我想要的东西。因此,在我重新发明轮子(或发明一个整体)之前,有没有人知道Python的Polygon系统?

请注意,它确实需要是3D(我找到了相当多的2D)。另请注意,我对它们的显示不感兴趣,而是在Python中存储它们和数据结构。

由于

3 个答案:

答案 0 :(得分:4)

我知道的最完整的Python地理/地图系统之一是GeoDjango。这适用于Django,一个MVC框架。随之而来的是大量的多边形,线和距离计算工具,如果需要的话甚至可以考虑地球表面的曲率。

话虽如此,我能想到的最快的生成3D地图的方法是使用高度图。创建包含(x,y,z)坐标的元组的二维列表。每个元组表示网格上的均匀间隔点,由阵列的尺寸映射出来。这会沿X轴和Z轴创建一个简单的平面;地平面。构成平面的多边形是四边形,四边形的多边形。

接下来,为了产生三维高度,只需给每个点一个Y值。这将在你的地平面上创造出高峰和低谷。

你如何渲染这将取决于你,并将你的网格点转换为多边形格式,像OpenGL可以理解的那样可能需要一些工作,但看看Visual Python,它是最简单的3D库我见过Python。

答案 1 :(得分:2)

我认为你的意思是多面体而不是多边形......你可能想看看vpython

答案 2 :(得分:0)

CGAL是一个C ++几何库,其中包括多面体模型(3D平面形状)

它有Python绑定可用。 Polygon3类的文档在这里: http://cgal-python.gforge.inria.fr/Manual/CGAL.Polyhedron.html#Polyhedron_3