「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ポイントインポリゴン検出により効率的な方法:Ray TracingまたはMatplotlib \ 's path.contains_points?

ポイントインポリゴン検出により効率的な方法:Ray TracingまたはMatplotlib \ 's path.contains_points?

2025-03-02に投稿
ブラウズ:165

Which Method is More Efficient for Point-in-Polygon Detection: Ray Tracing or Matplotlib\'s path.contains_points?

Pythonの効率的なポイントインポリゴン検出

ポリゴン内にあるかどうかを決定することは、計算ジオメトリの頻繁なタスクです。このタスクの効率的な方法を見つけることは、多数のポイントを評価する場合に有利です。ここでは、一般的に使用される2つの方法を調査して比較します:Ray TracingとMatplotlibのPath.Contains_Points関数。交差点の数をカウントし、そのパリティに基づいてポイントがポリゴン内にあるかどうかを決定します。指定されたポイントが定義されたパス内にあるかどうかを確認します。この関数は、必要なコードスニペットに見られるように、レイトレースのアプローチよりも速いことがよくあります。 np.linspace(0、2*np.pi、100)]

points = np.random.rand(10000、2)

ray tracing経過時間

start_time = time()

inside1 = [ray_tracing_meth_meth_meth_meth_meth_meth_meth_meth_meth_meth_meth_meth_meth_meth_meth_meth_meth(0]ポイント]]

print( "Ray Tracing Elapsed Time:" str(time() - start_time))

contains_points elapsed time

start_time()

path = mpltpath.path(polygon)

insite2 = 2 = 2 = 2 = 2 = 2 = path.contains_points(ポイント)

print( "matplotlib contains_points elapsed time:" str(time() - start_time))

これらの方法に加えて、幾何学的操作用に特別に設計された形状のパッケージは、ポイントインポリゴンチェックに効率的な機能を提供します。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3