向量学习笔记
注意:该文章已过时并且被更新归并到了 凸包 学习笔记 中,请手动跳转。
0 前引#
向量是一个在物理学中十分常见的概念,在数学和编程中的应用也很广泛。今天来浅谈一下向量的一些基本运算及其应用。
1 定义#
向量是一个有方向,有长度的量,在坐标系中通常通过起点坐标和终点坐标表示。为了方便运算,七点坐标通常被设为原点。
但正如同刚才所说,向量的两个关键因素为方向和长度,所以还可以用这一种方式:
这也被称为 极角坐标系
, 也被称为向量的模长, 自然是与 轴成的夹角。
向量在坐标系中大致是这样:
接下来来讲一些向量基本运算。
2 基本运算#
2.1 向量加法
对于向量加法,我们考虑将两个向量移动到原点,然后这两个向量之和的向量的终点坐标就是:
说白了,就是横坐标相加,纵坐标相加。
然后他的几何意义也不难。你可以把向量想成向一个方向移动一段距离。那么,他的图像如下:
其实,它也可以表示成一个平行四边形的对角线,如图:
2.2 向量减法
我们已经知道了加法运算,那么可以考虑减法。
又知道相反数的定义为:向量的模不变,方向与之前相反
所以减法的图像就可以表示为:
2.3 向量点乘
向量的点乘大小等于这两个向量的模的乘积再乘以两个向量之间的夹角的余弦,就是:
当然,向量点乘还可以表示为:
其实,两个向量 和 的点积的模等于 在 上的投影的向量乘以 的模,如图:
2.4 向量叉乘
严格来说,两个向量 的向量积是三维向量的二元运算,就是:
这个叉乘的模就是 作的平行四边形面积,方向可以用物理上的 右手螺旋定则
判断。其实,这个方向是与平行四边形所在的平面垂直的,如下图:
当然,还有一个更有用的公式,我们在应用的时候再细说。
3 运算应用#
3.1 点乘的应用
点乘其实没啥应用的。
如果有三个点 ,并且 与 同线,对于一个向量 和一个点 ,则:
- , 在 的左手边。
- ,则 在 上。
- ,则 在 的右手边。
同时,点乘性质非常多,如下:
- 等价于 ,即
- 自乘:
- 结合律:
- 交换律:
- 分配律:
3.2 叉乘的应用
叉乘还有另一个更有用的定义。把叉乘定义为一个矩阵的行列式:
这时,如果 , 则相对于原点来说, 在 的顺时针方向;如果 时, 在 的顺时针方向;如果 ,则 与 共线。
以上性质可以和 3.1 点乘的应用 相互结合,从而判断一个点与一个向量的位置关系。
4 题目分析#
Atcoder Beginner Contest 296 G
其实,这道题我们可以考虑:对于每一个点,在它正下方的凸边形的边给快速求出来,然后计算这个点与这一条边的位置关系;同理,我们可以求出来此点正上方的边,然后计算位置关系。
然后,这个位置关系是什么?我们发现,在 3 运算应用 里,我们可以运用向量的叉乘与点乘,轻松的算出来点与向量的位置关系。那么,这道题就变成了一道大水题。
至此,这道题就结束了。
5 总结#
向量真的很有用。
作者:DE_aemmprty
出处:https://www.cnblogs.com/aemmprty/p/18091080
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)