#include #include #include #include #include #include #define pi acos(-1)
using namespace std;
struct point//點 向量
};typedef point vector;
//向量使用點作為表示方法 結構相同 為了**清晰
const double eps = 1e-8;
int dcmp(double x) //三態函式 處理與double零有關的精度問題
//向量運算
vector operator + (vector a, vector b)
vector operator - (vector a, vector b)
vector operator * (vector a, double p)
vector operator / (vector a, double p)
bool operator == (const vector& a, const vector& b)
bool operator < (const point&a,const point &b)
//點在直線上的投影
point getlineprojection(point p,point a,point b)
//判斷線段相交(每條線段的兩個端點都在另一條線段的兩側)(含端點的話把《改為<=)
bool segmentproperintersection(point a1,point a2,point b1,point b2)
//點是否在一條線段上(不含線段的端點)(含端點的話把《改為<=)
bool onsegment(point p,point a1,point a2)
//多邊形有向面積 支援非凸多邊形
double polygonarea(point *p, int n)
int k = m;
for(int i = n-2; i >= 0; i--)
if(n > 1) m--;
return m;
}//旋轉卡殼求凸包最大距離
void rc(point ch,int n)
printf("%d\n",ans);
}//凸包求其重心
point tubaozhongxin(point ma,int n)
{ int i;
point p=ma[0];
point a=ma[1];
double hx=0.0,hy=0.0,sum_area=0.0;
for(i=2;i
計算幾何模板 點類以及線段類
include include include include include include include include include include using namespace std const int maxn 500 10 const int inf 1e9 7 const do...
計算幾何模板(點 線段)2 1
orz發現之前的版子有小錯誤都不知道怎麼在用2333 8.8更新多邊形計算 求直線交點 順便把之前版子統一了一下 希望這周解決計算幾何 然後就不用再看模板了 忘記加重載 了。更了另乙個求交點情況,不會有除0情況出現 include include include include using name...
poj3304 計算幾何 線段與直線相交
題意 給定n條線段,確定是否存在一條直線,使得這n條線段在這條直線上的射影具有公共點 可將問題轉化為是否存在一條直線經過所有的線段,證明見依然的部落格 include include include using namespace std const double eps 1e 8 const in...