一.注意
1. 注意捨入方式(0.5的捨入方向);防止輸出-0.
2. 幾何題注意多測試不對稱資料.
3. 整數幾何注意xmult和dmult是否會出界; 符點幾何注意eps的使用.
4. 避免使用斜率;注意除數是否會為0.
5. 公式一定要化簡後再代入.
6. 判斷同乙個2*pi域內
兩角度差應該是
abs(a1-a2)pi+pi-beta;
相等應該是
abs(a1-a2)pi+pi-eps;
7. 需要的話盡量使用atan2,注意:atan2(0,0)=0,
atan2(1,0)=pi/2,atan2(-1,0)=-pi/2,atan2(0,1)=0,atan2(0,-1)=pi.
8. cross product = |u|*|v|*sin(a)
dot product = |u|*|v|*cos(a)
9. (p1-p0)x(p2-p0)結果的意義:
正: 在順時針(0,pi)內
負: 在逆時針(0,pi)內
0 : ,共線,夾角為0或pi
10. 誤差限預設使用1e-8!
二.幾何公式
三角形:
1. 半周長 p=(a+b+c)/2
2. 面積 s=aha/2=absin(c)/2=sqrt(p(p-a)(p-b)(p-c))
3. 中線 ma=sqrt(2(b^2+c^2)-a^2)/2=sqrt(b^2+c^2+2bccos(a))/2
4. 角平分線 ta=sqrt(bc((b+c)^2-a^2))/(b+c)=2bccos(a/2)/(b+c)
5. 高線 ha=bsin(c)=csin(b)=sqrt(b^2-((a^2+b^2-c^2)/(2a))^2)
6. 內切圓半徑 r=s/p=asin(b/2)sin(c/2)/sin((b+c)/2)
=4rsin(a/2)sin(b/2)sin(c/2)=sqrt((p-a)(p-b)(p-c)/p)
=ptan(a/2)tan(b/2)tan(c/2)
7. 外接圓半徑 r=abc/(4s)=a/(2sin(a))=b/(2sin(b))=c/(2sin(c))
四邊形:
d1,d2為對角線,m對角線中點連線,a為對角線夾角
1. a^2+b^2+c^2+d^2=d1^2+d2^2+4m^2
2. s=d1d2sin(a)/2
(以下對圓的內接四邊形)
3. ac+bd=d1d2
4. s=sqrt((p-a)(p-b)(p-c)(p-d)),p為半周長
正n邊形:
r為外接圓半徑,r為內切圓半徑
1. 中心角 a=2pi/n
2. 內角 c=(n-2)pi/n
3. 邊長 a=2sqrt(r^2-r^2)=2rsin(a/2)=2rtan(a/2)
4. 面積 s=nar/2=nr^2tan(a/2)=nr^2sin(a)/2=na^2/(4tan(a/2))
圓: 1. 弧長 l=ra
2. 弦長 a=2sqrt(2hr-h^2)=2rsin(a/2)
3. 弓形高 h=r-sqrt(r^2-a^2/4)=r(1-cos(a/2))=atan(a/4)/2
4. 扇形面積 s1=rl/2=r^2a/2
5. 弓形面積 s2=(rl-a(r-h))/2=r^2(a-sin(a))/2
稜柱:
1. 體積 v=ah,a為底面積,h為高
2. 側面積 s=lp,l為稜長,p為直截面周長
3. 全面積 t=s+2a
稜錐:
1. 體積 v=ah/3,a為底面積,h為高
(以下對正稜錐)
2. 側面積 s=lp/2,l為斜高,p為底面周長
3. 全面積 t=s+a
稜臺:
1. 體積 v=(a1+a2+sqrt(a1a2))h/3,a1.a2為上下底面積,h為高(以下為正稜臺)
2. 側面積 s=(p1+p2)l/2,p1.p2為上下底面周長,l為斜高
3. 全面積 t=s+a1+a2
圓柱:
1. 側面積 s=2pirh
2. 全面積 t=2pir(h+r)
3. 體積 v=pir^2h
圓錐:
1. 母線 l=sqrt(h^2+r^2)
2. 側面積 s=pirl
3. 全面積 t=pir(l+r)
4. 體積 v=pir^2h/3
圓台:
1. 母線 l=sqrt(h^2+(r1-r2)^2)
2. 側面積 s=pi(r1+r2)l
3. 全面積 t=pir1(l+r1)+pir2(l+r2)
4. 體積 v=pi(r1^2+r2^2+r1r2)h/3
球: 1. 全面積 t=4pir^2
2. 體積 v=4pir^3/3
球檯:
1. 側面積 s=2pirh
2. 全面積 t=pi(2rh+r1^2+r2^2)
3. 體積 v=pih(3(r1^2+r2^2)+h^2)/6
球扇形:
1. 全面積 t=pir(2h+r0),h為球冠高,r0為球冠底面半徑
2. 體積 v=2pir^2h/3
計算幾何求公式
例題1 poj 1380 矩陣的包含 給你兩個矩陣的長和寬,問前面這個矩陣能否包含後面這個矩陣。1 當前面的矩陣的寬 小於後面這個矩陣的寬時,不能包含。2 當前面矩陣的面積 後面矩陣的面積,不能包含。3 當前面矩陣的長,寬 後矩陣的長,寬,能夠包含。4 特別注意前矩陣寬 後矩陣的寬,但是長 後矩陣的...
計算幾何公式 定理
1.餘弦定理 cos a b c a 2bc 2.海 式 假設在平面內,有乙個三角形,邊長分別為a b c,三角形的面積s可由以下公式求得 s sqrt s1 s1 a s1 b s1 c 其中s1表示的是三角形的周長的一半。3.已知三邊和內切圓或外切圓求面積 s abc 4r 其中r是三角形外接圓...
計算幾何公式集錦
1 計算多邊形重心方法 1 劃分多邊形為三角形 以多邊形的乙個頂點v為源點 v可取輸入的第乙個頂點 作鏈結v與所有非相鄰頂點的線段,即將原n邊形或分為 n 2 個三角形 2 求每個三角形的重心和面積 設某個三角形的重心為g cx,cy 頂點座標分別為a1 x1,y1 a2 x2,y2 a3 x3,y...