canvas – 円弧
円弧を試します。
コンテキストに対してのメソッドはarcを使います。
arc(x, y, radius, startAngle, endAngle, counterclockwise)
以下、簡単なサンプルです。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>テストHTML</title>
</head>
<body>
<canvas id="canvas"></canvas>
<script>
// canvasのDOMを取得
const canvas = document.getElementById('canvas');
// getContextメソッドでコンテキストを取得
// ここでは2次元の平面的な図形を扱うので、引数に「2d」を指定
const ctx = canvas.getContext('2d');
// コンテキストのstyleを定義
// パスの開始
ctx.beginPath();
// 図形の描画
ctx.arc(50, 50, 40, 0, -1, true);
// パスを線で描画する
ctx.stroke();
</script>
</body>
</html>
画面にアクセスすると、1ラジアンの円弧の線が描画されます。
この時、arcメソッドの引数に注目すると、
arc(x, y, radius, startAngle, endAngle, counterclockwise)
各引数の定義は以下の意味になります。
x : 円の中心点x座標
y : 円の中心点y座標
radius : 半径
startAngle : 開始角度(ラジアン)
endAngle : 終了角度(ラジアン)
counterclockwise : 描画する方向(時計周り:false か 反時計周り:true)
サンプルでは、
ctx.arc(50, 50, 40, 0, -1, true);
という記述なので、半径40の円弧を画面上の(50,50)の位置から、
描画する線は、0ラジアンから開始し、-1ラジアンまで、反時計回りで描画する。
という動きになります。
ラジアンについて
ラジアンは数学の分野で頻繁に使われます。
日常では度数(0~360)の数値のほうが馴染みがあります。
ラジアンの定義は、円の半径の長さを孤としたときの、円の中心角度が1ラジアン。とされています。
度数でいうと、1ラジアンは、57.29578度に相当します。