python中的好几何库?

时间:2009-07-02 21:30:00

标签: python geometry

我正在为python中的几何操作和评估寻找一个优秀且发展良好的库,例如:

  • 评估2D和3D(如果存在)中两条线之间的交叉点
  • 评估平面与直线之间的交点,或两个平面之间的交线
  • 评估线与点之间的最小距离
  • 找到通过点的平面的正交
  • 旋转,翻译,镜像一组点
  • 找到由四个点定义的二面角

我有一本关于所有这些操作的概要书,我可以实现它,但不幸的是我没有时间,所以我会喜欢这样做的图书馆。大多数操作对于游戏目的都很有用,所以我确信其中一些功能可以在游戏库中找到,但我不希望包含我不需要的功能(如图形)。

有什么建议吗?感谢

8 个答案:

答案 0 :(得分:34)

或许看看SymPy

答案 1 :(得分:27)

Shapely是一个很好的python包装器,围绕着流行的GEOS库。

答案 2 :(得分:13)

我发现pyeuclid是一个非常简单的通用欧几里德数学包。虽然图书馆可能并不完全包含您提到的问题,但其基础设施足以让您轻松自行编写。

答案 3 :(得分:10)

答案 4 :(得分:6)

geometry-simple在大约300行中有点线平面移动类,只使用numpy;看看。

答案 5 :(得分:6)

我真的想要回答这个问题,上面的问题让我不满意。然而,我刚刚看到pythonocc看起来很棒,除了缺乏良好的文档,但仍然遇到安装问题(还没有兼容pypi)。最后一次更新是在4天前(2011年6月19日)。它包裹了OpenCascade,它具有大量的几何和建模功能。来自pythonocc网站:

  

pythonOCC是Python编程语言的3D CAD / CAE / PLM开发框架。它提供高级拓扑和几何操作,数据交换(STEP,IGES,STL导入/导出),2D和3D网格划分,刚体仿真,参数化建模等功能。

[编辑:我现在已经下载了pythonocc并开始研究一些例子]

我相信它可以执行所提到的所有任务,但我发现使用它是不直观的。它几乎完全由SWIG包装器创建,因此,对命令的内省变得困难。

答案 6 :(得分:2)

您可能对OpenOpt项目的http://openopt.org

中的Python模块SpaceFunc感兴趣

SpaceFuncs是2D,3D,N维几何建模的工具,具有参数化计算,数值优化和几何方程求解系统的可能性

答案 7 :(得分:2)

Python Wild Magic是另一个SWIG包装的代码。但它是一个游戏库,但您可以操纵SWIG库文件以从Python API中排除任何不需要的图形内容。