[JS] 유클리드 거리, 맨하탄 거리 구하기

김승현·2023년 2월 15일
0

유클리드 거리(Euclidean Distance)

  • L2 Distance라고 불린다.
  • 초록색 선 : 두점사이의 직선 거리(최단 거리)
  • 공식
    • 각 차원의 차를 제곱해서 모두 더한 값의 제곱근
  • n차원에서 두 점 사이의 거리
  • JS 코드
    let a = [0, 4];
    let b = [3, 0];
    
    function euclideanDistance(a, b) {
        let distance = 0;
        for (let i = 0; i < a.length; i++) {
            distance += Math.pow(Math.abs(a[i] - b[i]), 2)
        }
        return Math.sqrt(distance)
    }
    
    euclideanDistance(a, b)  // 5

맨하탄 거리(Manhattan Distance)

  • L1 Distance라고 불린다.
  • 도시의 골목길(블록)을 걸을 때와 모습이 유사하여 이름이 붙었다.
  • 빨강색 , 파랑색, 노랑색 선 : 거리 동일하다.
  • 공식
    • 각 차원의 절대값 차의 합
  • n차원에서 두 점 사이의 거리
  • JS 코드
    let a = [0, 4];
    let b = [3, 0];
    
    function manhattanDistance(a, b) {
        let distance = 0;
        for (let i = 0; i < a.length; i++) {
            distance += Math.abs(a[i] - b[i])
        }
        return distance
    }
    
    manhattanDistance(a, b)  // 7
profile
개발자로 매일 한 걸음

0개의 댓글