Вычисление угла между векторами с использованием JavaScript

JavaScriptJavaScriptBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном задании мы будем изучать концепцию угла между векторами и узнаем, как вычислять угол между двумя векторами с использованием JavaScript. Мы будем использовать различные математические функции, такие как Math.pow(), Math.sqrt() и Math.acos(), чтобы выполнить необходимые вычисления и получить ожидаемый результат. С помощью этого лабораторного задания мы лучше понять операции с векторами и их практическое применение.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28691{{"Вычисление угла между векторами с использованием JavaScript"}} javascript/data_types -.-> lab-28691{{"Вычисление угла между векторами с использованием JavaScript"}} javascript/arith_ops -.-> lab-28691{{"Вычисление угла между векторами с использованием JavaScript"}} javascript/comp_ops -.-> lab-28691{{"Вычисление угла между векторами с использованием JavaScript"}} javascript/array_methods -.-> lab-28691{{"Вычисление угла между векторами с использованием JavaScript"}} javascript/higher_funcs -.-> lab-28691{{"Вычисление угла между векторами с использованием JavaScript"}} end

Вычисление угла между векторами

Для вычисления угла (theta) между двумя векторами следуйте шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте Array.prototype.reduce(), Math.pow() и Math.sqrt() для вычисления длины каждого вектора и скалярного произведения двух векторов.
  3. Используйте 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, чтобы улучшить свои навыки.

OSZAR »