簡體   English   中英

給定 numpy 中的兩個向量計算平行四邊形的面積

[英]Calculate the area of the parallelogram given two vectors in numpy

假設我有兩個 3D 向量,由兩個 numpy arrays 表示:

import numpy as np
v1 = np.array([2, -3, 5])
v2 = np.array([1, 4, -2])

我想計算平行四邊形的面積,其中兩個相鄰邊由v1v2給出。 我寫了下面的代碼:

import math
area = math.sqrt((v1[0] * v2[1] - v1[1] * v2[0])**2
               + (v1[1] * v2[2] - v1[2] * v2[1])**2
               + (v1[0] * v2[2] - v1[2] * v2[0])**2)

print(area)
# 19.949937343260004

代碼工作正常,但是用 numpyic 編寫代碼的方法是什么? 我對 numpy 不熟悉。

平行四邊形的面積可以通過兩個向量叉積范數來計算。 從叉積定義可以看出,叉積的范數基本上是|a||b|sin(θ) ,這是平行四邊形的常用面積公式之一。

np.linalg.norm(np.cross(v1, v2))
# 19.949937343260004

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM