Как вычислить перекрестное произведение в python
Предполагая, что у нас есть вектор A с элементами (A 1 , A 2 , A 3 ) и вектор B с элементами (B 1 , B 2 , B 3 ), мы можем вычислить векторное произведение этих двух векторов следующим образом:
Перекрестное произведение = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
Например, предположим, что у нас есть следующие векторы:
- Вектор А: (1, 2, 3)
- Вектор Б: (4, 5, 6)
Мы могли бы вычислить векторное произведение этих векторов следующим образом:
- Перекрестное произведение = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
- Перекрестное произведение = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
- Перекрестное произведение = (-3, 6, -3)
Вы можете использовать любой из следующих двух методов для вычисления векторного произведения двух векторов в Python:
Способ 1. Используйте функцию Cross() NumPy.
import numpy as np #calculate cross product of vectors A and B n.p. cross (A, B)
Способ 2: Определите свою собственную функцию
#define function to calculate cross product def cross_prod (a,b): result = [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]] return result #calculate cross product cross_prod(A, B)
Следующие примеры показывают, как использовать каждый метод на практике.
Пример 1: использование функции NumPy cross()
Следующий код показывает, как использовать функцию NumPy cross() для вычисления векторного произведения между двумя векторами:
import numpy as np #definevectors A = np. array ([1, 2, 3]) B = np. array ([4, 5, 6]) #calculate cross product of vectors A and B n.p. cross (A, B) [-3, 6, -3]
Перекрестное произведение оказывается (-3, 6, -3) .
Это соответствует перекрестному продукту, который мы рассчитали вручную ранее.
Пример 2: Определите свою собственную функцию
Следующий код показывает, как определить собственную функцию для вычисления векторного произведения между двумя векторами:
#define function to calculate cross product def cross_prod (a,b): result = [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]] return result #definevectors A = np. array ([1, 2, 3]) B = np. array ([4, 5, 6]) #calculate cross product cross_prod(A, B) [-3, 6, -3]
Перекрестное произведение оказывается (-3, 6, -3) .
Это соответствует перекрестному продукту, который мы рассчитали в предыдущем примере.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи на Python:
Как вычислить скалярное произведение с помощью NumPy
Как нормализовать матрицу NumPy
Как добавить строку в матрицу в NumPy