1. 程式人生 > >計算幾何學習7

計算幾何學習7

一道 多邊形 uva 計算幾何學 一點 自己 二分 次方 多校

今天搞的都是一些簡單的解析幾何

有一些東西有固定的求法

求角平分線:先通過角的兩邊算出角度 再旋轉其中一個至角平分線的位置

求垂線:直接通過方向向量求出直線的法向量

三角形的三個心:

外心:兩個中垂線交點(三角形外接圓就是外心)

內心:兩個角平分線交點

垂心:垂線交點(一個頂點在對邊法向量上的直線)

圓的切線:點到圓心的直線 旋轉一個角度 可以通過半徑和到圓心的距離算

求球面距離:習慣通過球坐標系求出兩個點直角坐標系中的方向向量 然後通過點積算出圓心角 再乘上球的半徑

今天做的都是這些加上一點變換得到的題 感覺不需要拿出來

補了一道之前的計算幾何題

UVA 4642:

求一個三角形內三個互相相切且各自與三角形中兩邊相切的圓的半徑

有公式 但是想在考場上推倒不現實

我們可以二分其中一個圓的半徑 通過幾何關系算出另兩個圓的半徑

顯然所有圓的圓心都在角平分線上 知道半徑就可以確定坐標了

幾何關系是通過圓心距的方程得到的

自己當時卡的地方:

1)幾何關系得到一個二次方程 需要檢驗是哪一個 有一個會在三角形內 一個在外側

2)二分的上界可以設置成三角形內切圓的半徑 註意叉積多邊形面積有時需要abs的

還在考慮一道題

UVA 6532 之前遇到過 那時還沒學計算幾何

明天多校

打算搞完第一期剩下內容

計算幾何學習7