不知道為啥,還是比較喜歡手寫公式,大概是因為比較方便吧
//判等
const double eps = 1e-9;
int dcmp(double x,double y)
return -1;
} //標頭檔案
#include #include //常用常數
const double pi = acos(-1.0);
const double inf = 1e100;
const double eps = 1e-6;
//常用函式
int fx = floor(x);
int cx = ceil(x);
int rx = round(x);
//點的定義
struct point;
//向量的定義
struct vector;
//點積
double dot(vector a,vector b)
//叉積
double cross(vector a,vector b)
//比較函式,sort()結構體
bool cmp(vector p,vector q)
return p.a
} //判斷點在直線上
vector q//需要判斷的點
vector a1,a2//a1,a2為直線上的兩點
vector c.a=q.a-a1.a;
vector d.a=a2.a-q.a;
if(!cross(c,d))
//計算兩直線交點
vector getlineintersection(point p,vector v,point q,vector w)
bool onsegment(point p,point a1,point a1)
//判斷兩線段是否相交(不允許在頂點處相交)
bool segmentproperintersection(point a1,point a2,point b1,point b2)
//判斷兩線段相交 (允許在頂點處相交)
bool segmentproperintersection(point a1,point a2,point b1,point b2)
return (sgn(c1)*sgn(c2)<0 && sgn(c3)*sgn(c4)<0);
}
計算幾何基礎 模板
目錄計算幾何拖了這麼久,終於拖到省選前了。emm不求能a題,只求寫暴力。參考 ps 剛開始寫的 讀入用的p i point 因為初始化了建構函式所以這麼讀進去橫縱座標可能是反的。有些題並沒有影響所以以前的就不改了。include include include include include inc...
計算幾何模板
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 ...
計算幾何模板
include define vct point using namespace std const double pi atan2 0,1 const double eps 1e 8 int sgn double d struct point bool operator point b const...