【模版】计算几何
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; }
相关文章推荐
- 平面计算几何模版集合
- 计算几何模版(点,线)
- HDU 3007 Buried memory(计算几何の最小圆覆盖,模版题)
- 九野的计算几何模版
- 计算几何的一些模版
- 第十六章 计算几何模版
- 计算几何 常用算法模版
- 计算几何模版
- 计算几何模版
- 计算几何模版
- 九野的计算几何模版
- 计算几何模版
- LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力
- POJ1269 计算几何直线与直线的关系
- 【笔记篇】最良心的计算几何学习笔记(五)
- poj 2704 Line of Sight(数学型计算几何)
- HDU 1798 Tell me the area(计算几何,求相交圆面积)
- uva 1531 & poj 1518 Problem Bee(几何计算+贪心)
- POJ 3304 计算几何
- poj3335---计算几何