LoginSignup
18
17

More than 5 years have passed since last update.

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

Posted at

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

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

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

参考サイト

18
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
17