ACM計算幾何
阿新 • • 發佈:2019-02-10
Computational Geometry
計算幾何
ACM中基本是最麻煩的部分。幾何程式碼都要自己寫,STL中也沒有。基本上。
struct point
數乘,差乘,計算幾何題目抄。一個數字由於誤差積累造成大。
避免誤差。
注意:
a=b <=> |a-b| < e
a<b <=> a-b < -e
a<=b <=> a-b < e
e 多10^-8
四捨六入五差 +- e
精度問題。(流行技巧)
!!慎用
向量(向量)
主要就是向量。(不用平面幾何)
點積
夾角
a.b反映的是投影。
垂直
正交的東西。縮放(單位長度)
投影長度如何算?投影模。
向量的對稱,入射出射光。
計算幾何和解析幾何不同。
二維叉積。叉積在二維空間裡是一個數字。
三維空間中是一個向量。
叉積滿足逆交換律。axb = -bxa
!!計算幾何中最常用的概念。
叉積可以算面積。
絕對值的叉積很少用,一般都是基於叉積的。
格林公式?
邊緣積分也是這個。
axb的正負。??
a.b可以求出a在b的前面還是後面。(向量的前後)
axb可以求出左右。
將向量看成列向量。
重新理解座標(a,b) = a * (1, 0) + b*(0,1);
矩陣的逆制。
cmath中-Pi, Pi
點和向量非常不同。
不要寫兩個結構。
點可以假設成從(0,0)出發的向量。
利用矢量表示。
!!一個點和一個方向向量表示直線!!
視實際情況而定。
直線相交
如果兩條直線平行則不想交
點選=0是垂直。
重合即平行加點相同。
!!排除部分情況。
簡單多邊形的三角化
三角剖分
既有正部分,也有負部分。
求質點組的重心
(a+b+c)/3
把三角形轉換成為質點
凸集
!!大膽猜想,不用求證。
水平序Grahan掃描演算法
不容易出錯。
旋轉卡殼演算法
如何計算n個點中,距離最大的兩個點的距離?
對種點,是一個二元關係。
半平面,一辦平面。
高維度空間可以被n-1維空間切開。