橢圓弓形面積計算機的功能
這是一款通用的幾何計算工具,適用於半軸為 a(沿 x 軸)與 b(沿 y 軸)的橢圓。你只要從中心出發,給定兩個點的極角 theta0 與 theta1,計算機就會傳回三項結果:由橢圓弧與兩點之間的弦所圍成的弓形面積 S、兩點之間的直線弦長 c,以及兩點之間的橢圓弧長 L。
使用方式
輸入半軸 a 與 b、起始角 theta0 與終止角 theta1,並選擇角度的單位(度或弧度)。兩個角度必須使用相同單位。這裡的角度是極角(中心方向),而非參數角(離心角),因此某一點的位置為 P(theta) = (r(theta)cos theta, r(theta)sin theta),其中 r(theta) 是沿該射線方向,從中心到橢圓邊界的距離。
計算公式
中心半徑:r(theta) = sqrt(a^2 b^2 / (b^2 cos^2 theta + a^2 sin^2 theta))。令 r0 = r(theta0)、r1 = r(theta1):
弦長:c = sqrt(r0^2 + r1^2 - 2 r0 r1 cos(theta1 - theta0))(餘弦定理)。
弓形面積:S = F(theta1) - F(theta0) - (r0 r1 / 2) sin(theta1 - theta0),其中扇形原函數為 F(theta) = (a b / 2)[theta - atan(((b - a) sin 2theta)/(b + a + (b - a) cos 2theta))]。以扇形面積減去中心三角形面積,剩下的便是弓形面積。
弧長:L 為橢圓弧長,做法是將 ds = sqrt(r^2 + (dr/dtheta)^2) dtheta 從 theta0 到 theta1 進行數值積分(複合辛普森法,2000 個區間),其結果與第二類不完全橢圓積分在顯示精度上完全一致。
實例演算
設 a = 3、b = 2、theta0 = 0 度、theta1 = 90 度:可得 r0 = 3、r1 = 2。弦長 c = sqrt(9 + 4 - 0) = sqrt(13) = 3.6055512755。扇形面積即四分之一橢圓 = pi*a*b/4 = 1.5pi = 4.7123889804,三角形面積為 3,所以 S = 1.7123889804。四分之一橢圓的弧長 L = 3.9663598973。
常見問題
theta 是參數角嗎?不是——它是從中心量起的極角,因此 r(theta) 代表的是中心到曲線的實際距離。
如果 a = b 會怎樣?此時橢圓退化為圓:L = a|theta1 - theta0|,而 S = (a^2/2)(|theta1 - theta0| - sin|theta1 - theta0|)。
為什麼弧長要用數值方法計算?橢圓弧長沒有初等的封閉解;改用數值積分即可在不依賴特殊函數程式庫的情況下,重現多位有效數字的精確結果。