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本の中線・内接円/外接円の半径まで、まとめて一度に計算します
- 「正三角形・二等辺三角形・不等辺三角形」「鋭角・直角・鈍角三角形」の分類も自動で判定します
- 「2辺とその一方の対角」の入力で三角形が2通り考えられる場合は、両方の解を表示します(高校 数学Iの有名な論点です)
- 余弦定理・正弦定理・ヘロンの公式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
川の対岸の目標物までの距離は、直接メジャーを引けなくても計算できます。こちら岸に100mの基線を引き、その両端から目標物を見た角度を測ると、100mの辺と2つの角がわかった三角形になります。角度が50°と60°なら残りの角は70°、目標物までの距離は正弦定理で \(100 \times \sin 50^\circ \div \sin 70^\circ \fallingdotseq 81.5\) m と求まります。
測量士が使うトータルステーションや、地図づくりの土台になった三角測量は、まさにこの計算の積み重ねです。
三角形の土地は、角度を測る道具がなくてもメジャー1本で面積がわかります。3辺が30m・40m・50mなら、半周長は60mで、面積は \(\sqrt{60 \times 30 \times 20 \times 10} = 600\) m²です。
「辺の長さなら素人でも正確に測れる」というのがヘロンの公式が実務で愛されてきた理由で、農地や宅地のおおまかな面積確認に今でも役立ちます。
屋根の斜面、階段、突っ張り棒代わりの筋交いなど、建物には斜めの部材がたくさんあります。水平方向3m・高さ2mの片流れ屋根なら、斜面の長さは \(\sqrt{3^2 + 2^2} \fallingdotseq 3.61\) m(直角なので余弦定理の補正項が消えた形=三平方の定理)。
木材を切る前に長さと角度を計算しておけば、材料の無駄も現場での手戻りも減らせます。
工場のロボットアームは「腕のリンク2本と、その間の関節の角度」という三角形そのものです。リンクが50cmと30cmで関節を120°に開くと、根元から手先までの距離は余弦定理で \(\sqrt{50^2 + 30^2 - 2 \times 50 \times 30 \times \cos 120^\circ} = 70\) cm。
手先を目的の位置に動かすために関節の角度を逆算する計算(逆運動学)も、余弦定理の変形が基本部品になっています。
恒星までの距離は、地球が太陽の周りを半年かけて公転で移動した距離を底辺とする、非常に細長い三角形を使って測ります(年周視差といいます)。底辺と角度のずれから距離を割り出す考え方は、このページの「1辺と角から残りを求める」計算と同じです。
「三角形が解ければ、直接行けない場所までの距離がわかる」——測量から宇宙まで通用する、幾何学の一番強力な応用の一つです。
式と図
用語・記号の解説
記号
| \(a, b, c\) | エー・ビー・シー(小文字) | 三角形の3つの辺の長さ。辺aは角Aの向かい側(対辺)、というように同じ文字の大小で対応させるのが数学の慣例です。 |
| \(A, B, C\) | エー・ビー・シー(大文字) | 三角形の3つの内角(単位は度)。3つを足すと必ず180°になります。 |
| \(S\) | エス | 三角形の面積。 |
| \(s\) | エス(小文字) | 半周長。周りの長さ(\(a+b+c\))の半分で、ヘロンの公式や内接円の半径の計算に使います。 |
| \(\sin\theta\) | サイン・シータ | 三角比の一つ。直角三角形で「斜辺に対する高さの割合」を表し、角度から高さ方向の成分を取り出すのに使います。\(\sin 30^\circ = 0.5\)、\(\sin 90^\circ = 1\) です。 |
| \(\cos\theta\) | コサイン・シータ | 三角比の一つ。直角三角形で「斜辺に対する底辺の割合」を表します。\(\cos 60^\circ = 0.5\)、\(\cos 90^\circ = 0\) です。余弦定理の「余弦」はコサインのことです。 |
| \(r\) | アール(小文字) | 内接円(3辺すべてに内側から接する円)の半径。 |
| \(R\) | アール(大文字) | 外接円(3つの頂点すべてを通る円)の半径。 |
用語
| 対辺 | たいへん | ある角の向かい側にある辺を、その角の「対辺」といいます。このページでは辺aが角A、辺bが角B、辺cが角Cの対辺です。 |
| 対角 | たいかく | ある辺の向かい側にある角を、その辺の「対角」といいます。このページでは角Aが辺a、角Bが辺b、角Cが辺cの対角です。 |
| 内角の和 | ないかくのわ | 三角形の3つの内角を足すと必ず180°になるという性質。2つの角がわかれば残りは引き算で求められます。 |
| 三角形の成立条件 | さんかっけいのせいりつじょうけん | 3つの長さから三角形が作れるための条件で、「どの2辺の和も残りの辺より大きい」こと(三角不等式)。例えば1・2・4では 1+2=3 が4より小さいので三角形になりません。 |
| 余弦定理 | よげんていり | 2辺とはさむ角から残りの辺を求める定理 \(c^2 = a^2 + b^2 - 2ab\cos C\) です。三平方の定理を直角以外の三角形に拡張したもので、変形すれば3辺から角も求められます。高校 数学Iで学びます。 |
| 正弦定理 | せいげんていり | 「辺 ÷ 対角のサイン」が3組とも等しく、外接円の直径 \(2R\) になるという定理。1辺とその対角がわかれば、他の辺・角への橋渡しができます。高校 数学Iで学びます。 |
| ヘロンの公式 | へろんのこうしき | 角度を使わずに3辺の長さだけで面積を求められる公式。古代ギリシャの数学者ヘロンにちなんだ名前です。 |
| 半周長 | はんしゅうちょう | 三角形の周りの長さの半分。ヘロンの公式と内接円の半径の式に登場します。 |
| 内接円 | ないせつえん | 三角形の3辺すべてに内側から接する円。中心(内心)は3つの角の二等分線が交わる点です。 |
| 外接円 | がいせつえん | 三角形の3つの頂点すべてを通る円。中心(外心)は3辺の垂直二等分線が交わる点です。 |
| 中線 | ちゅうせん | 三角形の頂点と、その向かい側の辺の中点を結んだ線分。3本の中線は1点(重心)で交わります。 |
| 鋭角三角形 | えいかくさんかっけい | 一番大きい内角が90°より小さい三角形。内角の大きさで、鋭角・直角・鈍角三角形の3つに分類されます。 |
| 直角三角形 | ちょっかくさんかっけい | 一番大きい内角がちょうど90°の三角形。内角の大きさで、鋭角・直角・鈍角三角形の3つに分類されます。 |
| 鈍角三角形 | どんかくさんかっけい | 一番大きい内角が90°より大きい三角形。内角の大きさで、鋭角・直角・鈍角三角形の3つに分類されます。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
内角の和とヘロンの公式までは中学までの知識で使えます。余弦定理・正弦定理は高校 数学Iの内容です。
| 三角形の角(小学5年〜中学2年) |
|
| 平方根(中学3年) |
|
| 三平方の定理(中学3年) |
|
| 三角比(高校 数学I) |
|
| 正弦定理・余弦定理(高校 数学I) |
|
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は平方根(ルート)です。
例えば2つ目の表なら、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の特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
