2

与えられた線分x1y1x2y2および円弧 ( 、 、 、 、 で定義されx1ますy1x2ここy2Ijは円の中心Iから X 方向の距離、 は円の中心から Y 方向の距離です。= are circles.)、これらのジオメトリのコレクション間のすべての交点の座標を見つけるにはどうすればよいですか?x1jy1(x1,y1)(x2,y2)

注: 円弧はx1y1x2、 、y2のように指定することもできますが、半径Rを指定することもできますがR、一方を他方に変換するメカニズムは既にあります。

これは Java のプロジェクトであり、これを判断するためのライブラリやアルゴリズムは見つかりませんでした。

2 つの線分の交点を決定するのは簡単ですが、他の場合はもっと複雑です。

4

1 に答える 1

1

あなたの問題は、(1)ラインライン、(2)ラインアーク、(3)アークアークの交点を見つけることに要約されます

(1) インターネット上で多くの解決策を見つけることができます。1 つ: 2 つの線分が交差する場所をどのように検出しますか?

(2) 最初は、線分と円弧だけではなく、線分と円があると仮定します。線と円が交差する場合、次の方法で点を計算できます: http://mathworld.wolfram.com/Circle-LineIntersection.html

これらの 1 つまたは 2 つの点が存在する場合、それらが実際に線分と円弧の両方に含まれていることを確認する必要があります。もしそうなら、あなたはあなたのポイントを持っています!

(3) ここでも、2 つの円があり、次のように点を見つけるとします: http://mathworld.wolfram.com/Circle-CircleIntersection.html

最後に、ポイントが両方の円弧に属しているかどうかを再度確認します。

これらの 3 つの方法がある場合は、貪欲な方法を試して、線分と円弧の N^2 の組み合わせをすべて試すことができます。

于 2013-10-29T16:54:01.440 に答える