大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
矢量叉乘,向量外积
原创不易,路过的各位大佬请点个赞
1. 矢量叉乘定义
定义两个向量 a \mathbf{a} a和 b \mathbf{b} b,他们的叉乘可以写为
a × b \mathbf{a}\times\mathbf{b} a×b
本质上向量叉乘为向量旋转,满足右手螺旋准则;
叉乘结果是一个向量,向量模长是向量A,B组成平行四边形的面积;向量方向是垂直于向量A,B组成的平面;也叫向量积
与点乘不同之处是:点乘结果是一个数,表示两个向量的投影关系,也叫数量积
a ⋅ b = ∣ a ∣ ∣ b ∣ cos θ \mathbf{a}\cdot\mathbf{b}=|\mathbf{a}||\mathbf{b}|\cos\theta a⋅b=∣a∣∣b∣cosθ
2. 模长
∣ c ∣ = ∣ a × b ∣ = ∣ a ∣ ∣ b ∣ sin θ |\mathbf{c}|=|\mathbf{a}\times\mathbf{b}|=|\mathbf{a}||\mathbf{b}|\sin\theta ∣c∣=∣a×b∣=∣a∣∣b∣sinθ
∣ c ∣ |\mathbf{c}| ∣c∣长度在数值上等于以 a \mathbf{a} a, b \mathbf{b} b,夹角为θ组成的平行四边形的面积。
而c的方向垂直于 a \mathbf{a} a与 b \mathbf{b} b所决定的平面, c \mathbf{c} c的指向按右手定则从a转向b来确定。
3. 方向
a \mathbf{a} a向量与 b \mathbf{b} b向量的向量积的方向与这两个向量所在平面垂直,且遵守右手定则。(一个简单的确定满足“右手定则”的结果向量的方向的方法是这样的:若坐标系是满足右手定则的,当右手的四指从 a \mathbf{a} a以不超过180度的转角转向b时,竖起的大拇指指向是 c \mathbf{c} c的方向。)
4. 坐标运算
向量 a \mathbf{a} a的坐标表示
a = ( a x , a y , a z ) \mathbf{a}=(a_x, a_y, a_z) a=(ax,ay,az)
向量 a \mathbf{a} a的坐标轴矢量表示
a = a x i + a y j + a z k \mathbf{a}=a_xi+a_yj+ a_zk a=axi+ayj+azk
其中矢量的x轴、y轴、z轴的单位矢量i、j、k、满足以下关系
i × j = k = − j × i j × k = i = − k × j k × i = j = − i × k i × i = j × j = k × k = 0 i\times j=k=-j\times i\\j\times k=i=-k\times j\\k\times i=j=-i\times k\\ i\times i=j\times j=k\times k=0 i×j=k=−j×ij×k=i=−k×jk×i=j=−i×ki×i=j×j=k×k=0
其中的0为零矢量。
附加点乘的运算规则
i ⋅ j = k = − j × i j ⋅ k = i = − k ⋅ j k ⋅ i = j = − i ⋅ k i ⋅ i = j ⋅ j = k ⋅ k = 1 i\cdot j=k=-j\times i\\j\cdot k=i=-k\cdot j\\k\cdot i=j=-i\cdot k\\ i\cdot i=j\cdot j=k\cdot k=1 i⋅j=k=−j×ij⋅k=i=−k⋅jk⋅i=j=−i⋅ki⋅i=j⋅j=k⋅k=1
a × b = ∣ i j k a x a y a z b x b y b z ∣ = ∣ a y a z b y b z ∣ i − ∣ a x a z b x b z ∣ j + ∣ a x a y b x b y ∣ k = ( a y b z − a z b y ) i + ( a z b x − a x b z ) j + ( a x b y − a y b x ) k \begin{aligned} \mathbf{a}\times\mathbf{b}&=\begin{vmatrix} i&j&k\\ a_x&a_y&a_z\\b_x&b_y&b_z\end{vmatrix}\\ &=\begin{vmatrix}a_y&a_z\\b_y&b_z\end{vmatrix}i -\begin{vmatrix}a_x&a_z\\b_x&b_z\end{vmatrix}j + \begin{vmatrix}a_x&a_y\\b_x&b_y\end{vmatrix}k \\ &=(a_yb_z-a_zb_y)i + (a_zb_x-a_xb_z)j + (a_xb_y-a_yb_x)k \end{aligned} a×b=∣∣∣∣∣∣iaxbxjaybykazbz∣∣∣∣∣∣=∣∣∣∣aybyazbz∣∣∣∣i−∣∣∣∣axbxazbz∣∣∣∣j+∣∣∣∣axbxayby∣∣∣∣k=(aybz−azby)i+(azbx−axbz)j+(axby−aybx)k
6. 叉乘矩阵(斜对称矩阵)
每一个矢量都一个对应的斜对称矩阵, a \mathbf{a} a
[ a × ] = [ 0 − a y a z a y 0 − a x − a z a x 0 ] [\mathbf{a}\times]=\begin{bmatrix}0&-a_y&a_z\\a_y&0&-a_x\\ -a_z &a_x &0\end{bmatrix} [a×]=⎣⎡0ay−az−ay0axaz−ax0⎦⎤
则两个矢量的叉乘可以写为
a × b = [ a × ] b = [ 0 − a y a z a y 0 − a x − a z a x 0 ] [ b x b y b z ] \begin{aligned} \mathbf{a}\times\mathbf{b}&=[\mathbf{a}\times]\mathbf{b}\\ &=\begin{bmatrix}0&-a_y&a_z\\a_y&0&-a_x\\ -a_z &a_x &0\end{bmatrix}\begin{bmatrix}b_x\\b_y\\ b_z\end{bmatrix} \end{aligned} a×b=[a×]b=⎣⎡0ay−az−ay0axaz−ax0⎦⎤⎣⎡bxbybz⎦⎤
性质:( A = [ a × ] A=[\mathbf{a}\times] A=[a×])
1- A T = − A A^T=-A AT=−A
2- A A A, B B B为斜对称矩阵,则 A + B A+B A+B为斜对称矩阵
3- k k k为偶数, A k A^k Ak为对称矩阵; k k k为奇数, A k A^k Ak为斜对称矩阵;
6. 叉乘运算规则
1、交换律: a × b = − b × a a\times b=-b\times a a×b=−b×a
2、分配律: a × ( b + c ) = a × b + a × c a\times (b+c)=a\times b +a\times c a×(b+c)=a×b+a×c
3、与标量r相乘: r a × b = r ( a × b ) ra\times b=r(a\times b ) ra×b=r(a×b)
4、不满足结合律,但满足雅可比恒等式:: a × ( b × c ) + b × ( c × a ) + c × ( a × b ) = 0 a×(b×c)+b×(c×a)+c×(a×b)=0 a×(b×c)+b×(c×a)+c×(a×b)=0。
5 、 两个非零向量a和b平行,当且仅当 a × b = 0 a×b=0 a×b=0。
6、 拉格朗日公式
( a × b ) × c = b ( a ⋅ c ) − a ( b ⋅ c ) (a×b)×c=b(a·c)-a(b·c) (a×b)×c=b(a⋅c)−a(b⋅c)
a × ( b × c ) = b ( a ⋅ c ) − c ( a ⋅ b ) a×(b×c)=b(a·c)-c(a·b) a×(b×c)=b(a⋅c)−c(a⋅b)
证明如下图
原创不易,路过的各位大佬请点个赞
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/210055.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...