這一部分主要總結一下在《挑戰程式設計競賽( 二)》中的一些**
/*常用預處理*/
#define eps (1e-10) ///設定精度
#define pi acos(-1) ///精確圓周率
#define inf 1e20 ///設定無限大
#define equals(a,b) (fabs((a)-(b))
利用c++和stl,對一些基本圖形進行了封裝
/*點*/
struct point;
/*向量*/
rypedef point vector;
/*線段*/
struct segment;
/*直線*/
typedef segment line;
/*圓*/
class circle
};/*多邊形*/
typedef vectorpolygon;
/*點*//*包括對點的處理*/
class point
point operator + (point &p)
point operator - (point &p)
point operator *(double k)
point operator /(double k)
double norm(vector a)
double abs(vector a)
bool operator <(const point &p)const
/*叉積(外積)*/
double cross(vector a,vector b)
上面的是之後處理問題的基本
計算幾何 模板總結
計算幾何終極模板 總結 pragma comment linker,stack 102400000,102400000 include bits stdc h define pb push back define ls l,m,now 1 define rs m 1,r,now 1 1 define...
計算幾何模板總結(二)
直線的正交 平行判定 兩個向量a,b正交,等價於,向量a,b的點積為0 bool isorthogonal vector a,vector b return equals dot a,b 0.0 bool isorthogonal point a1,point a2,point b1,point b...
計算幾何模板
sgn返回x經過eps處理的符號,負數返回 1,正數返回1,x的絕對值如果足夠小,就返回0。const double eps 1e 8 int sgn double x double mysqrt double x pt是point的縮寫 int版 struct pt pt int x,int y ...