計算幾何公式總結

2021-07-17 04:05:15 字數 2787 閱讀 1147

一.注意

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...