计算几何模版
文章平均质量分 51
skajre
这个作者很懒,什么都没留下…
展开
-
矢量的运算表示方法
struct CVector{ double x,y; CVector(double x,double y): x(x),y(y) {}};CVector operator + (CVector p,CVector q){//矢量相加 return CVector(p.x+q.x,p.y+q.y);}CVector operator - (CVector p,CVe原创 2016-08-04 21:55:18 · 3087 阅读 · 0 评论 -
点与点 点与线的关系
//// main.cpp// Richard//// Created by 邵金杰 on 16/8/5.// Copyright © 2016年 邵金杰. All rights reserved.////常用常数double PI=acos(-1);double INF=1e20;double EPS=1e-6;typedef pair CPoint;//点t原创 2016-08-05 10:06:02 · 1118 阅读 · 0 评论 -
判断直线是否相交,若相交,则返回交点
//判断直线是否相交,若相交,则返回交点#include#includeusing namespace std;#define EPS 1e-6typedef pair CVector;typedef pair CPoint;typedef pair CLine;bool IsZero(double x){ return -EPS<x&&x<EPS;}CVector o原创 2016-08-05 11:22:45 · 434 阅读 · 0 评论 -
两条线段相交的各种情况
//// main.cpp// Richard//// Created by 邵金杰 on 16/8/3.// Copyright © 2016年 邵金杰. All rights reserved.////返回值result.first//0 规范相交//1 端点重合,但不平行,不共线//2 一个端点在另一个端点的内部 s1端点在 s2内部 (不平行,不共线)原创 2016-08-05 16:13:30 · 1772 阅读 · 0 评论 -
求线与线的夹角
typedef pair CPoint;typedef pair CLine;double angle(CLine l,CLine m){ return acos(fabs(project(l.second-l.first,m.second-m.first)/length(l.second-l.first)));}原创 2016-08-06 10:51:41 · 1560 阅读 · 0 评论 -
半平面交
这模版真累啊//// main.cpp// Richard//// Created by 邵金杰 on 16/8/9.// Copyright © 2016年 邵金杰. All rights reserved.//#include#include#include#include#includeusing namespace std;#define EPS 1原创 2016-08-09 20:35:42 · 284 阅读 · 0 评论