2017-10-27 6 views
1

与えられた場合、(center x, center y),(x1, y1),(x2, y3)ポイントが与えられます。 中心点からどの点の半径がどれくらい容易かを調べる方法は?ポイントが与えられたときにどの半径が長いかを調べる方法

私はすでに1つの解決策を持っています。

2つの半径値を比較します。

Math.sqrt(Math.abs(x1 - center x) + Math.abs(y1 - center y)) 
Math.sqrt(Math.abs(x2 - center x) + Math.abs(y2 - center y)) 

しかし、私はMath.sqrtを使用せずに存在している場合は、別の解決策を知ってほしいです。コメントで述べたように

+1

平方根を除いて二乗した半径を比較するだけです – harold

+0

あなたのやり方が間違っていますか?その非常に単純な。あなたが単純な距離を実装するだけでよく見えるものを適用しようとしている場合は、ポイント構造を使用してください... – 0014

+0

@harold私は理解できません。もっと説明できますか? – gentlejo

答えて

1

、あなただけの値を比較することができる:センターにあなたのポイントのそれぞれから実際距離を見つけるには

(x1 - center x)^2 + (y1 - center y)^2 
(x2 - center x)^2 + (y2 - center y)^2 

を、あなたはの平方根を取る必要があります各。しかし

すなわち、平方根関数は正の実数で単調増加であるため、
sqrt(a) < sqrt(b) if and only if a < b, 

あなたはこれを行う必要はありませんし、あなただけの真上の合計を比較することができます。

関連する問題