[Unity3D]矢量数学:向量的点乘(内积)和叉乘(外积)

Unity使用左手坐标系:拇指X轴,食指Y轴,中指Z轴。

                        

计算公式:

设 A(Ax,Ay,Az)  B(Bx,By,Bz),则

1.向量的模:\left | A \right | = \sqrt{x^2+y^2+z^2}

2.向量加法:\vec{A} + \vec{B}=(Ax+Bx,Ay+By,Az+Bz)

3.向量点积:\vec{A} \cdot \vec{B}=Ax*Bx+Ay*By+Az*Bz = \left | A \right |*\left | B \right |*cos<\vec{A} , \vec{B}>

4.向量叉积:\vec{A} \times \vec{B}=(Ay*Bz-Az*by,Az*Bx-Ax*Bz,Ax*By-Ay*Bx)=\vec{C}

物理(几何)意义:

1.模:就是向量的长度。

2.加减:是位移,遵循三角形法则。

3.点积:结果是一个标量(数值,有大小无方向),满足交换律。

是一条边向另一条边的投影乘以另一条边的长度。

点积为0则两向量垂直,大于0是锐角(越大角度越小),小于0是钝角(越小角度越大)。

点积为0:平飞。
点积为0:平飞。
点积大于0:爬升。正值增大,抬头。
点积小于0:俯冲。负值增大,低头。

点乘结果描述了两个向量的“相似”程度,点乘结果越大,两向量越相近。

因为a•b = |a||b|cosθ

所以如果a和b都是单位向量,那么点乘的结果就是其夹角的cos值。

a•b = cosθ

由于cos在0~π上单调调减,因此可以比较cos值来达到比较夹角的效果。

4.叉积:结果是一个新的向量。

原向量是大拇指X和食指Y,新向量是中指Z(左手)。

叉积不满足交换律,即a×b≠b×a。实际上,叉积是满足反交换律的,即a×b=-(b×a)。而且叉积也不满足结合律,即 (a×b) ×c≠a×(b×c)

|a×b|=|a||b|sinθ,这和平行四边形的面积计算公式是一样的:

在Unity中:

1.计算向量的模:Vector3.magnitude

2.计算向量点积:Vector3.Dot(VectorA, VectorB)

3.计算向量叉积:Vector3.Cross(VectorA, VectorB)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱吃狮子头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值