참고: https://javascript.plainenglish.io/javascript-algorithm-distance-between-points-7fe0026857e3
이 포스트에서는 x와 y 좌표로 정의된 두 점 사이의 거리를 계산하는 함수를 만들어보겠습니다.
거리 계산
먼저 x1, y1, x2, y2 네 개의 매개변수를 받는 getDistance라는 함수를 만들어 보겠습니다.
두 점 (x1, y1)과 (x2, y2)의 좌표가 주어집니다. 이 함수의 목적은 두 점 사이의 거리를 반환하는 것 입니다.
이 두 점 사이의 거리를 구하기 위해 다음 공식을 사용합니다:
dx는 두 x1, x2의 거리 차이이고 dy는 y1, y2의 거리 차이 입니다.
다음은 함수 사용 예제입니다:
getDistance(100, 100, 400, 300)
// output: 360.5551275463989
위의 예제에서 첫 번째 좌표는 (100, 400) 이고 두 번째 좌표는 (100, 300)을 받았습니다.
여기서 x1과 x2의 차를 구하면 dx²을 얻을 수 있고 y1과 y2의 차를 구하면 dy²를 구할 수 있습니다.
이제 위의 공식을 사용하여 x와 y의 차를 더한 다음 루트를 씌우면 답을 얻을 수 있습니다.
이제 위의 수도코드를 실제 코드로 작성해 보겠습니다.
코드 작성
x 좌표 사이의 차이를 얻기 위해 x2에서 x1를 빼고 x라는 변수에 할당합니다.
let x = x2 - x1;
y 좌표에 대해서도 똑같이 작성합니다.
let y = y2 - y1;
위의 공식에 따라 x와 y를 제곱합니다. 그리고 각각의 제곱을 더합니다.
x * x + y * y
다음으로 Math.sqrt() 라는 JavaScript의 Math 객체의 메소드를 사용하여 위의 결과의 제곱근을 리턴합니다.
return Math.sqrt(x * x + y * y);
다음은 전체 코드입니다:
function getDistance(x1, y1, x2, y2) {
let x = x2 - x1;
let y = y2 - y1;
return Math.sqrt(x * x + y * y);
}
'dev > javascript' 카테고리의 다른 글
[javascript] 자바스크립트 문자열 찾기 (5) | 2023.03.15 |
---|---|
[javascript] 자바스크립트 배열 중복 제거 (3) | 2023.03.14 |
[javascript] 자바스크립트 스크롤 애니메이션 (2) | 2023.03.12 |
[javascript] CSS scroll indicator (수평 스크롤바) (0) | 2023.03.12 |
[javascript] 자바스크립트 appendChild 사용방법 (4) | 2023.03.03 |
댓글