├── Compute_Geometry.h └── README.md /Compute_Geometry.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanghao6666/-Computational-Geometry-Algorithms/6fdfdc7aec97276f81969696d2d0020e12c4ffb2/Compute_Geometry.h -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Computational-Geometry-Algorithms 2 | This file is implementation of Common Common Computational Geometry Algorithms.Please please pay attention to input according to the specified data type. 3 | 4 | 个人实现的一些计算几何中常见的算法,包括点,线,多边形等;所有算法只依赖于C++标准库,不用包含任何其他第三方库,包含此头文件即可使用。使用时请注意按照规定的数据类型进行输入,目前只使用C++来实现算法,具体算法原理会陆续在Github上更新 5 | 6 | # 算法目录 7 | 8 | 目前实现的算法包括点、向量、线段、直线、三角形、多边形、圆等基本计算几何模型。 9 | 10 | ## 一、点和向量 11 | 12 | 1、两点之间的距离 13 | 14 | 2、点到线的距离 15 | 16 | 3、点到线的投影点 17 | 18 | 4、点关于线的对称点 19 | 20 | 5、点是否在线上 21 | 22 | 6、三点是否共线 23 | 24 | 7、向量长度 25 | 26 | 8、向量标准化 27 | 28 | 9、向量点乘 29 | 30 | 10、向量叉乘 31 | 32 | 11、向量夹角 33 | 34 | 12、向量正弦、余弦、正切 35 | 36 | 13、随机生成n个点 37 | 38 | ## 二、直线和线段 39 | 40 | 1、线段/直线是否相交/平行 41 | 42 | 2、直线的夹角 43 | 44 | 3、一阶贝塞尔曲线插值 45 | 46 | 4、二阶贝塞尔曲线插值 47 | 48 | 5、三阶贝塞尔曲线插值 49 | 50 | ## 三、三角形 51 | 52 | 1、三个点是否能够组成三角形 53 | 54 | 2、点是否在三角形内部 55 | 56 | 3、点到平面的投影点 57 | 58 | 4、点到平面的距离 59 | 60 | 5、线段和平面的交点 61 | 62 | 6、计算平面的单位法向量 63 | 64 | 7、计算三角形面积 65 | 66 | 8、随机生成n条线 67 | 68 | ## 四、多边形 69 | 70 | 1、判断多边形顶点的凹凸性 71 | 72 | 2、判断多边形是否为凸多边形 73 | 74 | 3、计算多边形围成的面积 75 | 76 | 4、判断多边形是否是按照逆时针排列 77 | 78 | 5、判断点是否在多边形内部 79 | 80 | 6、判断线段是否在多边形内部 81 | 82 | 7、判断圆是否在多边形内部 83 | 84 | 8、寻找点集合的凸包算法 85 | 86 | 9、求简单多边形重心 87 | 88 | 10、求肯定在多边形内部的一个点 89 | 90 | 11、计算多边形的范围 91 | 92 | ## 五、圆 93 | 94 | 1、点和圆的关系 95 | 96 | 2、线段和圆的关系 97 | 98 | 3、直线和圆的关系 99 | 100 | 4、圆与圆的关系 101 | 102 | 103 | --------------------------------------------------------------------------------