JavaScript 를 이용한 벡터 각도 계산

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 벡터 각도의 개념을 탐구하고 JavaScript 를 사용하여 두 벡터 사이의 각도를 계산하는 방법을 배웁니다. Math.pow(), Math.sqrt(), 그리고 Math.acos()와 같은 다양한 수학 함수를 사용하여 필요한 계산을 수행하고 원하는 결과를 도출할 것입니다. 이 랩을 통해 벡터 연산과 그 실용적인 응용에 대한 더 나은 이해를 얻을 수 있습니다.

벡터 각도 계산

두 벡터 사이의 각도 (theta) 를 계산하려면 다음 단계를 따르세요:

  1. 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  2. Array.prototype.reduce(), Math.pow()Math.sqrt()를 사용하여 각 벡터의 크기 (magnitude) 와 두 벡터의 스칼라 곱 (scalar product) 을 계산합니다.
  3. Math.acos()를 사용하여 아크코사인 (arccosine) 을 계산하고 theta 값을 얻습니다.

다음은 예시 코드 조각입니다:

const vectorAngle = (x, y) => {
  let mX = Math.sqrt(x.reduce((acc, n) => acc + Math.pow(n, 2), 0));
  let mY = Math.sqrt(y.reduce((acc, n) => acc + Math.pow(n, 2), 0));
  return Math.acos(x.reduce((acc, n, i) => acc + n * y[i], 0) / (mX * mY));
};

vectorAngle([3, 4], [4, 3]); // 0.283794109208328

이 함수는 두 개의 배열 (xy) 을 인수로 받아 두 벡터 사이의 각도 (라디안 단위) 를 반환합니다.

요약

축하합니다! 벡터 각도 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.