理解向量点积

开始理解向量点积之前先思考一下,向量点积跟敲代码有什么关系?为什么要理解这东西?

针对第一个问题很简单,假如现在有一个业务需要你在页面上点击一个控件并且按照指定的线段移动你要怎么实现?可能你会想到计算线段的斜率,计算当前坐标的移动距离和该线段便宜的角度,然后移动的轨迹作垂直于该线段,计算焦点的坐标, 例如下图中的点p, 要求点p在线段AB上移动,当鼠标从p点移动到M点时候,对应P点移动到P'点位置,为看计算P'点的位置,纯坐标位置计算的话,需要计算的部分有:

线段AB与X轴的夹角α, 鼠标移动路线PC与线段AB的夹角β, PC的长,PP'的长

听起来是不是很绕?其实这时候其实可以考虑用向量点积(也叫内积),因为向量点积的一个几何概念就是用来计算向量在某个方向上的投影,这也是我们为什么要先理解这东西的原因了。接下来就是大概复习下向量点积的定义和公式了。(纯数学理论)

定义:

点积(也称为内积或数量积)是向量运算中的一种重要运算,用于衡量两个向量之间的相似度和夹角关系。对于二维向量 𝑎=(𝑎𝑥,𝑎𝑦)和 𝑏=(𝑏𝑥,𝑏𝑦,它们的点积定义为:

𝑎⋅𝑏=𝑎𝑥⋅𝑏𝑥+𝑎𝑦⋅𝑏𝑦

点积的计算结果是一个标量(即纯数量),而不是向量。点积的计算结果可以用来衡量两个向量之间的相似度,如果两个向量的点积为零,则它们是垂直的(正交);如果点积为正,则它们之间的夹角小于90度,如果点积为负,则它们之间的夹角大于90度。

点积还可以用来计算向量在某个方向上的投影,因此在这个问题中,我们使用点积来计算鼠标位置向量在起始点到终点向量上的投影比例 t,就可以确定鼠标位置在起始点和终点之间的位置比例。比例 t 如何计算呢,见下面chatGPT给我们的解释:

综上投影比例 其实是t = AM * AB / AB的平方, 而这个比例t就是可以用来实现我们点在指定线上移动的关键值了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值