2012-05-14 12 views
1

私はそれらの周りの領域を持つ地図上に2点を持っています(5マイルと言う)と、交差するかどうかを判断する必要があります。たとえば、各点に半径が5マイルの円があるとします。それらの2つの円が重なるかどうかを調べる必要があります。誰でもこのことを達成できる数学を教えてもらえますか?計算する2円の円の交点の場合

他にも、私はSolrを他の地理空間検索に使用しています。これがSolrで達成できるかどうかは誰にも分かりますか?

ありがとうございます!

+5

2つのポイントの間にある場合は、その2つのポイントの間の距離を確認してください。 (<10マイル) –

+0

2点間の距離を計算し、その周りの半径を減算するのと同じくらい簡単ですか?それが> 0の場合、それらは交差しますか? – threejeez

+1

私は理解しません...センター間の距離が半径の合計よりも小さい場合、2つの円が重なりますが、それはあなたが望むものだとは思われません...そうですか? –

答えて

7

円の中心間の距離をとるだけです。それがr1 + r2より小さければ、それらは重なり合う。

int distance = calculateDistance(); 
int r1 = circle1.getRadius(); 
int r2 circle2.getRadius(); 

boolean overlap = distance < r1+r2; 
関連する問題