請從 3 邊 a、b、c 和 3 角 A、B、C(單位是度)中,輸入已知的 3 個(至少 1 個是邊)。邊 a 在角 A 的對面(對邊),邊 b 在角 B 的對面,邊 c 在角 C 的對面。
這個頁面可以做什麼
- 從三角形的 3 邊 \(a, b, c\) 和 3 角 \(A, B, C\) 中,只要輸入已知的 3 個(至少 1 個是邊),其餘的邊和角就全部知道(輸入 3 邊時,會先檢查是否符合三角形成立的條件)
- 面積、周長、半周長、3 個方向的高、3 條中線,以及內切圓與外接圓的半徑,一次全部算出
- 也會自動判斷「正三角形、等腰三角形、不等邊三角形」和「銳角三角形、直角三角形、鈍角三角形」的分類
- 輸入「兩邊及其中一邊的對角」(SSA)時,若三角形有 2 種可能,兩個解都會顯示(高中有名的「兩解」問題)
- 餘弦定理、正弦定理、海龍公式的淺顯解說,以及可直接複製到 Excel、Google 試算表和 Python 使用的公式,都整理在這個頁面
這個計算有什麼用?
到河對岸目標物的距離,就算無法直接拉捲尺也能算出。在這一岸拉一條 100 公尺的基線,從基線兩端測量看目標物的角度,就得到一個已知 100 公尺的邊和 2 個角的三角形。如果角度是 50° 和 60°,剩下的角是 70°,用正弦定理就能求出到目標物的距離是 \(100 \times \sin 50^\circ \div \sin 70^\circ \approx 81.5\) 公尺。
測量人員使用的全站儀,以及製作地圖基礎的三角測量,正是這種計算的累積。
三角形的土地,就算沒有量角度的工具,只用一條捲尺就能知道面積。3 邊是 30 公尺、40 公尺、50 公尺時,半周長是 60 公尺,面積是 \(\sqrt{60 \times 30 \times 20 \times 10} = 600\) 平方公尺(約 181.5 坪)。
「邊長連外行人也能量得準」,正是海龍公式在實務上受歡迎的原因,現在也還能用來大致確認農地或建地的面積。
屋頂的斜面、樓梯、斜撐等,建築物裡有很多斜向的構件。水平 3 公尺、高 2 公尺的單斜屋頂,斜面的長度是 \(\sqrt{3^2 + 2^2} \approx 3.61\) 公尺(因為是直角,餘弦定理的修正項消失,就是畢氏定理)。
在切木材之前先算好長度和角度,就能減少材料浪費和現場重工。
工廠的機械手臂,本身就是「2 根手臂連桿和中間的關節角度」構成的三角形。連桿長 50 公分和 30 公分、關節張開 120° 時,用餘弦定理求出從底座到手部前端的距離是 \(\sqrt{50^2 + 30^2 - 2 \times 50 \times 30 \times \cos 120^\circ} = 70\) 公分。
為了把手部移到目標位置而反推關節角度的計算(逆向運動學),也以餘弦定理的變形為基本零件。
到恆星的距離,是用一個非常細長的三角形來測量:以地球繞太陽公轉半年所移動的距離為底邊(這稱為周年視差)。由底邊和角度的微小偏移推算距離的想法,和本頁「由 1 邊和角求其餘」的計算相同。
「只要能解三角形,就能知道到無法前往的地方的距離」——從土地測量到宇宙都適用,是幾何學最強大的應用之一。
公式與圖
符號與用語解說
符號
| \(a, b, c\) | a, b, c(小寫) | 三角形 3 個邊的長度。數學上習慣用同一個字母的大小寫互相對應,例如邊 a 在角 A 的對面(對邊)。 |
| \(A, B, C\) | A, B, C(大寫) | 三角形的 3 個內角(單位是度),3 個相加一定是 180°。 |
| \(S\) | S | 三角形的面積(課本中也常寫成「△ABC 的面積」)。 |
| \(s\) | s(小寫) | 半周長,也就是周長(\(a+b+c\))的一半。用於海龍公式和內切圓半徑的計算。 |
| \(\sin\theta\) | sine theta(正弦) | 三角比之一。在直角三角形中表示「高相對於斜邊的比值」,用來由角度求出垂直方向的成分。\(\sin 30^\circ = 0.5\)、\(\sin 90^\circ = 1\)。 |
| \(\cos\theta\) | cosine theta(餘弦) | 三角比之一。在直角三角形中表示「底邊相對於斜邊的比值」。\(\cos 60^\circ = 0.5\)、\(\cos 90^\circ = 0\)。餘弦定理的「餘弦」就是 cosine。 |
| \(r\) | r(小寫) | 內切圓(從內側與 3 邊都相切的圓)的半徑。 |
| \(R\) | R(大寫) | 外接圓(通過 3 個頂點的圓)的半徑。 |
用語
| 對邊 | 某個角對面的邊,稱為那個角的「對邊」。本頁中邊 a 是角 A 的對邊,邊 b 是角 B 的對邊,邊 c 是角 C 的對邊。 |
| 對角 | 某個邊對面的角,稱為那個邊的「對角」。本頁中角 A 是邊 a 的對角,角 B 是邊 b 的對角,角 C 是邊 c 的對角。 |
| 內角和 | 三角形 3 個內角相加一定是 180° 的性質。只要知道 2 個角,剩下的角用減法就能求出。 |
| 三角形成立的條件 | 3 個長度能構成三角形的條件,也就是「任兩邊之和大於第三邊」(三角不等式)。例如 1、2、4,因為 1+2=3 小於 4,所以無法構成三角形。 |
| 餘弦定理 | 由兩邊及其夾角求第三邊的定理 \(c^2 = a^2 + b^2 - 2ab\cos C\)。它把畢氏定理推廣到沒有直角的三角形,變形後也能由 3 邊求角。在高中數學學到。 |
| 正弦定理 | 「邊 ÷ 對角的正弦」3 組都相等,而且等於外接圓直徑 \(2R\) 的定理。只要知道一個邊和它的對角,就能以它為橋梁求出其他的邊和角。在高中數學學到。 |
| 海龍公式 | 不用角度、只靠 3 邊長就能求出面積的公式,以古希臘數學家海龍(Heron,也譯作希羅)命名。 |
| 半周長 | 三角形周長的一半,出現在海龍公式和內切圓半徑的公式中。 |
| 內切圓 | 從內側與三角形 3 邊都相切的圓。圓心(內心)是 3 個角的角平分線的交點。 |
| 外接圓 | 通過三角形 3 個頂點的圓。圓心(外心)是 3 邊的垂直平分線的交點。 |
| 中線 | 連接三角形頂點與其對邊中點的線段。3 條中線交於一點(重心)。 |
| 銳角三角形 | 最大的內角小於 90° 的三角形。依內角的大小,三角形分為銳角、直角、鈍角三角形 3 類。 |
| 直角三角形 | 最大的內角剛好是 90° 的三角形。依內角的大小,三角形分為銳角、直角、鈍角三角形 3 類。 |
| 鈍角三角形 | 最大的內角大於 90° 的三角形。依內角的大小,三角形分為銳角、直角、鈍角三角形 3 類。 |
建議先了解的基礎知識
為了能「理解意義」地使用本頁的計算,這裡整理了建議事先了解的基礎知識。
內角和和海龍公式,用國中以前的知識就能使用;餘弦定理和正弦定理是高中的內容。
| 三角形的角(國小~國中) |
|
| 平方根(國中二年級,13~14 歲) |
|
| 畢氏定理(國中二年級,13~14 歲) |
|
| 三角比(高中,15~18 歲) |
|
| 正弦定理與餘弦定理(高中,15~18 歲) |
|
用 Excel 計算的方法
| 角 A(度) | 50 |
| 角 B(度) | 60 |
| 剩下的角 C(度) | =180-B1-B2 |
| 邊 a | 5 |
| 邊 b | 7 |
| 夾角 C(度) | 60 |
| 第三邊 c | =SQRT(B1^2+B2^2-2*B1*B2*COS(RADIANS(B3))) |
| 邊 a | 6 |
| 它的對角 A(度) | 45 |
| 角 B(度) | 60 |
| 邊 b | =B1*SIN(RADIANS(B3))/SIN(RADIANS(B2)) |
| 邊 a | 8 |
| 邊 b | 5 |
| 夾角 C(度) | 30 |
| 面積 S | =B1*B2*SIN(RADIANS(B3))/2 |
| 邊 a | 3 |
| 邊 b | 4 |
| 邊 c | 5 |
| 半周長 s | =(B1+B2+B3)/2 |
| 面積 S | =SQRT(B4*(B4-B1)*(B4-B2)*(B4-B3)) |
| 面積 S | 6 |
| 半周長 s | 6 |
| 內切圓半徑 r | =B1/B2 |
| 邊 a | 3 |
| 邊 b | 4 |
| 邊 c | 5 |
| 面積 S | 6 |
| 外接圓半徑 R | =B1*B2*B3/(4*B4) |
Excel 的 COS 和 SIN 接收的角度是弧度,所以中間用 RADIANS 函數把度換成弧度。SQRT 是平方根。
例如第二個表格的 B4 會顯示約 6.245。把輸入的數字換成您自己的值即可。
用 Google 試算表計算的方法
| 角 A(度) | 50 |
| 角 B(度) | 60 |
| 剩下的角 C(度) | =180-B1-B2 |
| 邊 a | 5 |
| 邊 b | 7 |
| 夾角 C(度) | 60 |
| 第三邊 c | =SQRT(B1^2+B2^2-2*B1*B2*COS(RADIANS(B3))) |
| 邊 a | 6 |
| 它的對角 A(度) | 45 |
| 角 B(度) | 60 |
| 邊 b | =B1*SIN(RADIANS(B3))/SIN(RADIANS(B2)) |
| 邊 a | 8 |
| 邊 b | 5 |
| 夾角 C(度) | 30 |
| 面積 S | =B1*B2*SIN(RADIANS(B3))/2 |
| 邊 a | 3 |
| 邊 b | 4 |
| 邊 c | 5 |
| 半周長 s | =(B1+B2+B3)/2 |
| 面積 S | =SQRT(B4*(B4-B1)*(B4-B2)*(B4-B3)) |
| 面積 S | 6 |
| 半周長 s | 6 |
| 內切圓半徑 r | =B1/B2 |
| 邊 a | 3 |
| 邊 b | 4 |
| 邊 c | 5 |
| 面積 S | 6 |
| 外接圓半徑 R | =B1*B2*B3/(4*B4) |
請把整個表格複製貼到 A1 儲存格,再把輸入的數字換成您自己的值。
用 Python 計算的方法
import math
side_a = 3.0 # 邊 a
side_b = 4.0 # 邊 b
side_c = 5.0 # 邊 c(已知 3 邊的例子)
# 用餘弦定理的變形求 3 個角(單位:度)
angle_a = math.degrees(math.acos((side_b**2 + side_c**2 - side_a**2) / (2 * side_b * side_c)))
angle_b = math.degrees(math.acos((side_a**2 + side_c**2 - side_b**2) / (2 * side_a * side_c)))
angle_c = 180 - angle_a - angle_b
# 用海龍公式求面積
half_perimeter = (side_a + side_b + side_c) / 2
area = math.sqrt(half_perimeter * (half_perimeter - side_a)
* (half_perimeter - side_b) * (half_perimeter - side_c))
inradius = area / half_perimeter # 內切圓半徑
circumradius = side_a * side_b * side_c / (4 * area) # 外接圓半徑
print(f"角 A = {angle_a}°,角 B = {angle_b}°,角 C = {angle_c}°")
print(f"面積 = {area}")
print(f"內切圓半徑 = {inradius},外接圓半徑 = {circumradius}")
用 LaTeX 等數學式語言的寫法(可直接複製)
A + B + C = 180°
A + B + C = 180^\circ
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>A</mi><mo>+</mo><mi>B</mi><mo>+</mo><mi>C</mi>
<mo>=</mo>
<mn>180</mn><mo>°</mo>
</mrow>
</math>
A + B + C = 180^@
angleA + angleB + angleC == 180
A + B + C = 180;
C = 180 - A - B;
A + B + C = 180°
c² = a² + b² − 2ab·cos C
c^{2} = a^{2} + b^{2} - 2ab\cos C
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msup><mi>c</mi><mn>2</mn></msup>
<mo>=</mo>
<msup><mi>a</mi><mn>2</mn></msup>
<mo>+</mo>
<msup><mi>b</mi><mn>2</mn></msup>
<mo>−</mo>
<mn>2</mn><mi>a</mi><mi>b</mi>
<mi>cos</mi><mo>⁡</mo><mi>C</mi>
</mrow>
</math>
c^2 = a^2 + b^2 - 2ab cos C
cSide = Sqrt[a^2 + b^2 - 2 a b Cos[angleC Degree]]
c := sqrt(a^2 + b^2 - 2*a*b*cos(C*Pi/180));
c = sqrt(a^2 + b^2 - 2*a*b*cosd(C));
c^2 = a^2 + b^2 - 2ab cos(C)
a/sin A = b/sin B = c/sin C = 2R
\dfrac{a}{\sin A} = \dfrac{b}{\sin B} = \dfrac{c}{\sin C} = 2R
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mfrac><mi>a</mi><mrow><mi>sin</mi><mo>⁡</mo><mi>A</mi></mrow></mfrac>
<mo>=</mo>
<mfrac><mi>b</mi><mrow><mi>sin</mi><mo>⁡</mo><mi>B</mi></mrow></mfrac>
<mo>=</mo>
<mfrac><mi>c</mi><mrow><mi>sin</mi><mo>⁡</mo><mi>C</mi></mrow></mfrac>
<mo>=</mo>
<mn>2</mn><mi>R</mi>
</mrow>
</math>
a/sin A = b/sin B = c/sin C = 2R
bSide = a Sin[angleB Degree]/Sin[angleA Degree]
b := a*sin(B*Pi/180)/sin(A*Pi/180);
b = a*sind(B)/sind(A);
a/sin(A) = b/sin(B) = c/sin(C) = 2R
S = (1/2)·ab·sin C
S = \frac{1}{2}ab\sin C
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>S</mi>
<mo>=</mo>
<mfrac><mn>1</mn><mn>2</mn></mfrac>
<mi>a</mi><mi>b</mi>
<mi>sin</mi><mo>⁡</mo><mi>C</mi>
</mrow>
</math>
S = 1/2 ab sin C
area = (1/2) a b Sin[angleC Degree]
S := (1/2)*a*b*sin(C*Pi/180);
S = a*b*sind(C)/2;
S = (1/2)ab sin(C)
s = (a+b+c)/2, S = √(s(s−a)(s−b)(s−c))
s = \frac{a+b+c}{2}, \quad S = \sqrt{s(s-a)(s-b)(s-c)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>S</mi>
<mo>=</mo>
<msqrt>
<mi>s</mi>
<mo>(</mo><mi>s</mi><mo>−</mo><mi>a</mi><mo>)</mo>
<mo>(</mo><mi>s</mi><mo>−</mo><mi>b</mi><mo>)</mo>
<mo>(</mo><mi>s</mi><mo>−</mo><mi>c</mi><mo>)</mo>
</msqrt>
</mrow>
</math>
S = sqrt(s(s-a)(s-b)(s-c))
area = Sqrt[s (s - a) (s - b) (s - c)] /. s -> (a + b + c)/2
s := (a+b+c)/2; S := sqrt(s*(s-a)*(s-b)*(s-c));
s = (a+b+c)/2; S = sqrt(s*(s-a)*(s-b)*(s-c));
S = √(s(s-a)(s-b)(s-c))
r = S/s
r = \dfrac{S}{s}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>r</mi>
<mo>=</mo>
<mfrac><mi>S</mi><mi>s</mi></mfrac>
</mrow>
</math>
r = S/s
inradius = area/s
r := S/s;
r = S/s;
r = S/s
R = abc/(4S)
R = \dfrac{abc}{4S}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>R</mi>
<mo>=</mo>
<mfrac>
<mrow><mi>a</mi><mi>b</mi><mi>c</mi></mrow>
<mrow><mn>4</mn><mi>S</mi></mrow>
</mfrac>
</mrow>
</math>
R = (abc)/(4S)
circumradius = a b c/(4 area)
R := a*b*c/(4*S);
R = a*b*c/(4*S);
R = abc/(4S)
請 ChatGPT 幫忙計算的方法
你是三角形的計算助理。請實際執行 Python 程式碼來進行以下計算,並且只根據執行結果的數值作答(不要用心算或猜測作答)。 某三角形中,邊 a = 7、邊 b = 10、角 A = 40°(角 A 是邊 a 的對角)。 1. 用正弦定理求角 B。注意,這個條件下三角形可能有 2 種(兩解的情形)。如果有 2 個解,請兩個都列出。 2. 對每個解,求出剩下的角 C、邊 c 和面積。 請用表格列出使用的公式和執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權