左右和前后——叉积和点积

 

向量的点积:(数量积)

假设向量u(uxuy)和v(vxvy),uv之间的夹角为α,从三角形的边角关系等式出发,可作出如下简单推导:

  |u - v||u - v| = |u||u| + |v||v| - 2|u||v|cosα   

===>
  
  (ux - vx2 + (uy - vy)2  uxuy2 +vx2+vy2- 2|u||v|cosα 

===>
   
   -2uxvx - 2uyvy = -2|u||v|cosα

===>

   cosα = (uxvx + uyvy) / (|u||v|)

这样,就可以根据向量uv的坐标值计算出它们之间的夹角。

定义uv的点积运算: u . v = (uxvx + uyvy),

上面的cosα可简写成: cosα = u . v / (|u||v|)

u . v = 0时(即uxvx + uyvy = 0),向量uv垂直;当u . v > 0时,uv之间的夹角为锐角;当u . v < 0时,uv之间的夹角为钝角。

可以将运算从2维推广到3维。



向量的叉积:

假设存在向量u(uxuyuz), v(vxvyvz), 求同时垂直于向量uv的向量w(wxwywz).

因为wu垂直,同时wv垂直,所以w . u = 0, w . v = 0; 即

uxwx + uywy + uzwz = 0;
vxwx + vywy + vzwz = 0;

分别削去方程组的wywx变量的系数,得到如下两个等价方程式:

(uxvy - uyvx)wx = (uyvz - uzvy)wz
(uxvy - uyvx)wy = (uzvx - uxvz)wz

于是向量w的一般解形式为:

w = (wxwywz) = ((uyvz - uzvy)wz / (uxvy - uyvx), (uzvx - uxvz)wz / (uxvy - uyvx), wz)
  = (wz / (uxvy - uyvx) * (uyvz - uzvyuzvx - uxvzuxvy - uyvx))

因为:

   ux(uyvz - uzvy) + uy(uzvx - uxvz) + uz(uxvy - uyvx)
 = uxuyvz - uxuzvy + uyuzvx - uyuxvz + uzuxvy - uzuyvx
 = (uxuyvz - uyuxvz) + (uyuzvx - uzuyvx) + (uzuxvy - uxuzvy)   
 = 0 + 0 + 0 = 0

   vx(uyvz - uzvy) + vy(uzvx - uxvz) + vz(uxvy - uyvx)   
 = vxuyvz - vxuzvy + vyuzvx - vyuxvz + vzuxvy - vzuyvx
 = (vxuyvz - vzuyvx) + (vyuzvx - vxuzvy) + (vzuxvy - vyuxvz)
 = 0 + 0 + 0 = 0

由此可知,向量(uyvz - uzvyuzvx - uxvzuxvy - uyvx)是同时垂直于向量uv的。

为此,定义向量u = (uxuyuz)和向量 v = (vxvyvz)的叉积运算为:u x v = (uyvz - uzvyuzvx - uxvzuxvy - uyvx)

上面计算的结果可简单概括为:向量x v垂直于向量uv


根据叉积的定义,沿x坐标轴的向量i = (1, 0, 0)和沿y坐标轴的向量j = (0, 1, 0)的叉积为:

 i x j = (1, 0, 0) x (0, 1, 0) = (0 * 0 - 0 * 1, 0 * 0 - 1 * 0, 1 * 1 - 0 * 0) = (0, 0, 1) = k

同理可计算j x k:
 
 j x k = (0, 1, 0) x (0, 0, 1) = (1 * 1 - 0 * 0, 0 * 0 - 0 * 1, 0 * 0 - 0 * 0) = (1, 0, 0) = i

以及k x i:

 k x i = (0, 0, 1) x (1, 0, 0) = (0 * 0 - 1 * 0, 1 * 1 - 0 * 0, 0 * 0 - 0 * 0) = (0, 1, 0) = j

由叉积的定义,可知:

 v x u = (vyuz - vzuyvzux - vxuzvxuy - vyux) = - (u x v)

 

### 向量的区别及其数学定义 #### 的定义及计方法 有两种主要定义方式:代数方式几何方式。 - **代数定义**:如果向量 $\vec{a} = (a_1, a_2, \dots, a_n)$ $\vec{b} = (b_1, b_2, \dots, b_n)$ 是 $n$ 维欧几里得空间中的两个向量,则它们的可以表示为: $$ \vec{a} \cdot \vec{b} = a_1b_1 + a_2b_2 + \cdots + a_nb_n $$[^1]。 - **几何定义**:对于任意两个向量 $\vec{a}$ $\vec{b}$,其还可以通过向量的模长以及夹角 $\theta$ 来表达: $$ \vec{a} \cdot \vec{b} = |\vec{a}| |\vec{b}| \cos\theta $$。 这里的 $|\vec{a}|$ 表示向量 $\vec{a}$ 的模长,$\theta$ 则是这两个向量之间的夹角。 的结果是一个标量值,因此它也被称为“数量”。它的物理意义通常用于描述力沿某一方向所做的功或者投影关系。 #### 的定义及计方法 仅适用于三维空间中的向量操作。设 $\vec{a} = (a_1, a_2, a_3)$ $\vec{b} = (b_1, b_2, b_3)$ 是两个三维向量,则它们的可以通过行列式形式来计: $$ \vec{a} \times \vec{b} = \begin{vmatrix} \hat{i} & \hat{j} & \hat{k} \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{vmatrix} = (\hat{i}(a_2b_3-a_3b_2), \hat{j}(a_3b_1-a_1b_3), \hat{k}(a_1b_2-a_2b_1)) $$[^4] 其中 $(\hat{i}, \hat{j}, \hat{k})$ 分别代表标准正交基底单位向量。最终得到的新向量垂直于原始两个向量所构成的平面,并遵循右手定则决定方向。 从几何意义上讲,结果的大小等于以这两条边组成的平行四边形面,即: $$ |\vec{a} \times \vec{b}| = |\vec{a}| |\vec{b}| \sin\theta $$[^2], 这里 $\theta$ 是两向量间的夹角。 #### MATLAB 中实现交法 在MATLAB环境中执行向量可调用内置函数 `cross` 完成。例如给定向量 A=[1;0;0], B=[0;1;0]: ```matlab A = [1; 0; 0]; B = [0; 1; 0]; C = cross(A, B); disp(C); % 输出应为 [0; 0; 1] ``` 上述代码展示了如何利用MATLAB快速获取两个三维向量的结果[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值