Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tích chéo (cross product) hai vector chiều khác nhau trong Python

numpy.cross() tính tích chéo (cross product) của hai vector. Hỗ trợ vector chiều khác nhau: vector 3D × 2D coi 2D như nằm trên mặt phẳng xy (thêm z=0). Trả về vector vuông góc với cả hai (hoặc scalar nếu 2D×2D).

Tham số

  • a, b (array_like): Hai vector đầu vào.
  • axisa, axisb, axisc (int, tùy chọn): Trục xác định vector cho a, b, kết quả c.
  • axis (int, tùy chọn): Ghi đè axisa/axisb/axisc nếu cung cấp.

Các bước thực hiện

Nhập NumPy, định nghĩa vector 3D và 2D:

import numpy as np

arr1 = [13, 11, 19]  # 3D
arr2 = [19, 10]      # 2D -> coi như [19, 10, 0]

print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)

# Tích chéo
print("\nKết quả...\n", np.cross(arr1, arr2))

Ví dụ hoàn chỉnh

import numpy as np

arr1 = [13, 11, 19]
arr2 = [19, 10]
print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)
print("\nKết quả...\n", np.cross(arr1, arr2))

Kết quả đầu ra

Vector 1...
 [13, 11, 19]
Vector 2...
 [19, 10]
Kết quả...
 [-190  361  -79]

Giải thích: [13,11,19] × [19,10,0] = [11*0 - 19*10, 19*19 - 13*0, 13*10 - 11*19] = [-190, 361, -79].