5

いくつかの 3D 要素を操作するためにGEOS ( Python/Django ) を使用しています。すべてのトポロジー操作は 2D で完全に機能します。そこで、MultiPolygon3D ポリゴンを使用した単純な を作成し (実際には非常に単純で、垂直面のコレクションにすぎません)、LineStringこれも 3D です。今、私は単にそれらの交点が欲しかったのです(これは3Dポイントのリストだったと思います):

>>> l = LineString([0, 0, 0], [1, 1, 1])
>>> p = Polygon([[1, 0, 0], [0, 1, 0], [0, 1, 1000], [1, 0, 1000], [1, 0, 0]])
>>> p.intersects(l)
False

そうですね、geos は 3D データを使ったトポロジー操作をサポートしていません ... まあ、私のためにそれを行うことができるライブラリがたくさんあるはずです ??? だから私はグーグルで検索しましたが、1つも見つかりません!!! 誰かがポインターを持っているなら、それは素晴らしいことです...

編集

Intersections of 3D polygons in pythonと同様の質問がありますが、満足のいく答えは得られません (コメントを参照)。

4

1 に答える 1

3

Pythonでこれを行うためのライブラリの単一の「良い選択」があるとはまだ信じていませんが、多くの有望なプロジェクトが進行中であり、その中でも特にGoogleコードのcgalバインディングが改善されています.

バージョン 4 以降の CGAL の新しいライセンス条件 (GPL/LGPL) により、このトピックに関する元の質問の一部が古くなっています。

于 2012-02-18T09:10:33.750 に答える