您的位置:首页 > 其它

【模版】计算几何

2013-02-18 19:05 309 查看
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const double oo=1e19, pi=acos(-1), eps=1e-10;

struct dbl { double x,y; };
struct line { dbl P,v; };
struct circle { dbl O; double r; };

dbl operator + (dbl a, dbl b) { return (dbl){a.x+b.x, a.y+b.y}; }
dbl operator - (dbl a, dbl b) { return (dbl){a.x-b.x, a.y-b.y}; }
dbl operator * (dbl a, double b) { return (dbl){a.x*b, a.y*b}; }
dbl operator / (dbl a, double b) { return (dbl){a.x/b, a.y/b}; }

int dcmp(double d) { if(d<-eps) return -1; else return d>eps; }
double cj(dbl a, dbl b) { return a.x*b.y-a.y*b.x; }
double dj(dbl a, dbl b) { return a.x*b.x+a.y*b.y; }
double dis(dbl a, dbl b) { return sqrt( (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y) ); }
double jj(dbl v) { double rn=atan2(v.y, v.x); rn=(rn<0)?rn+2*pi:rn; return rn; }
void rotate(dbl& v, double g) { double C=cos(g),S=sin(g); v=(dbl){C*v.x-S*v.y, S*v.x+C*v.y}; }

int main()
{
freopen("oj.in", "r", stdin);
freopen("oj.out", "w", stdout);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: