1. ホーム
  2. Web制作
  3. html5

キャンバスポリゴン描画方式

2022-01-29 20:47:17

前文

Canvasのパスと簡単な中学数学の知識さえあれば、Canvasでポリモルフを描くのはとても簡単です。

CodePenが開きます。

パース

考え方は上記の通り、非常にシンプルで、各点の位置を計算し、lineTo()でパスを描画するだけです。

コアとなるコードは以下のように分解されます(CodePenで見ることもできます)。

function drawPolygonPath(sideNum, radius, originX, originY, ctx){
  ctx.beginPath();
  const unitAngle = Math.PI * 2 / sideNum; // calculate the unit angle
  let angle = 0; //initial angle
  let xLength, yLength;
  // ctx.moveTo(originX, originY);
  for(let i = 0; i < sideNum; i++){ // iterate through the calculated points and lineTo() draw the path
    xLength = radius * Math.cos(angle);
    yLength = radius * Math.sin(angle);
    ctx.lineTo(originX + xLength, originY - yLength);//draw the path
    angle += unitAngle;
  }
  ctx.closePath();//close the path, also loop lineTo() more than once in the for loop to the starting point
}


以上、本記事の全内容をご紹介しましたが、皆様の学習のお役に立てれば幸いです。また、Script Houseをより一層応援していただければ幸いです。