2009-10-19 4 views
1

이것은 -||xi-xy||^2으로 설명됩니다.음의 제곱클릭 거리 란 무엇입니까?

그래서 2 차원 점에 대해 이렇게 코딩합니까?

- ((x1-x2) + (y1-y2))^2 

또는

-((x1-x2)^2 + (y1-y2)^2) 

또는

-(sqrt((x1-x2)^2 + (y1-y2)^2)) 

또는 다른 방법으로

?

+1

|| xi - yi ||이 아닌 xi - xy ||를 의미합니다. – ShreevatsaR

답변

9

정답은

-((x1-x2)^2 + (y1-y2)^2) 
수학적 설명은 정확

하지만, 구현을위한 유용하지입니다. 당신의 # 2

result = -((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); 

단순화 할 수

len = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); 
result = -(len*len); 

: 그것은 직접 구현하면 것은 같은 일 것입니다 점 사이의 거리의 제곱으로 언급 한 것.

+0

사각형에 'sqrt'및 후자 '-' 연산을 수행 할 이유는 없습니다. 그 값이 항상 양의 값이 될 것이기 때문에 (sqrt를 제거한 후에) 사각형의 합에'-'을 적용하면됩니다. –

+0

감사합니다 아담, 나는 내 대답을 명확히했습니다. – tfinniga

1

세 번째는 거리의 음수입니다. 두 번째는 거리의 제곱의 음수 인 것으로 나타납니다.

관련 문제