算法目录
目前实现的算法包括点、向量、线段、直线、三角形、多边形、圆等基本计算几何模型。
一、点和向量
1、两点之间的距离
2、点到线的距离
3、点到线的投影点
4、点关于线的对称点
5、点是否在线上
6、三点是否共线
7、向量长度
8、向量标准化
9、向量点乘
10、向量叉乘
11、向量夹角
12、向量正弦、余弦、正切
13、随机生成n个点
二、直线和线段
1、线段/直线是否相交/平行
2、直线的夹角
3、一阶贝塞尔曲线插值
4、二阶贝塞尔曲线插值
5、三阶贝塞尔曲线插值
三、三角形
1、三个点是否能够组成三角形
2、点是否在三角形内部
3、点到平面的投影点
4、点到平面的距离
5、线段和平面的交点
6、计算平面的单位法向量
7、计算三角形面积
8、随机生成n条线
四、多边形
1、判断多边形顶点的凹凸性
2、判断多边形是否为凸多边形
3、计算多边形围成的面积
4、判断多边形是否是按照逆时针排列
5、判断点是否在多边形内部
6、判断线段是否在多边形内部
7、判断圆是否在多边形内部
8、寻找点集合的凸包算法
9、求简单多边形重心
10、求肯定在多边形内部的一个点
11、计算多边形的范围
五、圆
1、点和圆的关系
2、线段和圆的关系
3、直线和圆的关系
4、圆与圆的关系
// Copyright (C) Common Computational Geometry Algorithms e.U, ZutterHao
//
// This file is implementation of Common Common Computational Geometry Algorithms.
//
// Please please pay attention to input according to the specified data type.
//
// Author: ZutterHao .Nanjing University ,VISG
// Github: https://github.com/fanghao6666
// 个人实现的一些计算几何中常见的算法,包括点,线,多边形等
// 所有算法只依赖于C++标准库,不用包含任何其他第三方库
// 使用时请注意按照规定的数据类型进行输入
// 目前只使用C++来实现算法,具体算法原理会陆续在Github上更新
// Github: https://github.com/fanghao6666
/*** 包含的头文件 ***/
#include
#include
#include