座標計算する時に使うので、ひと通りまとめてみた。
やっつけで書いたんで、実際に使ってないのは間違ってるかも。
###
斜辺を求める
###
# 底辺と角度から
getHypotenuseFromBaAn = (base, angle) ->
base / Math.sin(angle)
# 高さと角度から
getHypotenuseFromHeAn = (height, angle) ->
height / Math.sin(angle)
# 底辺と高さから
getHypotenuseFromBaHe = (base, height) ->
Math.sqrt Math.pow(base, 2) + Math.pow(height, 2)
###
高さを求める
###
# 底辺と角度から
getHeightFromBaAn = (base, angle) ->
base * Math.tan(angle)
# 斜辺と角度から
getHeightFromHyAn = (hypotenuse, angle) ->
hypotenuse * Math.sin(angle)
# 底辺と斜辺から
getHeightFromBaHy = (base, hypotenuse) ->
Math.sqrt Math.pow(hypotenuse, 2) - Math.pow(base, 2)
###
底辺を求める
###
# 高さと角度から
getBaseFromHeAn = (height, angle) ->
height / Math.tan(angle)
# 斜辺と角度から
getBaseFromHyAn = (hypotenuse, angle) ->
hypotenuse * Math.cos(angle)
# 高さと斜辺から
getBaseFromHeHy = (height, hypotenuse) ->
Math.sqrt Math.pow(hypotenuse, 2) - Math.pow(height, 2)
###
角度を求める
###
# 底辺と高さから
getAngleFromBaHe = (base, height) ->
Math.atan2 height, base
# 底辺と斜辺から
getAngleFromBaHy = (base, hypotenuse) ->
Math.acos base / hypotenuse
# 高さと斜辺から
getAngleFromHeHy = (height, hypotenuse) ->
Math.asin height / hypotenuse
参考サイト