叉乘公式
兩個向量的叉乘,又叫向量積、外積、叉積,叉乘的運算結果是乙個向量而不是乙個標量。並且兩個向量的叉積與這兩個向量組成的座標平面垂直。
對於向量a和向量b:
a和b的叉乘公式為:
其中:
根據i、j、k間關係,有:
在三維幾何中,向量a和向量b的叉乘結果是乙個向量,更為熟知的叫法是法向量,該向量垂直於a和b向量構成的平面。
在3d影象學中,叉乘的概念非常有用,可以通過兩個向量的叉乘,生成第三個垂直於a,b的法向量,從而構建x、y、z座標系。如下圖所示:
在二維空間中,叉乘還有另外乙個幾何意義就是:axb等於由向量a和向量b構成的平行四邊形的面積。
向量:u=(u1,u2,u3) v=(v1,v2,v3)
叉積公式:u x v =
點積公式:u * v = u1v1+u2v2+u3v33=lul*lvl*cos(u,v)
對於向量的運算,還有兩個「乘法」,那就是點乘和叉乘了.點乘的結果就是兩個向量的模相乘,然後再與這兩個向量的夾角的余弦值相乘.或者說是兩個向量的各個分量分別相乘的結果的和.很明顯,點乘的結果就是乙個數,這個數對我們分析這兩個向量的特點很有幫助.如果點乘的結果為0,那麼這兩個向量互相垂直;如果結果大於0,那麼這兩個向量的夾角小於90度;如果結果小於0,那麼這兩個向量的夾角大於90度.對於叉乘,它的運算公式令人頭暈,我就不說了,大家看下面的公式自己領悟吧……
向量c的方向與a,b所在的平面垂直,且方向要用「右手法則」判斷(用右手的四指先表示向量a的方向,然後手指朝著手心的方向擺動到向量b的方向,大拇指所指的方向就是向量c的方向).
若向量a=(a1,b1,c1),向量b=(a2,b2,c2),
則 向量a·向量b=a1a2+b1b2+c1c2
向量a×向量b=
| i j k|
|a1 b1 c1|
|a2 b2 c2|
=(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)
(i、j、k分別為空間中相互垂直的三條座標軸的單位向量).
叉乘的意義就是通過兩個向量來確定乙個新的向量,該向量與前兩個向量都垂直
重點講解:折線段的拐向判斷
例題:
hrbust-13哥的機械人
description
13哥酷愛學習,13哥經過短暫學習後設計出來一機械人。13哥的機械人唯一缺陷是當遇到轉彎時,就不知道該怎麼走了,但是經過13哥的努力,這個機械人可以根據聲音來轉動方向,在沒有聲音的情況下沿直線行走。所以只能麻煩13哥在機械人遇到轉彎時候,告訴機械人向左還是向右。
input
有多組測試資料,第一行輸入整數n,表示n個點(n>=3),接下來的n行每行輸入一對數字x,y表示平面座標系線路上的轉折點(第一行是起點,最後一行是結束點)。當n為0時結束。
output
對於每組輸入資料單獨一行,如果機械人往左轉輸出l,右則輸出r
sample input
50 0
0 1-1 1
-1 0
0 0sample output
lll
#include#includestruct node
a[1005];
void check(node a,node b,node c)
else if((b.x-a.x)*(c.y-b.y)-(b.y-a.y)*(c.x-b.x)==0)
else
}int main()
{ int n;
while(~scanf("%d",&n))
{if(n==0)break;
for(int i=0;i
演算法筆記 計算幾何之點積叉積的應用
模板 const double eps 1e 10 考慮誤差的加法 double add double a,double b 考慮誤差的與0比較 int dcmp double x struct p p double x,double y x x y y bool operator p p p op...
筆記 線性代數的本質 8 叉積
筆記目錄 叉積的值可以表示為兩向量所構成的平行四邊形的面積。如果v到w符合右手系,則叉積的值為正值,否則為負值。也可以理解為如果v到w的旋轉方向與i hat到j hat 基向量 的旋轉方向相同,則為正值,如下圖 順序對叉積的值有影響 v times w w times v 同樣的,叉積的值也可以用表...
深度學習筆記(24) 卷積層
乙個典型的卷積神經網路的卷積層,而通常有三層 首先介紹的是卷積層conv,從conv的向前傳播開始 前向傳播中乙個操作就是 z 1 w 1 a 0 b 1 其中 a 0 x 執行非線性函式得到 a 1 即 a 1 g z 1 這裡的輸入是a 0 也就是x,這些過濾器用變數 w 1 表示 在卷積過程中...