昨天第二篇文章寫的有點(diǎn)匆忙了,有一些地方配圖配錯(cuò)了,這里做個(gè)更正。
關(guān)于靜力學(xué)平衡,就回憶一下這個(gè)圖就好
程序第一個(gè)給的例題是這個(gè),我配錯(cuò)了圖,對(duì)不起了
?解析沿矩形分量的力
(force, angle) => (force_x, force_y),這個(gè)就是最終的結(jié)果。
因?yàn)樘崞鸾嵌染陀袃蓚€(gè)不同的記法,這里也做了一個(gè)角度的兼容。
Core就是一個(gè)正交分解
弧度制
我們這個(gè)圖就很完美了
還有一個(gè)是比較泛化的正交分解
在函數(shù)的參數(shù)構(gòu)建中,分力,位置
in_static_equilibrium(force, location)
最后就會(huì)給出結(jié)果
對(duì)于例題,這就是我們的分力,三組
三個(gè)點(diǎn)在原點(diǎn)處的平衡情況
location = array([[0, 0], [0, 0], [0, 0]])
assertin_static_equilibrium(forces,location)
這樣調(diào)用就好
對(duì)于這個(gè),因?yàn)榻嵌忍厥?,所以力直接給出
四力,四點(diǎn)
import math
force = polar_force(10, 45)
math.isclose(force[0], 7.071067811865477)
True
math.isclose(force[1], 7.0710678118654755)
True
polar_force(10, 3.14, radian_mode=True)
[-9.999987317275396,0.01592652916486828]
在Python數(shù)學(xué)模塊中,math.isclose()方法用于確定兩個(gè)浮點(diǎn)數(shù)的值是否接近。要使用此函數(shù),你必須導(dǎo)入數(shù)學(xué)模塊。
用法:isclose(a, b, rel_tol = 1e-09, abs_tol 0.0)
參數(shù):rel_tol:被視為“close”的最大差,相對(duì)于輸入值的大小
abs_tol:“close”的最大差異,與輸入值的大小無(wú)關(guān)
cross是叉積
numpy.cross
numpy.cross(a,b,axisa=-1,axisb=-1,axisc=-1,axis=None)
返回兩個(gè)(數(shù)組)向量的叉積。
a和b 的叉積是垂直于a和b的向量。如果a和b是向量的數(shù)組,則默認(rèn)情況下,向量由a和b的最后一個(gè)軸定義,并且這些軸的尺寸可以為2或3。其中a或b的尺寸為2時(shí),則第三個(gè)分量假定輸入向量為零,并據(jù)此計(jì)算叉積。如果兩個(gè)輸入向量的尺寸均為2,則返回叉積的z分量。
參數(shù)表
叉積來(lái)了哈~
向量積,數(shù)學(xué)中又稱外積、叉積,物理中稱矢積、叉乘,是一種在向量空間中向量的二元運(yùn)算。與點(diǎn)積不同,它的運(yùn)算結(jié)果是一個(gè)向量而不是一個(gè)標(biāo)量。并且兩個(gè)向量的叉積與這兩個(gè)向量和垂直。
a x b就是a叉b(廢話???)有時(shí)也用^這個(gè)符號(hào)。
向量積可以被定義為:
模長(zhǎng):(在這里θ表示兩向量之間的夾角(共起點(diǎn)的前提下)(0°≤θ≤180°),它位于這兩個(gè)矢量所定義的平面上.)
就像這樣
方向:a向量與b向量的向量積的方向與這兩個(gè)向量所在平面垂直,且遵守右手定則。(一個(gè)簡(jiǎn)單的確定滿足“右手定則”的結(jié)果向量的方向的方法是這樣的:若坐標(biāo)系是滿足右手定則的,當(dāng)右手的四指從a以不超過(guò)180度的轉(zhuǎn)角轉(zhuǎn)向b時(shí),豎起的大拇指指向是c的方向。)
也可以這樣定義(等效):
向量積|c|=|a×b|=|a||b|sin
即c的長(zhǎng)度在數(shù)值上等于以a,b,夾角為θ組成的平行四邊形的面積。
而c的方向垂直于a與b所決定的平面,c的指向按右手定則從a轉(zhuǎn)向b來(lái)確定。
平時(shí)見到的各種積:
這里可以簡(jiǎn)單的總結(jié)一下
對(duì)于這樣的東西,一個(gè)好的可視化解釋,可以讓你記憶猶新:
叉積的長(zhǎng)度|a×b|可以解釋成這兩個(gè)叉乘向量a,b共起點(diǎn)時(shí),所構(gòu)成平行四邊形的面積。據(jù)此有:混合積[abc]=(a×b)·c可以得到以a,b,c為棱的平行六面體的體積。
在數(shù)學(xué)里面,我們給定一種運(yùn)算法則后會(huì)試圖將它融入到現(xiàn)有的數(shù)學(xué)體系。所以這里給出代數(shù)規(guī)則:
1、反交換律:a×b=-b×a
2、加法的分配律:a×(b+c)=a×b+a×c。
3、與標(biāo)量乘法兼容:(ra)×b=a×(rb)=r(a×b)。
4、不滿足結(jié)合律,但滿足雅可比恒等式:a×(b×c)+b×(c×a)+c×(a×b)=0。
5、分配律,線性性和雅可比恒等式別表明:具有向量加法和叉積的R3構(gòu)成了一個(gè)李代數(shù)。
6、兩個(gè)非零向量a和b平行,當(dāng)且僅當(dāng)a×b=0。
是不是混進(jìn)來(lái)一個(gè)雅可比???
雅可比恒等式是橢圓函數(shù)理論中的一個(gè)著名恒等式。雅可比恒等式就是下列等式:
[0 ]]+[Y,[Z,X]]+[Z,[X,Y]]=
滿足雅可比恒等式的代數(shù)結(jié)構(gòu)不一定滿足反交換律。
上面的橢圓理論什么的是復(fù)變函數(shù)里面的,我只是一個(gè)土狗,不知道怎么說(shuō)。
OKOK,叉積又不得不提拉格朗日公式:
(a×b)×c=b(a·c)-a(b·c)
a×(b×c)=b(a·c)-c(a·b)
證明過(guò)程
可以簡(jiǎn)單地記成“BAC-CAB”。這個(gè)公式在物理上簡(jiǎn)化向量運(yùn)算非常有效。等等???你是不是不知道上面說(shuō)的是什么。
他叫:二重向量叉乘化簡(jiǎn)公式。
說(shuō)了這么多的字,可能沒(méi)有一張圖來(lái)的快
哥倆好?不是~是叉積的方向啦!
伸出右手,將大拇指指向a,將食指指向b,中指自然彎曲,并使中指同時(shí)垂直于食指和拇指,那么此時(shí)中指所指的方向就是a×b的方向。
從這個(gè)右手定則,我們可以發(fā)現(xiàn),兩個(gè)向量的叉積同時(shí)垂直這兩個(gè)向量,并且:
a×b=-b×a
也就是確確實(shí)實(shí)的不支持交換律。
不過(guò)既然物理這么多了,也不怕再多點(diǎn):
在力的作用線的延長(zhǎng)線或反向延長(zhǎng)線經(jīng)過(guò)原點(diǎn)時(shí),力矩為零。力矩在物理學(xué)里是指作用力使物體繞著轉(zhuǎn)動(dòng)軸或支點(diǎn)轉(zhuǎn)動(dòng)的趨向。力矩的單位是牛頓米。力矩的概念,起源于阿基米德對(duì)杠桿的研究。轉(zhuǎn)動(dòng)力矩又稱為轉(zhuǎn)矩或扭矩。力矩能夠使物體改變其旋轉(zhuǎn)運(yùn)動(dòng)。推擠或拖拉涉及到作用力 ,而扭轉(zhuǎn)則涉及到力矩。力矩等于徑向矢量與作用力的叉積。
為什么說(shuō)力矩,因?yàn)樽詈笥胁娣e。
這是我們的判斷是否處于平衡狀態(tài)
因?yàn)橐娣e計(jì)算,注意兩個(gè)向量的個(gè)數(shù)
這里也注意內(nèi)在,位置是矢量,分力也是矢量,所以可以計(jì)算。求完以后將值sum然后小于一個(gè)小數(shù),證明平衡。
這里簡(jiǎn)單的分析一下:
叉乘的模,等于兩個(gè)向量的模的乘積乘以sinθ。θ是兩個(gè)向量的夾角,如果兩個(gè)向量的模不為0,那么sinθ要等于0,也就是夾角是0°或者180°,那么兩個(gè)向量平行。
就是這些位置
我們?cè)俜治觯?是最穩(wěn)定的狀態(tài),那么它的分力和原點(diǎn)叉積和越小越穩(wěn)定
這篇文章有點(diǎn)長(zhǎng)了,感激你看到這里,叉積會(huì)算了嗎?靚仔
-
模塊
+關(guān)注
關(guān)注
7文章
2730瀏覽量
47630 -
算法
+關(guān)注
關(guān)注
23文章
4625瀏覽量
93143 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4344瀏覽量
62839
原文標(biāo)題:Python實(shí)現(xiàn)所有算法-力系統(tǒng)是否靜態(tài)平衡(補(bǔ)篇)
文章出處:【微信號(hào):TT1827652464,微信公眾號(hào):云深之無(wú)跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論