JavaScript
CoffeeScript
三角関数

三角関数を使って特定の値を求める

More than 3 years have passed since last update.

座標計算する時に使うので、ひと通りまとめてみた。
やっつけで書いたんで、実際に使ってないのは間違ってるかも。

###
斜辺を求める
###

# 底辺と角度から
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

参考サイト

http://keisan.casio.jp/has10/Menu.cgi?path=04000000.%90%94%8Aw%8C%F6%8E%AE%8FW%2F02000100.%8EO%8Ap%8A%D6%90%94%81i%93x%81j