浅谈平面几何
最近做题的时候由于平面几何的问题被搞得痛不欲生,于是决定来研究一下平面几何那些事儿,反正高中迟早都得学。
向量
基本概念
定义:既有大小又有方向的量称为向量,记作 。
有向线段:有方向的线段,有起点、方向、长度三要素,用于表示向量。
模:有向线段 的长度,记为 。
零向量:模为 的向量,记为 或 。
单位向量:模为 的向量记为该方向上的单位向量。
平行向量:又称共线向量,方向相同或相反的向量,记为 。
相等向量:模相等且方向相同的向量。
相反向量:模相等且方向相反的向量。
向量的夹角:已知两个非零向量 ,,作 、,则 就是 与 的夹角,记作 。规定 。特别的,当 时,这两个向量垂直,记作 。
线性运算
加法
- 三角形法则:若向量的头尾顺次相连,则它们的和为第一个向量的起点指向最后一个向量的终点,即 。
- 平行四边形法则:若两个向量共起点,则它们的和为以这两个向量为邻边的平行四边形的对角线,起点为共起点,方向沿对角线方向。
向量加法满足交换律与结合律。
减法
共起点向量的差向量为减向量的终点指向被减向量的终点,即 。
数乘
实数 与向量 的积为一个向量 。
- ;
- 当 时, 与 同向;当 时,;当 时, 与 方向相反。
满足结合律、分配律。
当存在唯一实数 使得 时,、 共线。
平面向量
平面向量基本定理:若两向量 、 不共线,则存在唯一实数对,使得与 、 共面的任意向量 满足 。
基底:在同一平面内不共线的两个向量。
坐标表示
若取与 、 轴方向相同的单位向量 、 作为基底,则根据平面向量基本定理,平面上的每一个向量都唯一对应一个有序实数对 ,而有序实数对 与平面直角坐标系上的点一一对应,那么我们作 ,那么终点 也是唯一对应的。由于我们研究的都是自由向量,可以自由平移起点,这样,在平面直角坐标系里,每一个向量都可以用有序实数对唯一表示。
平面向量的坐标运算
设有两个向量 、,则:
已知两点 、,则 。
若 、、 三点共线,则 。
向量的叉积
又称向量积、外积、矢积。已知两向量 , 及它们的夹角 ,它们的叉积为 ,则
的方向垂直于 与 所决定的平面,并遵循右手定则。 是一个伪向量,因为在不同的坐标系中 可能不同,不过一般在计算时不用管它的方向,只需要计算它的模。 相当于以 、 为邻边的平行四边形的面积。
在平面向量的计算中,若 ,,则
向量的点积
又称数量积、内积、标积。已知两向量 , 及它们的夹角 ,则
其中 为 在 方向上的投影。点积所得到的结果是一个实数。
在平面向量的运算中,若 ,,则
点积的应用如下:
- ,即 ;
- ,即 ;
顺便提一嘴,若 ,则
向量的旋转
设 ,倾角为 ,长度为 。则 ,。令其逆时针旋转 度角,得向量
代码实现
提了那么多,还是上代码吧。
尽管叉积所得的是一个向量,但在代码中只返回了它的模。
前方准备
正弦定理
在 中,若角 、、 所对边分别为 、、,其外接圆半径为 ,则
余弦定理
在 中,若角 、、 所对边分别为 、、,则
交点
两直线交点
至少在我的世界里 (不是mc!),直线只有一种表示方法:
设有两直线 、,则它们的交点为 。
判断两线段是否有交点
首先我们要判断一些特殊情况,如平行(也就是 相等)或重合(、 相等且一线段的端点在另一线段内)。
规定线段区域为以该线段为对角线,四边均平行与坐标轴的矩形。若这两条线段没有公共区域,则它们一定不相交。这叫做 快速排斥实验。我们可以初步排除一些情况。
通过快速排斥试验后,我们只需要判断一条线段的两个端点是否在另一条线段的两侧,若是,则它们有交点。这叫做 跨立实验。
多边形面积
线性平面上的多边形面积
将多边形上的点逆时针标记为 ,再作一辅助点 ,记向量 ,则该多边形的面积为
平面直角坐标系上的多边形面积
将多边形上的点逆时针标记为 、、……,则该多边形的面积为
皮克定理
如果该多边形是在一个网格图上,且所有的顶点都在格点上,那么令多边形内部格点数目为 ,边上的格点数目为 ,则其面积为
判断一点是否在多边形内
从该点引出一条射线(不与任何边共线),若与多边形有奇数个交点,则其在多边形内,否则在多边形外。这称之为 奇内偶外,因为每次与多边形相交,就改变了其与多边形的内外关系。
极坐标系
极点:在平面上选定的一点 。
极轴:自极点引出的一条射线 。
正方向:在极坐标系中一般为逆时针方向。
极坐标:设 为平面上一点,则 称为 极径,记为 ;以极轴为始边, 为终边的角 称为 极角,记为 ,则 该平面上的坐标为有序数对 。一般规定 ,。
极坐标与直角坐标的转换
假设极点为原点,极轴为 轴的正半轴,点 的极坐标为 ,直角坐标为 ,则
距离
欧几里得距离
在平面直角坐标系中有两点 、,则该两点之间的欧几里得距离为
扩展到 维空间中,假设有两点 、,则它们之间的欧几里得距离为
曼哈顿距离
在平面直角坐标系中有两点 、,则该两点之间的曼哈顿距离为
这就好比曼哈顿网格状的街道上,你想从 点到 点,只能沿着道路直来直往,所能达到的最短距离。
扩展到 维空间中,假设有两点 、,则它们之间的曼哈顿距离为
切比雪夫距离
在平面直角坐标系中有两点 、,则该两点之间的切比雪夫距离为
扩展到 维空间中,假设有两点 、,则它们之间的切比雪夫距离为
曼哈顿距离与切比雪夫距离之间的转换
将一个点 的坐标变为 后,原坐标系中的曼哈顿距离变成了新坐标系中的切比雪夫距离。
将一个点 的坐标变为 后,原坐标系中的切比雪夫距离变成了新坐标系中的曼哈顿距离。
凸包
凸多边形:所有内角都在 范围内的简单多边形。
简单点说,凸包就是用一个绳子把简单多边形围起来,然后勒紧所得的图形。凸包满足在围住多边形所有点的情况下周长最小。
凸包的求法:
-
将所有点按横坐标为第一关键字,纵坐标为第二关键字进行排序。
-
排序后最小和最大的点必定都在凸包上,因此我们用这两个点将凸包分为上凸壳和下凸壳。
-
可以发现,如果我们从一个点逆时针出发,那么凸包边必然是全程左拐,如果右拐,就说明刚刚我们走的一段不在凸包上,需要退回去。这可以用一个单调栈维护。
-
枚举时,我们先升序枚举求出下凸壳,再降序枚举求出上凸壳。
-
令当前栈顶为 ,次栈顶为 ,枚举到的点为 ,如果需要右转才能到 (即 ),则弹出栈顶,回到上一步,直到可以左转或是栈只剩一个元素。
-
设凸包上的 个点分别为 ,则整个凸包的周长为
扫描线(待填坑)
半平面交(待填坑)
__EOF__

本文链接:https://www.cnblogs.com/ryanright/p/15972479.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)