計算幾何 一 入門須知

2021-10-03 13:33:38 字數 1783 閱讀 5212

前言

計算幾何,雖然不少題都是板子來套,但我們應深知,「借」來的板子遠不如自己消化理解後打的板子拓展性強。沒有學不會的演算法,只有不想學的acmer。最近比賽接連遇到不少較為基礎的計算幾何,因為沒有接觸這方面因此錯失ac,如今比賽、題目、安排較多,因此先簡單花一兩周入個門,以後再打算深入時,有了之前的基礎,就不會那麼難

———————————————————————————2020.3.5 22:20pm

常用常量

1.π

=3.1415926...

π=3.1415926...

π=3.14

1592

6...

因為反余弦函式的取值範圍正好是[0,

π][0,π]

[0,π

],那麼π

ππ最精確的求法是用反余弦函式計算

;2.浮點數精度eps

epsep

s 因為浮點數在計算過程會有精度損失,因此浮點數比較時必須做減法再和eps

epsep

s比較

const

double eps=

1e-8

;

3.浮點整數最大值

因為double型別最多可以存308位,故其也可以儲存乙個很大的整數

const

double inf=

1e300

;

浮點誤差

浮點數比較

不能直接比較,有兩種解決辦法

1.誤差判別法

double d1,d2;if(

(d1-d2)

我們直接定義inl

ineinline

inline

的比較函式,後面比較浮點數不用寫ifif

if之間呼叫函式

inline int

dcmp

(double d)

inline int

cmp(

double x,

double y)

2.化浮為整

在不溢位的情況下,不斷乘以10

1010

直到無小數字,計算後再轉化為浮點數

浮點數輸出

因為計算機儲存時可能存了負零,要防止計算機輸出負零

注意事項

常用math函式

double

ceil

(double x)

;//向上取整

double

floor

(double x)

;//向下取整

double

round

(double x,

int pos=0)

;//四捨五入

double

sqrt

(double x)

;//開根號

double

fabs

(double x)

//求絕對值

計算幾何入門

以下內容由各位大神的部落格提取出來 向量。如果一條線段的端點是有次序之分的,我們把這種線段成為有向線段 directed segment 如果有向線段p1p2的起點p1在座標原點,我們可以把它稱為向量 vector p2。設二維向量p x1,y1 q x2 y2 則向量加法定義為 p q x1 x2...

計算幾何基礎入門(1)

平面最接近點對 二維凸包 最小覆蓋圓 模板 首先要知道兩個基礎知識 叉積與基礎運算子過載 二維叉積可以用來判斷點與點的位置關係與面積 三維叉積可算平面的法向量 這些模板都是二維的 我想想看能不能化為三維的題 空間最小點對 三維凸包 最小覆蓋球 例題 p4894 p3744 p2785 平面最接近點對...

計算幾何凸包入門詳解

講這個之前,先說一下我自己的看法 求凸包網上有很多種方法,個人覺得最好用最常用的就是graham掃瞄法,本篇博文我也就只講這一種演算法求解凸包。講這個問題之前我們必須要弄清楚何為凸包?我來口胡一下吧,很明顯凸包這個名詞就已經給了我們乙個重要的資訊,那就是這個東西它肯定是乙個凸多邊形。那除了是凸多邊形...