web-dev-qa-db-ja.com

Pythonの良いジオメトリライブラリ?

私は、Pythonでの幾何学的な操作と評価のための優れたよく開発されたライブラリを探しています:

  • 2Dと3D(存在する場合)の2本の線の間の交差を評価する
  • 平面と線の間の交点、または2つの平面の間の交点を評価する
  • 線と点の間の最小距離を評価する
  • 点を通る平面の正規直交を見つける
  • 回転、移動、一連のポイントのミラーリング
  • 4点で定義される二面角を見つける

私はこれらのすべての操作に関する大要本を持っています。それを実装することはできましたが、残念ながら時間がないので、それを行うライブラリを楽しんでいます。ほとんどの操作はゲームの目的に役立つため、これらの機能の一部はゲームライブラリで見つけることができますが、必要のない機能(グラフィックスなど)は含めないことをお勧めします。

助言がありますか ?ありがとう

90
Stefano Borini

多分 SymPy を見てください。

34
John Y

Shapely はニースpython人気のラッパー [〜#〜] geos [〜#〜] ライブラリです。

27
A. Coady

pyeuclid は、非常にシンプルで汎用的なユークリッド数学パッケージであることがわかりました。ライブラリにはあなたが言及した問題が正確に含まれていないかもしれませんが、そのインフラストラクチャはあなた自身で簡単にこれらを書くことができるほど十分に優れています。

13
Dov Grobgeld
10
Agnel Kurian

geometry-simple には、numpyのみを使用して、最大300行のポイントライン平面運動のクラスがあります。ご覧ください。

6
denis

私はこの質問に対する良い答えが本当に欲しいです、そして、上のものは私に不満を残しました。しかし、私はちょうど pythonocc に出会いましたが、良いドキュメントがなく、インストールにまだ問題があります(まだpypi互換ではありません)。最後の更新は4日前(2011年6月19日)でした。 OpenCascade をラップします。これには、大量のジオメトリおよびモデリング機能があります。 pythonocc Webサイトから:

pythonOCCは、プログラミング言語Python。 2Dおよび3Dメッシュ、剛体シミュレーション、パラメトリックモデリング。

[編集:pythonoccをダウンロードし、いくつかの例で作業を開始しました]

上記のすべてのタスクを実行できると思いますが、使用するのは直感的ではないことがわかりました。 SWIGラッパーからほぼ完全に作成されるため、コマンドの内省が困難になります。

6
BenjaminGolder

Python Wild Magic は別のSWIGラップコードです。ただし、これはゲームライブラリですが、SWIGライブラリファイルを操作して、Python API。

2
Velimir Mlaker

Python OpenOptプロジェクトのSpaceFuncsモジュール、 http://openopt.org

SpaceFuncsは、パラメータ化された計算、数値最適化、幾何方程式の解法の可能性を備えた2D、3D、N次元の幾何学的モデリングのためのツールです。

2
user871016