计算几何模版
文章平均质量分 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 · 3021 阅读 · 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 · 1094 阅读 · 0 评论 -
判断直线是否相交,若相交,则返回交点
//判断直线是否相交,若相交,则返回交点 #include #include using namespace std; #define EPS 1e-6 typedef 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 · 425 阅读 · 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 · 1719 阅读 · 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 · 1514 阅读 · 0 评论 -
半平面交
这模版真累啊 // // main.cpp // Richard // // Created by 邵金杰 on 16/8/9. // Copyright © 2016年 邵金杰. All rights reserved. // #include #include #include #include #include using namespace std; #define EPS 1原创 2016-08-09 20:35:42 · 274 阅读 · 0 评论