数学関数(Math)
- 数学関数
- 乱数
- 繰り上げ・繰り下げ・絶対値
- 三角関数
- その他
- Math.max(value1, value2, ...)
- Math.min(value1, valule2, ...)
- Math.pow(n, m)
- Math.sqrt(n)
- Math.cbrt(n)
- Math.SQRT2
- Math.SQRT1_2
- Math.LN2
- Math.LN10
- Math.LOG2E
- Math.LOG10E
- Math.E
- Math.exp(n)
- Math.expm1(n)
- Math.log(n)
- Math.log2(n)
- Math.log10(n)
- Math.log1p(n)
- Math.clz32(n)
- Math.fround(x)
- Math.hypot(value1, value2, ...)
- Math.imul(x, y)
- Math.sign(x)
数学関数
Math
数学関連のメソッドやプロパティを実装するオブジェクトです。
乱数
Math.random()
0.0 以上、1.0 未満の乱数を生成します。例えば次のようにして、0~15 の整数値の乱数を生成することができます。
xx = Math.floor(Math.random() * 16); // => 0~15
繰り上げ・繰り下げ・絶対値
Math.abs(n)
n の絶対値を返します。
Math.abs(-8) // => 8
Math.ceil(n)
Math.floor(n)
Math.round(n)
ceil() は n の小数点以下を繰り上げた整数値を返します。3.6 は 4 に、-3.6 は -3 になります。floor() は繰り下げた整数値を返します。3.6 は 3 に、-3.6 は -4 になります。round() は四捨五入した整数値を返します。3.6 は 4 に、-3.6 は -4 になります。小数部が丁度 0.5 の負数に対して round() を行った場合、他の多くの言語では 0 から遠ざかる方に丸めますが、JavaScript では 0 に近づく方向に丸めます。
Math.ceil(3.6) // => 4 Math.floor(3.6) // => 3 Math.round(3.6) // => 4 Math.round(-3.5) // => -3 (他言語では -4 となるものが多い)
Math.trunc(n)
n の小数部を取り除いた値を返します。n が正の時は floor() と同様、負の時は ceil() と同様となります。IE11 ではサポートされていません。
Math.trunc(3.6) // => 3 Math.trunc(-3.6) // => -3
三角関数
Math.PI
円周率パイ(π)(約3.141592)を返します。
Math.PI // => 3.141592653589793
Math.sin(x)
Math.cos(x)
Math.tan(x)
x のサイン(正弦)(-1~1)、コサイン(余弦)(-1~1)、タンジェント(正接)(-∞~∞) を返します。x はラジアン単位(0度は0、90度はPI/2、180度はPI)で指定します。
r = 10.0; // 半径 a = 30.0; // 角度(度) x = r * Math.cos(a / 180 * Math.PI); // X座標 y = r * Math.sin(a / 180 * Math.PI); // Y座標
Math.asin(x)
Math.acos(x)
Math.atan(x)
x のアークサイン(逆正弦)(-PI/2~PI/2)、アークコサイン(逆余弦)(0~PI)、アークタンジェント(逆正接)(-PI/2~PI/2) を返します。
Math.asin(1) // => 1.5707963267948966 (PI/2) Math.acos(0) // => 1.5707963267948966 (PI/2) Math.atan(Infinity) // => 1.5707963267948966 (PI/2)
Math.sinh(x)
Math.cosh(x)
Math.tanh(x)
x のハイパーボリックサイン、ハイパーボリックコサイン、ハイパーボリックタンジェントを返します。IE11 ではサポートされていません。
Math.sinh(1) // => 1.1752011936438014 Math.cosh(1) // => 1.5430806348152437 Math.tanh(1) // => 0.7615941559557649
Math.asinh(x)
Math.acosh(x)
Math.atanh(x)
x のハイパーボリックアークサイン、ハイパーボリックアークコサイン、ハイパーボリックアークタンジェントを返します。IE11 ではサポートされていません。
Math.asinh(1) // => 0.881373587019543 Math.acosh(2) // => 1.3169578969248166 Math.atanh(0.5) // => 0.5493061443340548
Math.atan2(y, x)
座標 x, y の角度(-PI~PI)を返します。
Math.atan2(1, 1) // => 0.7853981633974483 (PI/4)
その他
Math.max(value1, value2, ...)
Math.min(value1, valule2, ...)
max() は value1, value2, ... の中から一番大きな値、min() は一番小さな値を返します。
Math.max(3, 5, 2) // => 5 Math.min(3, 5, 2) // => 2
Math.pow(n, m)
n の m 乗を返します。
Math.pow(2, 8) // => 256
Math.sqrt(n)
n の平方根を返します。
Math.sqrt(2) // => 1.4142135623730951
Math.cbrt(n)
n の立方根を返します。IE11 ではサポートされていません。
Math.cbrt(2) // => 1.2599210498948732
Math.SQRT2
Math.SQRT1_2
SQRT2 は 2 の平方根、SQRT1_2 は 1/2 の平方根を返します。
Math.SQRT2 // => 1.4142135623730951 Math.SQRT1_2 // => 0.7071067811865476
Math.LN2
Math.LN10
Math.LOG2E
Math.LOG10E
LN2 は e を底とした2の対数、LN10 は e を底とした10の対数、LOG2E は 2 を底とした e の対数、LOG10E は 10 を底とした e の対数を返します。
Math.LN2 // => 0.6931471805599453 Math.LN10 // => 2.302585092994046 Math.LOG2E // => 1.4426950408889634 Math.LOG10E // => 0.4342944819032518
Math.E
自然対数 e の値を返します。
Math.E // => 2.718281828459045
Math.exp(n)
Math.expm1(n)
exp() は e の n乗を、expm1() は e の n乗 - 1 を返します。expm1() は IE11 ではサポートされていません。
Math.exp(1) // => 2.718281828459045 Math.expm1(1) // => 1.718281828459045
Math.log(n)
Math.log2(n)
Math.log10(n)
Math.log1p(n)
log() は e を底とした n の対数、log2() は 2 を底とした n の対数、log10() は 10 を底とした n の対数、log1p() は e を底とした n + 1 の対数を返します。IE11 では log() のみをサポートしています。
Math.log(10) // => 2.302585092994046 Math.log2(8) // => 3 Math.log10(10) // => 1 Math.log1p(9) // => 2.302585092994046
Math.clz32(n)
CountLeadingZeroes32 の略で、32ビットバイナリ表現における先頭の 0 の個数を返します。IE11 ではサポートされていません。
Math.clz32(0) // => 32 Math.clz32(1) // => 31 Math.clz32(0xffff) // => 16
Math.fround(x)
x に最も近い、単精度の float を返します。IE11 ではサポートされていません。
Math.fround(1.23) // => 1.2300000190734863
Math.hypot(value1, value2, ...)
value1, value2, ... の二乗和の平方根を返します。IE11 ではサポートされていません。
Math.hypot(.12, -.13, -.14, .15) // => 0.2709243436828813
Math.imul(x, y)
C言語と同様の高速アルゴリズムで計算した x と y の乗算を返します。IE11 ではサポートされていません。
Math.imul(0xff, 16) // => 4080 (0xff0)
Math.sign(x)
x が正の時は 1、0 の時は 0、負の時は -1 を返します。IE11 ではサポートされていません。
Math.sign(-2) // => -1 Math.sign(0) // => 0 Math.sign(2) // => 1