JavaScript/Math/SQRT2

カテゴリ:Book:JavaScript#Math/SQRT2%20

Math.SQRT2 は、√2(2 の平方根)を表す定数です。この値は、約 1.4142135623730951 です[1]

√2 を使用するプログラム

以下のプログラムは、Math.SQRT2 を使用して正方形の対角線の長さを計算します。

const f = p => {
  for (;;) {
    a = prompt(`${p}は何ですか?`);
    if (!isNaN(a) && a > 0)
      return a;
    alert(`${p}に、入力ミスがあります。 "${a}"`);
  }
}

for (;;) {
  const a = f("辺の長さ");
  const diagonal = a * Math.SQRT2;
  if (!isNaN(diagonal)) {
    alert(`辺の長さ ${a} の正方形の対角線の長さは ${diagonal.toFixed(3)} です。`);
    break;
  }
  alert("入力が大きすぎます。");
}

このプログラムでは、Math.SQRT2 を使用して正方形の対角線の長さを計算しています。ユーザーが入力した値が NaNInfinity の場合、適切に処理されます。

√2 を使用したグラフの描画

以下のプログラムは、Math.SQRT2 を使用して正弦関数のグラフを描画します。

const canvas = document.createElement('canvas');
document.body.appendChild(canvas);
const ctx = canvas.getContext('2d');
canvas.width = 800;
canvas.height = 400;

const xScale = canvas.width / (2 * Math.PI);
const yScale = canvas.height / 2;

ctx.beginPath();
ctx.moveTo(0, canvas.height / 2);

for (let x = 0; x <= 2 * Math.PI; x += 0.1) {
  const y = Math.sin(x) * Math.SQRT2;
  const canvasX = x * xScale;
  const canvasY = canvas.height / 2 - y * yScale;
  ctx.lineTo(canvasX, canvasY);
}

ctx.strokeStyle = 'blue';
ctx.lineWidth = 2;
ctx.stroke();

このプログラムでは、Math.SQRT2 を使用して正弦関数のグラフを描画しています。xScaleyScale は、グラフのスケーリングを調整するための変数です。

注意点

  • 定数の値: Math.SQRT2 は、約 1.4142135623730951 の値を持つ定数です。
  • 精度: 浮動小数点演算の特性上、Math.SQRT2 の値には微小な誤差が含まれることがあります。

脚註

  1. これは、数学的には として定義されます。

外部リンク

カテゴリ:Book:JavaScript#Math/SQRT2%20 カテゴリ:JavaScript
カテゴリ:Book:JavaScript カテゴリ:JavaScript カテゴリ:Pages using the JsonConfig extension