SYNCERのロゴ
アイキャッチ画像

Math.atan2() - X軸から対象点までの角度

Math.atan2()は、逆正接(アークタンジェント)を求めるメソッドです。引数の指定方法が違うだけで、atan()と同じです。直角三角形の隣辺BをX座標、対辺CをY座標と見立てた座標空間上で、第1引数にY座標、第2引数にX座標を指定します。2つの引数をY÷Xという計算で比率に変換し、この比率でアークタンジェントの計算をします。

概要

名前
atan2
所属
Math
仕様書
https://tc39.github.io/ecma262/#sec-math.atan2

説明

Math.atan2 ( y, x )

引数yとxの商y/xの逆正接への実装依存の近似を返します。引数がy、xの順なのは歴史的な理由からです。 結果はラジアン単位で表され、-π〜+πの範囲です。

  • x、またはyがNaNの場合、NaNを返します。
  • y>0でxが+0の場合、+π/2の近似値を返します。
  • y>0でxが-0の場合、-π/2の近似値を返します。
  • yが+0でx>0の場合、+0を返します。
  • yが+0でxが+0の場合、+0を返します。
  • yが+0でxが-0の場合、+πの近似値を返します。
  • yが+0でx<0の場合、+πの近似値を返します。
  • yが-0でx>0の場合、-0を返します。
  • yが-0でxが+0の場合、-0を返します。
  • yが-0でxが-0の場合、-πの近似値を返します。
  • yが-0でx<0の場合、-πの近似値を返します。
  • y<0でxが+0の場合、-π/2の近似値を返します。
  • y<0でxが-0の場合、-π/2の近似値を返します。
  • yがy>0で有限で、xが+Infinityの場合、+0を返します。
  • yがy>0で有限で、xが-Infinityの場合、+πの近似値を返します。
  • yがy<0で有限で、xが+Infinityの場合、-0を返します。
  • yがy<0で有限で、xが-Infinityの場合、-πの近似値を返します。
  • yが+Infinityでxが有限の場合、+π/2の近似値を返します。
  • yが-Infinityでxが有限の場合、-π/2の近似値を返します。
  • yが+Infinityでxが+Infinityの場合、+π/4の近似値を返します。
  • yが+Infinityでxが-Infinityの場合、+3π/4の近似値を返します。
  • yが-Infinityでxが+Infinityの場合、-π/4の近似値を返します。
  • yが-Infinityでxが-Infinityの場合、-3π/4の近似値を返します。

デモ

Math.atan2()のデモです。

<!-- このコードは編集できます。 -->

<!DOCTYPE html>
<html>
<head>
	<style>
body {
	white-space: pre-wrap ;
}
	</style>
</head>
<body>
<script>
/** try it! **/
var a = Math.atan2( 1.732, 1 ) ;
var b = Math.atan2( Infinity, Infinity ) ;
var c = Math.atan2( -Infinity, -Infinity ) ;
var d = Math.atan2( 5, -Infinity ) ;
var e = Math.atan2( NaN, NaN ) ;
/** try it! **/

var results = { a:a, b:b, c:c, d:d, e:e, } ;

for( var name in results ) {
	console.log( name, results[name] ) ;
	document.body.appendChild( new Text( name + " = " + results[name] + "\n" ) ) ;
}
</script>
</body>
</html>

サポート状況

ChromeFirefoxSafariEdgeIEOperaiOS SafariAndroid
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年9月25日 (月)
コンテンツを公開しました。