ACM计算几何模板与公式详解

需积分: 9 5 下载量 10 浏览量 更新于2024-07-24 收藏 78KB DOC 举报
"ACM几何题模板包含了常用的计算几何问题解决方法和相关公式,主要针对ACM(国际大学生程序设计竞赛)中的几何题目。模板涵盖了三角形和四边形的特性,包括半周长、面积、中线、角平分线、高线、内切圆半径和外接圆半径的计算,以及四边形对角线、面积和特定条件下的关系。此外,还提及了正n边形的中心角、内角和边长与外接圆和内切圆的关系。" 在ACM竞赛中,计算几何是一类重要的问题类型,掌握几何模板有助于快速解决相关问题。快速排序算法在处理几何数据时也有着重要作用,如提供的`position`和`quickSort`函数,可以用于对几何对象的坐标或属性进行排序。 1. **快速排序**: 快速排序是一种高效的排序算法,由`position`函数确定基准元素的位置,然后通过`quickSort`函数递归地对左右子数组进行排序。这里使用了“分而治之”的策略,平均时间复杂度为O(nlogn)。 2. **几何公式 - 三角形**: - 半周长P是三角形三边之和的一半。 - 面积S可以通过海伦公式计算,即S = sqrt(P*(P - a)*(P - b)*(P - c)),也可以用边长和夹角的正弦值表示。 - 中线Ma是连接顶点到对边中点的线段,其长度与两边平方和的一半及夹角的余弦值有关。 - 角平分线Ta的长度与两边及其夹角的余弦值有关。 - 高线Ha可以用两边的长度和夹角的正弦值来计算。 - 内切圆半径r与三角形的面积S和半周长P有直接关系。 - 外接圆半径R可以通过边长和正弦值计算,也与三角形的面积和半周长有关。 3. **几何公式 - 四边形**: - 对角线平方和D1^2 + D2^2与边长平方和及中点连线平方和的关系。 - 四边形面积S可以通过对角线长度和夹角的正弦值来计算。 - 当四边形内接于圆时,对角线乘积等于两组邻边乘积之和。 - 正n边形的中心角A是360度除以n,内角C是(n - 2) * 180度除以n。 - 边长a与外接圆半径R和内切圆半径r之间的关系。 掌握这些模板和公式,对于解决ACM竞赛中的几何问题至关重要,可以大大提高解题效率和准确性。在实际应用中,理解并熟练运用这些知识,不仅能在竞赛中取得好成绩,还能为解决实际问题提供有力的工具。
2014-05-09 上传
ACM 很全的计算几何模板 基础部分 1.几何公式 5 1.1三角形 5 1.2四边形 5 1.3正n边形 5 1.4圆 5 1.5棱柱 6 1.6棱锥 6 1.7棱台 6 1.8圆柱 6 1.9圆锥 6 1.10圆台 7 1.11球 7 1.12球台 7 1.13球扇形 7 2.直线与线段 7 2.0预备函数 7 2.1判三点是否共线 8 2.2判点是否在线段上 9 2.3判断两点在线段的同一侧 9 2.4判断两点是否在线段的异侧 9 2.5求点关于直线的对称点 10 2.7判断两线段是否相交 10 2.7.1常用版 10 2.7.2不常用版 11 2.8 求两条直线的交点 11 2.9点到直线的最近距离 12 2.10点到线段的最近距离 12 3.多边形 12 3.0 预备浮点函数 12 3.1判定是否是凸多边形 13 3.2判定点是否在多边形内 14 3.3 判定一条线段是否在一个任意多边形内 15 4. 三角形 16 4.0预备函数 16 4.1求三角形的外心 17 4.2求三角形内心 17 4.3求三角形垂心 17 5. 圆 18 5.0预备函数 18 5.1判定直线是否与圆相交 19 5.2判定线段与圆相交 19 5.3判圆和圆相交 19 5.4计算圆上到点p最近点 19 5.5计算直线与圆的交点 20 5.6计算两个圆的交点 20 6. 球面 21 6.0给出地球经度纬度,计算圆心角 21 6.1已知经纬度,计算地球上两点直线距离 21 6.2已知经纬度,计算地球上两点球面距离 21 7. 三维几何的若干模板 22 7.0预备函数 22 7.1判定三点是否共线 23 7.2判定四点是否共面 23 7.1判定点是否在线段上 23 7.2判断点是否在空间三角形上 24 7.3判断两点是否在线段同侧 24 7.4判断两点是否在线段异侧 25 7.5判断两点是否在平面同侧 25 7.6判断两点是否在平面异侧 25 7.7判断两空间直线是否平行 25 7.8判断两平面是否平行 26 7.9判断直线是否与平面平行 26 7.10判断两直线是否垂直 26 7.11判断两平面是否垂直 26 7.12判断两条空间线段是否相交 27 7.13判断线段是否与空间三角形相交 27 7.14计算两条直线的交点 28 7.15计算直线与平面的交点 28 7.16计算两平面的交线 29 7.17点到直线的距离 29 7.18 计算点到平面的距离 29 7.19计算直线到直线的距离 30 7.20空间两直线夹角的cos值 30 7.21两平面夹角的cos值 30 7.22直线与平面夹角sin值 31 1.最远曼哈顿距离 31 2. 最近点对 32 3. 最近点对 34 4. 最小包围圆 36 5. 求两个圆的交点 39 6. 求三角形外接圆圆心 40 7. 求凸包 42 8.凸包卡壳旋转求出所有对踵点、最远点对 44 9. 凸包+旋转卡壳求平面面积最大三角 47 10. Pick定理 50 11. 求多边形面积和重心 51 12. 判断一个简单多边形是否有核 52 13. 模拟退火 54 14. 六边形坐标系 56 15. 用一个给定半径的圆覆盖最多的点 60 16. 不等大的圆的圆弧表示 62 17. 矩形面积并 62 18. 矩形的周长并 66 19. 最近圆对 70 20. 求两个圆的面积交 74