JavaScript/Math/cos
表示
< JavaScript | Math
Math.cos(x)
は、引数 x
の余弦(コサイン)を返します。ここで、x
はラジアン単位で指定されます[1]。
- 引数
x
がNaN
の場合、NaN
を返します。 - 引数
x
が+0
または-0
の場合、1
を返します。 - 引数
x
がInfinity
または-Infinity
の場合、NaN
を返します。
例
[編集]余弦を計算するプログラム
[編集]以下のプログラムは、ユーザーが入力した角度(度単位)の余弦を計算します。
constf=p=>{for(;;){a=prompt(`${p}は何度ですか?`);if(!isNaN(a))returna;alert(`${p}に、入力ミスがあります。 "${a}"`);}}for(;;){constdegrees=f("角度");constradians=degrees*Math.PI/180;constcosine=Math.cos(radians);if(!isNaN(cosine)){alert(`${degrees}度の余弦は ${cosine.toFixed(3)} です。`);break;}alert("入力が大きすぎます。");}
このプログラムでは、Math.cos
を使用して角度の余弦を計算しています。ユーザーが入力した角度が NaN
や Infinity
の場合、適切に処理されます。
余弦波を描画するプログラム
[編集]以下のプログラムは、余弦波を描画します。
constcanvas=document.createElement('canvas');document.body.appendChild(canvas);constctx=canvas.getContext('2d');canvas.width=800;canvas.height=400;constamplitude=100;constfrequency=2;constphase=0;constyOffset=canvas.height/2;ctx.beginPath();ctx.moveTo(0,yOffset);for(letx=0;x<canvas.width;x++){constradians=(x/canvas.width)*2*Math.PI*frequency+phase;consty=yOffset-amplitude*Math.cos(radians);ctx.lineTo(x,y);}ctx.strokeStyle='blue';ctx.lineWidth=2;ctx.stroke();
このプログラムでは、Math.cos
を使用して余弦波を描画しています。amplitude
は振幅、frequency
は周波数、phase
は位相を表します。
注意点
[編集]- ラジアン単位:
Math.cos
はラジアン単位で角度を受け取るため、度単位の角度をラジアンに変換する必要があります。 - 精度: 浮動小数点演算の特性上、
Math.cos
の結果には微小な誤差が含まれることがあります。
脚註
[編集]- ^これは、数学的には単位円上の角度
x
に対応する点のx座標を返します。