JavaScript で三角関数の計算をする際によく使用される `Math.sin()` 関数について、基本的な使い方から実践的な例まで詳しく解説します。
Math.sin()関数の基本
`Math.sin()` は JavaScript の組み込み関数で、与えられた角度(ラジアン)のサインを計算して返します。戻り値は -1 から 1 の間の数値になります。
const result = Math.sin(angle);基本的な使い方
// 0度(0ラジアン)のサイン
console.log(Math.sin(0)); // 0
// 90度(π/2ラジアン)のサイン
console.log(Math.sin(Math.PI / 2)); // 1
// 180度(πラジアン)のサイン
console.log(Math.sin(Math.PI)); // 約0度からラジアンへの変換
`Math.sin()` はラジアンを引数として受け取るため、度数法の角度を使用する場合は変換が必要です。
// 度からラジアンへの変換関数
function degreesToRadians(degrees) {
return degrees * (Math.PI / 180);
}
// 60度のサインを計算
const sin60 = Math.sin(degreesToRadians(60));
console.log(sin60); // 約0.866実践的な使用例
正弦波の生成
// 0から360度までの正弦波を生成
for (let degree = 0; degree <= 360; degree += 45) {
const radian = degreesToRadians(degree);
console.log(`${degree}度: ${Math.sin(radian)}`);
}アニメーションでの活用
function animate(time) {
// 時間に基づいて要素を上下に動かす
const element = document.getElementById('moving-element');
const yPosition = Math.sin(time / 1000) * 50;
element.style.transform = `translateY(${yPosition}px)`;
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);よくあるエラーと解決方法
1. NaN が返される場合
- 引数が数値でない可能性があります
console.log(Math.sin('abc')); // NaN2. 予期せぬ結果が出る場合
- 角度をラジアンに変換し忘れている可能性があります
// 間違った使用例
console.log(Math.sin(90)); // 0.8939966636005579
// 正しい使用例
console.log(Math.sin(Math.PI / 2)); // 1まとめ
`Math.sin()` は:
- ラジアンを引数として受け取る
- -1 から 1 の範囲の値を返す
- 角度計算には度からラジアンへの変換が必要
- アニメーションや波形生成などに活用できる
これらの基本を押さえることで、JavaScript での三角関数計算を効果的に行うことができます。
関連する数学関数
- Math.cos() - コサイン計算
- Math.tan() - タンジェント計算
- Math.PI - 円周率
- Math.asin() - アークサイン計算
これらの関数と組み合わせることで、より複雑な数学的計算やアニメーションを実現できます。