幾何模板總結(一) 二維基礎

2021-06-18 20:00:59 字數 1194 閱讀 1168

實數比較

const double eps=1e-8;

int dcmp(double x)

//點積

double length(point a) //向量的長度

double angle(point a,point b) //兩向量的夾角

叉積:cross(u,v)為兩向量組成的三角形的有向面積的2倍

double cross(point a,point b)          //叉積

double area2(point a,point b,point c) //三角形面積的2倍

向量旋轉

point rotate(point a,double rad)

計算向量的單位法線

point normal(point a)

求兩直線交點,需保證給出的兩直線不共線

//p,q分別為兩直線上的一點,v,w分別為兩直線的方向向量

point getlineinter(point p,point v,point q,point w)

點到直線的距離

double distoline(point p,point a,point b)

點到線段的距離

double distoseg(point p,point a,point b)

點在直線上的投影

point getpro(point p,point a,point b)

判斷線段規範相交

bool segproperint(point a1,point a2,point b1,point b2)

bool onseg(point p,point a1,point a2)

求多邊形的有向面積(可能為負)

double polyarea(point* p,int n)

{ double area=0;

for(int i=1;i

二維幾何模板 二維幾何基礎

二維幾何模板 include include include include include include include include include using namespace std 二維幾何基礎 struct point typedef point vector const doub...

計算幾何 二維幾何 模板

幾何意義 向量的點積 a b a b a b cos cos 若cos cos 為正,兩向量之間的夾角為銳角 為負,兩向量夾角為鈍角 為量,兩向量夾角為直角。b在a方向上的投影 向量的叉積 a b a b a b sin sin 數值上表示a和b構成的平行四邊形的面積。include using n...

二維幾何基礎

模板 from 紫書 includeusing namespace std typedef long double ld const ld eps 1e 10 const ld pi acos ld 1.0 struct point typedef point vector vector opera...