計算幾何 預備知識

2021-09-25 21:43:58 字數 1254 閱讀 2894

pi的定義:const double pi=acos(-1.0)

最大值的定義: const double inf=0x3f3f3f3f

向上取整:int a=ceil(double t);

向下取整:int a=floor(double t);

四捨五入: int a=round(double t);

內積運算

又稱數量積,點積

α*β=|α||β|cosθ

對加法滿足分配律

幾何意義

向量α在向量β的投影α′(帶有方向性)與β的長度乘積

若α與β的夾角為銳角,則其內積為正

若α與β的夾角為鈍角,則其內積為負

若α與β的夾角為直角,則其內積為0

外積運算

又稱向量積,叉積

α×β=|α||β|sinθ

θ表示向量α旋轉到向量β所經過的夾角

對加法滿足分配律

幾何意義

向量α與β所張成的平行四邊形的有向面積

判斷外積的符號

右手定則

α×β若β在α的逆時針方向,則為正值

順時針則為負值

兩向量共線則為0

三角形:

外心三邊中垂線交點,到三角形三個頂點距離相同

內心角平分線的交點,到三角形三邊的距離相同

垂心三條高線的交點

重心三條中線的交點,到三角形三頂點距離的平方和最小的點,三角形內到三邊距離之積最大的點

那麼如何儲存乙個點呢??

如何儲存一條線(線段,直線,射線):直接結構體裡面定義兩個點就好了!兩點確定一條直線啊

如何儲存乙個圓呢?乙個點加半徑搞定

還有乙個小細節:

在判斷誤差的時候我們需要乙個定義乙個eps;

因為我們在計算的時候是有誤差的!就比如我們判斷我們計算出來的直線的長度為0.9999999999999,但是實際長度是1,其實不是我們計算錯誤,而是計算機計算的誤差以及各方面因素導致的

const double eps=1e-9;

int pl(int x,int y)

計算幾何知識歸納

目錄 線段及直線的基本運算 1.點與線段的關係 2.求點到線段所在直線垂線的垂足 3.點到線段的最近點 4.點到線段所在直線的距離 5.點到折線集的最近距離 6.判斷圓是否在多邊形內 7.求向量夾角余弦 8.求線段之間的夾角 9.判斷線段是否相交 10.判斷線段是否相交但不交在端點處 11.求線段所...

計算幾何知識點

公式描述 公式中a,b,c分別為三角形三邊長,p為半周長,s為三角形的面積。3.三角形外接圓半徑公式 公式描述 公式中a,b,c分別為三角形的三邊,s為面積。4.正多邊形外角和為360度,各個外角相等且等於各邊所對應圓心角 5.正多變形面積 sin a r r n 2 a為圓心角,r為外接圓半徑,n...

計算幾何小知識整理

vec x1,y1 vec y1,y2 vec 與 vec 的夾角為 theta cos theta x1 cdot x2 y1 cdot y2 sqrt cdot sqrt theta acos x1 cdot x2 y1 cdot y2 sqrt cdot sqrt vec x1,y1 vec ...