Введение
В этом лабораторном задании мы будем изучать концепцию угла между векторами и узнаем, как вычислять угол между двумя векторами с использованием JavaScript. Мы будем использовать различные математические функции, такие как Math.pow(), Math.sqrt() и Math.acos(), чтобы выполнить необходимые вычисления и получить ожидаемый результат. С помощью этого лабораторного задания мы лучше понять операции с векторами и их практическое применение.
Вычисление угла между векторами
Для вычисления угла (theta) между двумя векторами следуйте шагам:
- Откройте Терминал/SSH и введите
node, чтобы начать практиковаться в написании кода. - Используйте
Array.prototype.reduce(),Math.pow()иMath.sqrt()для вычисления длины каждого вектора и скалярного произведения двух векторов. - Используйте
Math.acos()для вычисления арккосинуса и получения значения 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
Эта функция принимает два массива (x и y) в качестве аргументов и возвращает угол (в радианах) между ними.
Резюме
Поздравляем! Вы завершили лабораторную работу по углам между векторами. Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.