Unity3D 中常用的向量运算

Unity3D 中常用的向量运算

那么接下来来看一看在游戏开发过程中常用的一些向量运算

向量的叉积 / 叉乘

叉积的定义(cross product)

   叉积的计算结果依然是一个向量,叉积只能用于3D向量的运算,2D向量没有叉积 。
   通过对两个3D向量 U 和 V  来计算叉积 我们则可以得到一个新的向量 向量 W  
   结果向量 W 同时垂直于 U 与 V 向量

众所周知 在Unity3d 引擎中遵循左手坐标系

左手拇指法则

    抬起左手,将拇指之外的其他四个手指指向 第一个 向量的方向U ,然后朝着V的方向沿角度0< α < Π 
  卷曲手指, 此时拇指所指向的方向即为新的向量 W 的方向。 
//向量叉积的运算
u = (ux,uy,uz)
v=  (vx,vy,vz)
u x v = (uy*vz-uz*vy , uz*vx-ux*vz , ux*vy-uy*vx)

叉积的作用

   1. 可以计算一个平面的 法线(垂直于一个平面的向量)
   2. 可以判断一个物体在你左侧还是右侧

向量的点积(Dot Product)

 定义:
 向量的点积是一个标量  因此有时候 点积又被称之为 标量积(saclar product)
点积的运算
u = (ux,uy,uz)
v=  (vx,vy,vz)
u·v = ux*vx + uy*vy + uz*vz
余弦定理
u·v = |u||v|cos(α)
注意 当我们提到两个向量的夹角的时候 我们指的是最小角 0 < α < Π 
(而且这两个向量必须是共起点)
几何性质
u·v = 0    u 和 v 互相垂直
u·v > 0    u 和 v 的夹角小于90°
u·v < 0    u 和 v 的夹角大于90°
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值