三个三维矢量叉乘公式(拉格朗日矢量公式)推导(非坐标法)

article/2025/10/24 12:36:42

0 简单情况

  先从简单的情况开始推导,考虑三个向量 a ⃗ , b ⃗ , c ⃗ \vec{a},\vec{b},\vec{c} a ,b ,c 在同一个平面,其中 c ⃗ ⊥ a ⃗ \vec{c} \perp \vec{a} c a ,如下图所示,求取 ( a ⃗ × b ⃗ ) × c ⃗ (\vec{a} \times \vec{b}) \times \vec{c} (a ×b )×c
在这里插入图片描述
  易得 ( a ⃗ × b ⃗ ) × c ⃗ (\vec{a} \times \vec{b}) \times \vec{c} (a ×b )×c a ⃗ \vec{a} a 反向,我们设:
( a ⃗ × b ⃗ ) × c ⃗ = k ⋅ a ⃗ (1) (\vec{a} \times \vec{b}) \times \vec{c}=k \cdot \vec{a} \tag{1} (a ×b )×c =ka (1)
  其中 k k k为常数,利用长度的性质:
∣ a ⃗ ∣ ∣ b ⃗ ∣ ∣ c ⃗ ∣ s i n ( < a , b > ) = ∣ k ∣ ∣ a ⃗ ∣ (2) |\vec{a}||\vec{b}||\vec{c}|sin(<a,b>)=|k||\vec{a}| \tag{2} a b c sin(<a,b>)=ka (2)
  其中 < a , b > <a,b> <a,b>表示向量 a ⃗ , b ⃗ \vec{a},\vec{b} a ,b 的夹角,根据几何关系可以得到:
∣ b ⃗ ∣ ∣ c ⃗ ∣ s i n ( π 2 ± < b , c > ) = ∣ k ∣ (3) |\vec{b}||\vec{c}|sin(\frac{\pi}{2} \pm <b,c>)=|k|\tag{3} b c sin(2π±<b,c>)=k(3)
  进而:
∣ k ∣ = ∣ b ⃗ ∣ ∣ c ⃗ ∣ c o s ( < b , c > ) = b ⃗ ⋅ c ⃗ (4) |k|=|\vec{b}||\vec{c}|cos(<b,c>)=\vec{b} \cdot \vec{c}\tag{4} k=b c cos(<b,c>)=b c (4)
  得出结论此时,根据几何关系可得正负号:
( a ⃗ × b ⃗ ) × c ⃗ = − ( b ⃗ ⋅ c ⃗ ) ⋅ a ⃗ (5) (\vec{a} \times \vec{b}) \times \vec{c}=-(\vec{b} \cdot \vec{c}) \cdot \vec{a}\tag{5} (a ×b )×c =(b c )a (5)
  同理假设 c ⃗ ⊥ b ⃗ \vec{c} \perp \vec{b} c b ,此时结果向量与 b ⃗ \vec{b} b 同向,可以得出结论
( a ⃗ × b ⃗ ) × c ⃗ = ( a ⃗ ⋅ c ⃗ ) ⋅ b ⃗ (6) (\vec{a} \times \vec{b}) \times \vec{c}=(\vec{a} \cdot \vec{c}) \cdot \vec{b}\tag{6} (a ×b )×c =(a c )b (6)

1 由简单情况到一般情况.

  对于任意三维空间向量 c ⃗ \vec{c} c 可以分解为垂直 a ⃗ , b ⃗ \vec{a},\vec{b} a ,b 所在平面的分量 c ⃗ a b \vec{c}_{ab} c ab,与 a ⃗ \vec{a} a 垂直的分量 c ⃗ a \vec{c}_{a} c a,与 b ⃗ \vec{b} b 垂直的分量 c ⃗ b \vec{c}_{b} c b
( a ⃗ × b ⃗ ) × c ⃗ = ( a ⃗ × b ⃗ ) × ( c ⃗ a + c ⃗ b + c ⃗ a b ) (7) (\vec{a} \times \vec{b}) \times \vec{c}=(\vec{a} \times \vec{b}) \times (\vec{c}_{a}+\vec{c}_{b}+\vec{c}_{ab})\tag{7} (a ×b )×c =(a ×b )×(c a+c b+c ab)(7)
  于是根据式(5)(6)以及垂直关系:
( a ⃗ × b ⃗ ) × c ⃗ = ( a ⃗ ⋅ c b ⃗ ) ⋅ b ⃗ − ( b ⃗ ⋅ c a ⃗ ) ⋅ a ⃗ = ( a ⃗ ⋅ c ⃗ ) ⋅ b ⃗ − ( b ⃗ ⋅ c ⃗ ) ⋅ a ⃗ (8) (\vec{a} \times \vec{b}) \times \vec{c}=(\vec{a} \cdot \vec{c_b}) \cdot \vec{b}-(\vec{b} \cdot \vec{c_a}) \cdot \vec{a}=(\vec{a} \cdot \vec{c}) \cdot \vec{b}-(\vec{b} \cdot \vec{c}) \cdot \vec{a}\tag{8} (a ×b )×c =(a cb )b (b ca )a =(a c )b (b c )a (8)

2 三个三维矢量连续叉乘的矩阵公式

2.1 叉乘的矩阵表示

  后文将不再涉及未知数,字母将直接表示矢量。对于一个矢量 w w w其叉乘任意矢量 v v v,等价于一个矩阵乘 v v v,该矩阵记为 w × w_{\times} w×,其值如下:
w × v = w × v = [ 0 − w z w y w z 0 − w x − w y w x 0 ] v (9) w \times v=w_{\times}v=\begin{bmatrix} 0 & -w_z & w_y \\ w_z & 0 & -w_x \\ -w_y & w_x & 0 \end{bmatrix}v\tag{9} w×v=w×v=0wzwywz0wxwywx0v(9)
  该矩阵的性质如下图,本文只针对连续叉乘的性质(下图性质(7)(8))进行证明,其余的性质比较简单:
在这里插入图片描述
  先看倒数第二条性质(8),根据式8:
( a × b ) × c = b a T c − a b T c = ( b a T − a b T ) c (10) (a \times b) \times c=ba^Tc-ab^Tc=(ba^T-ab^T)c\tag{10} (a×b)×c=baTcabTc=(baTabT)c(10)
  从而得:
( a × b ) × = b a T − a b T (11) (a\times b)_{\times}=ba^T-ab^T\tag{11} (a×b)×=baTabT(11)
  性质(9)很容易验证,那么结合性质(8)可以轻易推出性质(7)


http://chatgpt.dhexx.cn/article/FkwhCBiU.shtml

相关文章

拉格朗日乘子法 latex手打公式 良心推导

文章目录 拉格朗日乘数法简介等式约束问题明确问题基础知识推导构造求极值 不等式约束问题明确问题问题转化 拉格朗日乘数法 简介 简单概括一下拉格朗日乘子法用来解决具有约束的最值问题。 那么其中主要有两个比较重要的问题需要解决&#xff1a; 等式约束问题不等式约束问…

计算方法学习笔记——插值方法,拉格朗日插值公式

插值方法 插值方法是用来处理和分析数据的方法&#xff0c;所谓插值就是在所给数据的基础上再插入一些所需的值&#xff0c;但这些值不是随便给出的&#xff0c;而是在已有数据的基础上进行分析&#xff0c;给出的近似值。 插值方法要解决的问题 首先当我们遇到一堆数据(如表…

机器学习数学基础二:泰勒公式与拉格朗日

建议如果是大一大二的同学想提前学习机器学习的话可以提前看看我这个专栏的文章&#xff0c;说实话&#xff0c;专门做这个学习机器学习前置知识的博主没多少&#xff0c;至少我当时学的时候没找到多少&#xff0c;不得不学习我很厌恶的一个人讲的课&#xff0c;听得我浑身难受…

拉格朗日插值公式详解

一&#xff0e;线性插值(一次插值&#xff09; 已知函数f(x)在区间[xk ,xk1 ]的端点上的函数值yk f(xk ), yk1 f(xk1 ),求一个一次函数yP1 (x)使得yk f(xk ),yk1 f(xk1 ), 其几何意义是已知平面上两点(xk ,yk ),(xk1 ,yk1 ),求一条直线过该已知两点。 1. 插值函数和插…

【拉格朗日差值法】 公式

拉格朗日插值法 给出对于给定的若n1个点的坐标&#xff08;x0,y0)&#xff0c;(x1,y1)…&#xff0c;(xn,yn)&#xff0c;对应于它们的次数不超过n的拉格朗日多项式只有一个。 应用&#xff1a;给出平面上n1个点&#xff0c;求一条穿过这n1个点的n次多项式&#xff0c;或这个多…

拉格朗日乘子法的分析基础篇

拉格朗日乘子法&#xff08;Lagrange Multiplier)在在求取有约束条件的优化问题时使用的算法。约束条件又分为等式和不等式方法。这里只用等式方法作为例子分析算法的含义原理&#xff08;自己理解的&#xff09;。 首先看拉格朗日的计算式子&#xff1a;L(a, x) f(x) a*g(x…

拉格朗日(Lagrange)插值

问题 给定 n n n 个点&#xff0c;可确定一个多项式 y f ( x ) yf(x) yf(x) &#xff0c;要求确定这个多项式并求出 f ( k ) f(k) f(k) 拉格朗日&#xff08;Lagrange&#xff09;插值公式 搬运 令 L n ( x ) f ( x ) L_n(x)f(x) Ln​(x)f(x) n1 有 由点斜式可以得…

oracle手动锁表

[转载]oracle手动锁表 手工锁表&#xff1a; lock table tbl_t1 in row share mode nowait; --2 lock table tbl_t1 in share update mode nowait; --2 lock table tbl_t1 in row exclusive mode nowait; --3 lock table tbl_t1 in sha…

Oracle数据库锁表解决办法

1.输入查锁语句 SELECT s.sid, s.serial#,b.object_name, s.username, s.schemaname, s.osuser, s.process, s.machine, s.terminal, s.logon_time, l.type FROM v$session s, v$lock l,v$locked_object a,dba_objects b WHERE s.sid l.sid and b.object_id a.object_id and …

Oracle数据库锁表解决

PLSQL不会用,Oracle数据库不了解&#xff0c;哈哈哈,直接闹出了笑话, 由于多次的事务没有提交,导致多个会话没有关闭 造成Oracle数据库表锁死 报 ORA-00054错误 即多个会话没有关闭,Oracle不然你操作了 解决办法 1.查所有被锁的sessionid 用户 哪张表被锁 select l.sessio…

Oracle锁表解决方法

锁表或锁超时相信大家都不陌生&#xff0c;经常发生在DML语句中&#xff0c;产生的原因就是数据库的独占式封锁机制&#xff0c;当执行DML语句时对表或行数据进行锁住&#xff0c;直到事务提交或回滚或者强制结束当前会话。 对于我们的应用系统而言锁表大概率会发生在SQL执行慢…

centos7 升级 gcc 版本

GNU Mirror List 查看动态库版本 strings /usr/lib64/libstdc.so.6 | grep CXXABI查找gcc生成的最新动态库 find / -name "libstdc.so*"一、升级 gcc&#xff1a; 1、查看当前gcc版本 #默认4.8.5 g -v 或者 gcc --version2、下载gcc源码&#xff08;10.2.0&…

环境搭建—3.0 Linaro gcc

一、gcc gcc&#xff0c;GNU Compiler Collection&#xff0c;GNU编译器套件&#xff0c;它最初是专门给GNU操作系统开发的&#xff0c;随着时间推移&#xff0c;现在已经成为了嵌入式领域应用最广泛的c/c编译器工具。不管是单片机开发还是linux开发&#xff0c;都离不开gcc。主…

mac使用gcc编译器

mac自带的编译器是clang编译器而且自带的gcc是映射到clang的之前看到网上需要关闭SIP模式很烦&#xff0c;我试了试关闭了也删除不了gcc&#xff0c;也无法软链接。 后来找到一篇曲线救国的帖子&#xff0c;是在&#xff5e;目录下使用的。 首先下载gcc的最新版本&#xff0c…

win10下安装gcc

win10下安装gcc 一、gcc是什么&#xff1f;1.1、安装gcc 第一次安装,记录一下 一、gcc是什么&#xff1f; GNU编译器套件(GNU Compiler Collection)包括C、C、Objective-C、Fortran、Java、Ada和Go语言的前端&#xff0c;也包括了这些语言的库(如libstdc、libgcj等等)。GCC的初…

gcc

gcc&#xff1a;一个工具集合,包含预处理器,编辑器,汇编器,链接器等组件 说明&#xff1a;当不使用任何选项时,gcc将会生成一个名为a.out的可执行文件 gcc选项 gcc -E 预处理 .igcc -S 编译成汇编代码 .sgcc -c 汇编成目标代码 .ogcc -o 链接成可执行代码 .out/.…

GCC,G++介绍

1.什么是GCC GCC 原名为 GNU C语言编译器&#xff08;GNU C Compiler&#xff09;GCC&#xff08;GNU Compiler Collection&#xff0c;GNU编译器套件&#xff09;是由 GNU 开发的编程语言 译器。GNU 编译器套件包括C、C、Objective-C、Java、Ada 和 Go 语言前 端&#xff0c;…

tdm gcc怎么运行c语言,TDM-GCC 64位

TDM-GCC 是为windows系统打造的编译器套件&#xff0c;包括了自由并开源的 MinGW 或 MinGW-w64 的运行时 APIs&#xff0c;当GCC创建一个新的版本&#xff0c;TDM构建二进制包在MinGW环境中使用MinGW的官方GCC软件包的替代品。需要的朋友可以下载&#xff01; TDM-GCC安装教程 …

什么是GCC? GCC编译过程

什么是GCC&#xff1f; 最简单的回答就是Linux 下的C/C 编译器。 其实一开始的确是这样的&#xff0c;GCC 原名为GUN C 语言编译器( GNU C Compiler), 原本只能处理编译C语言。 但是后来GCC发展壮大了&#xff0c;可以编译C, Fortran,Pascal,Objective-C&#xff0c; Java,A…

GCC是什么

GCC是什么 说到 GCC&#xff0c;就不得不提 GNU&#xff0c;“GNU”是“GNUs Not Unix!”&#xff08;GNU并非Unix&#xff01;&#xff09;的首字母递归缩写&#xff0c;中文名“革奴计划”。GNU 计划的最终目标是打造出一套完全自由&#xff08;即自由使用、自由更改、自由发…