3D数学基础:向量运算 您所在的位置:网站首页 空间向量运算的所有公式有哪些图片 3D数学基础:向量运算

3D数学基础:向量运算

2024-07-05 07:50| 来源: 网络整理| 查看: 265

向量的定义

从几何上讲,向量就是有方向,有大小的有向线段。

向量的运算 负向量

要得到任意维向量的负向量,只需要简单的将向量每个分量都变负即可。数学表达式: − [ a b . . . x ] = [ − a − b . . . − x ] \begin{gathered} -\begin{bmatrix}a\\b\\...\\x\end{bmatrix} = \begin{bmatrix}-a\\-b\\...\\-x\end{bmatrix} \end{gathered} −⎣⎢⎢⎡​ab...x​⎦⎥⎥⎤​=⎣⎢⎢⎡​−a−b...−x​⎦⎥⎥⎤​​

向量大小

向量大小也常被称为向量的长度或模。 也就是向量各分量的平方和的平方根。计算公式如下: ∥ v ∥ = ∑ i = 1 n v i 2 \lVert v \rVert = \sqrt{\sum_{i=1}^n v_{i}^2} ∥v∥=i=1∑n​vi2​ ​

向量与标量的乘法

标量与向量的乘法非常直接,将向量的每个分量都与标量相乘即可。标量与向量乘的顺序并不重要,但经常把标量写在左边,数学表达式为: k [ a 1 a 2 . . . a n ] = [ a 1 a 2 . . a n ] k = [ k a 1 k a 2 . . . k a n ] \begin{gathered} k\begin{bmatrix}a_{1}\\a_{2}\\...\\a_{n}\end{bmatrix}= \begin{bmatrix}a_{1}\\a_{2}\\..\\a_{n}\end{bmatrix}k= \begin{bmatrix}ka_{1}\\ka_{2}\\...\\ka_{n}\end{bmatrix} \end{gathered} k⎣⎢⎢⎡​a1​a2​...an​​⎦⎥⎥⎤​=⎣⎢⎢⎡​a1​a2​..an​​⎦⎥⎥⎤​k=⎣⎢⎢⎡​ka1​ka2​...kan​​⎦⎥⎥⎤​​

标准化向量

对任意非零向量 v v v,都能计算出一个和 v v v方向相同的单位向量 v n o r m v_{norm} vnorm​。这个过程就称为向量的标准化,要标准化向量,将向量除以它的模(大小)即可。 v n o r m = v ∥ v ∥ , v ≠ 0 v_{norm}=\frac {v} {\lVert v \rVert} ,v\not =0 vnorm​=∥v∥v​,v​=0 零向量不能被标准化。数学上是不允许的,因为将导致除零。几何上也没有意义,因为零向量没有方向。

向量的加法和减法

如果两个向量的维度相同,那么它们能相加,或相减。结果向量的维度与原向量相同。 向量加法的运算法则很简单,两个向量相加,将对应分量相加即可。 [ a 1 a 2 . . . a n ] + [ b 1 b 2 . . . b n ] = [ a 1 + b 1 a 2 + b 2 . . . a n + b n ] \begin{gathered} \begin{bmatrix}a_1\\a_2\\...\\a_n\end{bmatrix}+ \begin{bmatrix}b_1\\b_2\\...\\b_n\end{bmatrix}= \begin{bmatrix}a_1+b_1\\a_2+b_2\\...\\a_n+b_n\end{bmatrix} \end{gathered} ⎣⎢⎢⎡​a1​a2​...an​​⎦⎥⎥⎤​+⎣⎢⎢⎡​b1​b2​...bn​​⎦⎥⎥⎤​=⎣⎢⎢⎡​a1​+b1​a2​+b2​...an​+bn​​⎦⎥⎥⎤​​ 减法解释为加负向量: a − b = a + ( − b ) a-b=a+(-b) a−b=a+(−b)

一个点到另一个点的向量(减法的应用)

计算一个点到另一个点的位移是一种非常普遍的需求,可以使用向量减法来解决这个问题。 图1展示了怎样用 b − a b-a b−a计算 a a a到 b b b的位移向量。 图1

距离公式

该公式用来计算两点之间的距离。 首先定义距离为两点之间线段的长度。因为向量是有向线段,所以从几何意义上说,两点之间的距离等于从一个点到另一个点的向量的长度。 先计算从a到b的向量d,在3D的情况下: d = b − a = [ b x − a x b y − a y b z − a z ] \begin{gathered} d=b-a=\begin{bmatrix}b_x-a_x\\b_y-a_y\\b_z-a_z\end{bmatrix} \end{gathered} d=b−a=⎣⎡​bx​−ax​by​−ay​bz​−az​​⎦⎤​​ a到b的距离等于向量d的长度: 距 离 ( a , b ) = ∥ d ∥ = ( b x − a x ) 2 + ( b y − a y ) 2 + ( b z − a z ) 2 距离(a,b)=\lVert d \rVert = \sqrt{(b_x-a_x)^2+(b_y-a_y)^2+(b_z-a_z)^2} 距离(a,b)=∥d∥=(bx​−ax​)2+(by​−ay​)2+(bz​−az​)2 ​ 这样就推导出了3D距离公式,2D距离公式也很好推导出来: 距 离 ( a , b ) = ∥ b − a ∥ = ( b x − a x ) 2 + ( b y − a y ) 2 距离(a,b)=\lVert b-a \rVert = \sqrt{(b_x-a_x)^2+(b_y-a_y)^2} 距离(a,b)=∥b−a∥=(bx​−ax​)2+(by​−ay​)2 ​

向量点乘

向量点乘就是对应分量乘积的和,其结果是个分量。向量点乘不能省略点乘号。 [ a 1 a 2 . . . a n ] ⋅ [ b 1 b 2 . . . b n ] = a 1 b 1 + a 2 b 2 + . . . + a n b n \begin{gathered} \begin{bmatrix}a_1\\a_2\\...\\a_n\end{bmatrix}\cdot \begin{bmatrix}b_1\\b_2\\...\\b_n\end{bmatrix}=a_1b_1+a_2b_2+...+a_nb_n \end{gathered} ⎣⎢⎢⎡​a1​a2​...an​​⎦⎥⎥⎤​⋅⎣⎢⎢⎡​b1​b2​...bn​​⎦⎥⎥⎤​=a1​b1​+a2​b2​+...+an​bn​​ 用连加符号简写: a ⋅ b = ∑ i = 1 n a i b i a\cdot b=\sum_{i=1}^n a_ib_i a⋅b=i=1∑n​ai​bi​

一般来说,点乘结果描述了两个向量的“相似”程度,点乘结果越大,两向量越相近。 点乘等于向量大小与向量夹角的cos值的积: a ⋅ b = ∥ a ∥ ∥ b ∥ cos ⁡ θ a\cdot b=\lVert a \rVert \lVert b \rVert \cos\theta a⋅b=∥a∥∥b∥cosθ 解得: θ = arccos ⁡ ( a ⋅ b ∥ a ∥ ∥ b ∥ ) \theta = \arccos(\frac {a\cdot b} {\lVert a \rVert \lVert b \rVert}) θ=arccos(∥a∥∥b∥a⋅b​) 如果a、b是单位向量,就可以避免上面公式的除法运算: θ = arccos ⁡ ( a ⋅ b ) \theta = \arccos(a\cdot b) θ=arccos(a⋅b) 如果不需要 θ \theta θ的确切值而只需要a和b的夹角类型,可以只取用点乘结果的符号。

如果 a ⋅ b a\cdot b a⋅b大于0,则 0 ° ⩽ θ < 90 ° 0\degree\leqslant\theta


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有