1.向量基礎知識
線段樹維護矩乘就好了,矩陣裡需要帶個常數字置。
不會積分,告辭。
2.簡單題
投影就是點積,直接積就行了,必修四怎麼學的。
跟上面的一模一樣。
叉積判出不共線的兩種,剩下的直接比較橫座標就可以了。
平行向量叉積為\(0\),垂直向量點積為\(0\)。
跨立實驗:對於一條線段,看另一條線段的兩個點是否在它兩側,兩邊都是的話就對。
在一條直線上的情況會鍋。
可以先判斷外接矩形是否相交。(必要條件,不充分)
發現答案是\(a\cdot k_a\)或者\(b\cdot k_b\)的形式,列兩個方程解就行了。
特判共線情況。
發現一定取在某條線段的端點,轉化為求點到線段距離。
計算\(a\)在\(p_1p_2\)上投影佔\(p_1p_2\)比例,\(\leq 0\)離\(p_1\)最近,\(\geq 1\)離\(p_2\)最近,否則離投影點最近。
一路叉積過去就好。
一路叉積過去,兩兩邊之間的叉積都要\(>0\)。
在多邊形上很好判。
射線法,交奇數次在內部,偶數次在外部,但是會出現一些問題。
一種簡單辦法是把射線斜率設為無理數。
否則就要特判。硬點射線斜率是\(0\),且水平向右。
依次考慮每條邊,平行的可以直接無視。
本質要解決的是穿過頂點的問題。
如果\(a\)在\(r\)上,且\(ab\)向上,或\(b\)在\(r\)上,且\(ab\)向下則算相交。
爛大街經典問題。
旋轉卡殼。從橫座標最小和最大的點開始,每次前移一條邊(類似雙指標)。
掃一遍凸多邊形,把符合要求的頂點和交點都拿出來求面積。
-\(n\)個點求最近點對。
分治,對於跨過中點的點對,只要找\(|x_i-x_j|\)不超過\(d\)的點即可。按\(y\)排序,每個點有貢獻的點是常數個。
求出弦心距,即可解出三角形,用夾角計算即可。
可以形成乙個三邊長為\(r_1,r_2,dis(o_1,o_2)\)的三角形,餘弦定理解出夾角即可。
解三角形求夾角。
判一下\(0,1\)條公切線的情況。否則一定有兩條外公切線。
由於公切線垂直於兩條半徑,可以平移一下,構造乙個\(r_1-r_2,d,len\)的直角三角形,解三角形即可。
內公切線形成了兩個相似三角形。
可以把多邊形切成若干個有向三角形,轉化成圓和三角形交的面積。
不妨把三角剖分的原點設為圓心。
如果整個三角形都在圓內,返回三角形面積。
如果整個\(ab\)都在圓外(垂線長\(\geq r\)),返回扇形面積。
否則按照\(ab\)與圓的交點切開,遞迴處理。發現最多遞迴常數次。
經典問題,隨機增量法。
3.較難題
對每個圓盤求出後面的圓盤覆蓋它的角度區間(求兩個交點),並一下即可求出可見弧長。
斜率優化的經典形式。啟發式合併或者dsu on tree都可以。
每個向量等價於乙個射線。相當於要找三個向量,使得兩兩之間極角差$ <\pi$。
每個向量取反之後插進去,發現答案一定首尾之間\(<\pi\),並且答案形如「正反正」的三個向量。
特判四個互相垂直的情況。
結論:兩個三角形不相交等價於它們有兩條內公切線。
可以列舉兩個點組成的公切線,求出兩邊點對數。
結論:過原點的圓反演後變成一條不過原點的直線。
在圓內部等價於反演後的點在反演後的直線特定的一側。
動態半平面交,分治維護凸包即可。
結論:不過原點的圓反演後還是不過原點的圓,且相交/相切等位置關係反演後仍然成立(因為同乙個點反演後還是同乙個點)。
圓反演後求公切線即可,需要一些特判。
多邊形不相交是很強的限制。
硬點多邊形的邊是逆時針給出的。
對每個點找到豎直往上走最近的邊,如果是從左往右則不在,否則在對應多邊形內部。
如果可以離線,按橫座標掃瞄線一下,維護線段之間的上下位置關係。由於線段不相交,上下關係只會在插入刪除時才會改變。用set維護就行了。
一大堆特判。
考慮乙個二維平面,橫軸時間,縱軸dfs序。
樹剖以後變成\(m\log n\)條線段,求最早相交時間。
按\(x\)掃瞄線,set維護\(y\)的大小關係。
如果兩條線段有交,它們一定在某個時刻在set中相鄰,否則任意兩條線段之間關係不會改變。
插入刪除的時候check一下前驅後繼即可。
設\(f(x)\)表示極角為\(x\)的射線左側-右側的面積。有\(f(0)=-f(\pi)\),所以必然存在零點,二分這個點即可。
考慮對叉積求字首和,先二分出射線落在哪兩條邊上,然後內部的變化是線性的,可以直接算。
4.微積分在計算幾何中的應用
這一段瘋狂掉線……我太菜了。
ZROI 19 08 02 雜題選講
顯然乙個絕對值最多選一次。這個性質非常強。如果所有都是偶數,可以直接除以 2 否則 1 或 1 必須選,暴力列舉選哪個然後遞迴,每層去重,發現最多隻會遞迴 log a 次。總複雜度 o n a log n 等價於線段樹上區間長度總和。等價於不下降序列。設 f x 表示最後乙個數 leq x 時的最優...
計算幾何與計算幾何與
博主這裡曾經學過計算幾何 下文簡稱jj 所以沒有證明或者說明某些演算法,不適合初學者食用 用一道例題及黃學長的 來理解 黃學長 include include include include include include include include include include define...
計算幾何 幾何基礎
這章早在2017年寒假就在培訓的時候由來自清華的hta老師上過了 但是本蒟蒻那時候並不是懂的太多 所以這週ww老師又上了一遍 大概記錄一下 大概就跟高中必修4的平面向量差不多 有上過的應該都會 a x1,y1 b x2,y2 a b x1x2 y1y2 a b a b cos a,b 運用 若a與b...