NumPy叉乘

1、叉乘-數(shù)學(xué)解釋

向量積酗宋,數(shù)學(xué)中又稱外積积仗、叉積,物理中稱矢積蜕猫、叉乘寂曹,是一種在向量空間中向量的二元運(yùn)算。與點積不同回右,它的運(yùn)算結(jié)果是一個向量而不是一個標(biāo)量隆圆。并且兩個向量的叉積與這兩個向量和垂直。其應(yīng)用也十分廣泛翔烁,通常應(yīng)用于物理學(xué)光學(xué)和計算機(jī)圖形學(xué)中渺氧。

叉乘是三維設(shè)計和游戲開發(fā)的底層最簡單邏輯,計算機(jī)從業(yè)者都應(yīng)用理解叉乘租漂。

2維空間中的叉乘是

看起來像個標(biāo)量,事實上叉乘的結(jié)果是個向量颊糜,方向在z軸上哩治。我們來做一個推導(dǎo),我們可以來嘗試計算一下兩個向量圍成的平行四邊形的面積衬鱼,其實可以求向量圍成的三角形的面積业筏。我們知道面積是底*高,所有推導(dǎo)如下:

設(shè):


我找到向量A',使得A?A',



也就出現(xiàn)了



也就是

就有如下推導(dǎo):


這個推導(dǎo)不是很容易直接看懂鸟赫,我來解釋一下蒜胖,首先是A’是如何求得的消别,這非常簡單,但是我們程序員可能忘了:

a,b是兩個向量:a=(a1,a2) b=(b1,b2)

a垂直b:a1b1+a2b2=0

由此可以得到A’,然后是|A|=|A`|,因為是垂直關(guān)系台谢,向量的膜肯定是相等的啊寻狂,然后就是


這是其實更加簡單直接查詢點積公式即:


同樣的后面的利用點積代數(shù)定義:

很容易就得出結(jié)論,這個說的這樣細(xì)致朋沮,就是因為我們程序員可能很久不碰數(shù)學(xué)了蛇券,這個推導(dǎo)對于高中生是非常簡單的。好了樊拓,展示:

繼續(xù)說叉乘:

叉乘不是面積纠亚,叉乘的膜才是面積,嚴(yán)格來說筋夏,叉乘是有向面積蒂胞,正負(fù)代表了面積的方向。好像這樣沒什么意思啊条篷,計算面積沒有簡化都少啊骗随,來看三維向量。

3維空間中的叉乘是:


這里涉及到行列式的計算拥娄,后面在說明蚊锹,我們來看一下結(jié)合意義


不難發(fā)現(xiàn),在3D圖像學(xué)中稚瘾,叉乘的概念非常有用牡昆,可以通過兩個向量的叉乘,生成第三個垂直于a摊欠,b的法向量丢烘,從而構(gòu)建X、Y些椒、Z坐標(biāo)系播瞳,所以上面描述的有方向的面積現(xiàn)在應(yīng)該明白了,因為二維向量的法向量其實就是Z軸免糕,我們把二維向量補(bǔ)齊成三維向量計算赢乓,a=(a1,a2,0) b=(b1,b2,0) 發(fā)現(xiàn)結(jié)果為(0,0,a1b2-a2b1)的一個平行于Z軸的向量。

2石窑、叉乘-程序應(yīng)用

P1(-1,0,1)牌芋、P2(0,2,2)、P3(0,-1,2)三個點正好可以圍成一個三角形松逊,這三角形的面積是多少躺屁?

import numpy as np

# 構(gòu)建點
P1 = np.array([-1, 0, 1])
P2 = np.array([0, 2, 2])
P3 = np.array([0, -1, 2])

# A和B兩個向量尾部相連
A = P3 - P1
B = P3 - P1
# 計算叉乘
A_B = np.cross(A, B)
# 計算叉乘的膜
AB_mo = np.linalg.norm(A_B)
# 計算面積
Area = AB_mo / 2
print("三角形的面積為:", Area)

三角形的面積為: 2.1213203435596424


已知四個點p1(2,0,0),p2(1,0,2),p3(-1,0,0),p4(2,5,0)可以構(gòu)成平行四面體,求它的體積经宏?

這個題目我們利用小學(xué)的知識一樣可以解決犀暑,但是如何利用程序的方式去解決驯击?我們不可能讓計算機(jī)自己畫圖,然后低乘高吧耐亏,而且如果四面體的所有面全部平行四邊形(沒有90度的角)徊都,我們即使繪圖也是不容易求解的。所以苹熏,展示:



空間向量A碟贾,B,C組成平行6面體的三條鄰邊轨域,H是高袱耽,我們知道向量的叉乘的模是面積,所以底面積就是|B×C|干发,關(guān)鍵看H如何表示朱巨,我們設(shè)i為H方向的單位向量,則:

這里參考點積公式



即可明白一個向量點積一個單位向量枉长,結(jié)果為這個單位向量方向上的投影冀续。繼續(xù)展示:


得到:


接著展示:

import numpy as np

# 構(gòu)建點
P1 = np.array([2, 0, 0])
P2 = np.array([1, 0, 2])
P3 = np.array([-1, 0, 0])
P4 = np.array([2, 5, 0])

# 構(gòu)建向量,以P1為原點
A = P2 - P1
B = P4 - P1
C = P3 - P1

# 計算叉乘
A_B = np.cross(B, C)
# 計算點積
volume = np.inner(A, A_B)

print("四點圍成的體積:", volume)

四點圍成的體積: 30

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末必峰,一起剝皮案震驚了整個濱河市洪唐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吼蚁,老刑警劉巖凭需,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件矢棚,死亡現(xiàn)場離奇詭異烦秩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)罐脊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門旗国,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枯怖,“玉大人,你說我怎么就攤上這事能曾《认酰” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵寿冕,是天一觀的道長蕊程。 經(jīng)常有香客問我,道長蚂斤,這世上最難降的妖魔是什么存捺? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任槐沼,我火速辦了婚禮曙蒸,結(jié)果婚禮上捌治,老公的妹妹穿的比我還像新娘。我一直安慰自己纽窟,他們只是感情好肖油,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著臂港,像睡著了一般森枪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上审孽,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天县袱,我揣著相機(jī)與錄音,去河邊找鬼佑力。 笑死式散,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的打颤。 我是一名探鬼主播暴拄,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼编饺!你這毒婦竟也來了乖篷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤透且,失蹤者是張志新(化名)和其女友劉穎撕蔼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體石蔗,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡罕邀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了养距。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诉探。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖棍厌,靈堂內(nèi)的尸體忽然破棺而出肾胯,到底是詐尸還是另有隱情,我是刑警寧澤耘纱,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布敬肚,位于F島的核電站,受9級特大地震影響束析,放射性物質(zhì)發(fā)生泄漏艳馒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弄慰。 院中可真熱鬧第美,春花似錦、人聲如沸陆爽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慌闭。三九已至别威,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間驴剔,已是汗流浹背省古。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留丧失,地道東北人衫樊。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像利花,于是被迫代替她去往敵國和親科侈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353