【Python】三平方の定理

Python,数学

皆さん、三平方の定理って覚えていますか?
名前をなんとなく憶えているけどーなんだっけ?
という風に正直、自分はもうほとんど忘れていました

三平方の定理とは
直角三角形の直角を挟む2辺の長さをA, Bとし、斜辺をCとすると
C^2 = A^2 + B^2
が成り立つことをいいます
※A^2はAの二乗のことを指します。2^2(2の二乗)は4、2^3(2の三乗)は6です

さて、PySidePySideとばっかり叫んでいた私が突然こんなものを書いたのには理由があります
というのもここ最近、sinやcosやらベクトルやらうんたらかんたらと
使うことが多くなってきまして、どうせならメモ代わりに書いていこうと思った次第です
そんなこんなでpythonを使って三平方の定理を使うにはどういう風にやればいいのかをやっていきましょ

上の図のような∠ACBが90°の直角三角形ABCにおいて
辺AB=3.0、辺AC=2.0とするとき、辺BCの値を求めたい場合
C^2 = A^2 + B^2に当てはめると
辺AB^2 = 辺BC^2 + 辺AC^2
になります

求めたい辺は辺BCなので等式変形してあげます
辺BC^2 = 辺AB^2 - 辺AC^2
pythonでそれを記述すると

AC = 2.0
AB = 3.0
BC = (AB**2 - AC**2)

このままだとBCは二乗のままなので平方根を求めます
※2乗したらxになる数のことを、xの平方根といいます
平方根を求めるときはmathを使います
試しに9の平方根を求めてみます

import math
print math.sqrt(9)

問題なければ3が返されているはずです
ではこれをベースにBCの平方根を求めてみましょう

import math
AC = 2.0
AB = 3.0
BC = math.sqrt(AB**2 - AC**2)
print BC

BC=2.2360679775となったでしょうか?
この実は三角形の辺BCの長さは√5になるのですが
本当にこの数字が√5なのかどうかグーグルで検索かけてみると

ちゃんと√5=2.2360679775となっていますね

ということで三平方の定理は以上となります
前の方にも記述しましたが直角三角形の場合、三平方の定理が使用できるのですが
直角三角形でない三角形の場合では使用できませんのでご注意ください
そのうちsin,cos,tan,asin,acos,atanを使ったものを書いていきたいと思います


三平方の定理、平方根√をもう少し詳しく見たい方は下のリンクを読むと分かるかと思います

三平方の定理を詳しく解説
平方根√とは何か