Unity 3D脚本编程与游戏开发(2.5)

本文详细介绍了Unity 3D中的向量操作,包括点积、叉积及其应用,如投影距离和求法线。此外,讨论了Vector3结构体、向量与坐标的关系以及坐标系转换。还简要介绍了矩阵和齐次坐标在3D变换中的作用,以及四元数解决的万向节锁定问题。
摘要由CSDN通过智能技术生成
4.3.4 向量的点积

        两个向量的点积是⼀个标量,其数值为两者⻓度相乘,再乘以两者夹⾓的余弦:
a·b=|a|·|b|cosθ⽤坐标表⽰,公式为
(x1,y1,z1)·(x2,y2,z2)=x1x2+y1y2+z1z2
        注意到,两个向量的点积是⼀个数(标量),只有⼤⼩,没有⽅向。⽽且点乘满⾜交换律,如向量a·b=b·a。数学中的所有运算规则都有着深刻的内涵。向量加减法的定义是⽐较直观的,那么点乘为什么这么定义,⼜有什么⽤呢?⾸先⽐较明显的⼀点是,由于夹⾓的余弦具有正负值,因此通过两个向量的点积正负,可以快速判断两个向量的夹⾓。
若点积等于0,则两者垂直;
若点积⼤于0,则两者夹⾓⼩于90°;
若点积⼩于0,则两者夹⾓⼤于90°。

        不⽤考虑夹⾓⼤于180°的情况,读者可以想想为什么(提⽰:点乘满⾜交换律)。
点积还有⼀个重要含义——投影距离。考虑⼀个问题:如图4-10所⽰,⻋辆正在沿向量b的⽅向⾏进,前⾯有⼈拉⻋,但拉⻋的⼒为向量a,向量a与向量b存在30°夹⾓。很明显,拉⼒a并没有全部转化为对⻋的牵引⼒,垂直于⻋辆前进⽅向的⼒被抵消了,真正对⻋辆⾏进有贡献的⼒是a',那么a'如何计算呢?直接⽤点乘即可。但是,如果直接⽤a点乘b,结果会受b的⻓度影响。为了去除b⻓度的影响,只取b的⽅向,将b标准化即可。

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BinaryStarXin

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

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

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

打赏作者

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

抵扣说明:

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

余额充值