2010-07-31 2 views

답변

0

첫 번째 점을 중심으로 원의 방정식을 사용하고 x와 y를 계산합니다.

제 포인트 = x_0, 첫 번째 점의 주위의 반경 5 원

(X - x_0)의 y_0

식^2 + (Y - y_0)^2 = 25

사용 y를 대치하고 x를 풀 수있는 방정식. 조심해서 2 점을 얻고 올바른 것을 선택하십시오. y를 풀 때 행의 방정식을 다시 사용하십시오.

3
public static function distanceFromPoint(a:Point, b:Point, dist:Number):Point { 
    var tmp:Point = b.subtract(a); 
    tmp.normalize(dist); 
    return a.add(tmp); 
} 

이 작동하는 방법 :
당신은 두 점 사이의 벡터를 얻을 수 b에서 a을 뺍니다. 이 벡터를 정규화하고 dist을 곱하면 dist 단위 길이가 a에서 b의 방향을 가리키는 길이가됩니다. 이 벡터를 점 a에 추가하면 결과는 dist 단위 인 a에서 b의 새 점이됩니다.

+1

+1. 사소한 메모. 'normalize'가'void'를 반환하기 때문에 임시 변수를 사용하여 정규화 된 점을 저장해야합니다. 다음과 같은 것 :'public static function distanceFromPoint (a : Point, b : Point, dist : Number) : Point {var tmp : Point = b.subtract (a); tmp.normalize (dist); return a.add (tmp);}' –

+0

감사합니다. @Juan. 나는 [답장에서 귀하의 과소 평가 된 답변 중 하나] (http://stackoverflow.com/questions/3217212/key-value-pairs-in-as3/3217584#3217584)를 수정했습니다. – Gunslinger47

관련 문제