照合する 2 つの幾何学的データ セットがあり、両方とも何万もの PathGeometry を含んでいます。正確には、あるセットから別のセットにオーバーラップする領域を見つける必要があるため、次のようなループが得られました
foreach (var p1 in firstGeometries)
{
foreach (var p2 in secondGeometries)
{
PathGeometry sharedArea = PathGeometry.Combine(p1, p2, GeometryCombineMode.Intersect, null);
if (sharedArea.GetArea() > 0) // only true 0.01% of the time
{
[...]
}
}
}
さて、私のデータの性質上、99.99% の確率で組み合わせがまったく交差しません。プロファイリングは、これがこの計算の最も「高価な」部分であると私に言いました。
2 つの PathGeometry 間の衝突検出を高速化または高速化する方法はありますか?