Canvas多邊形繪製

前言

Canvas繪製多變形很是簡單,只要懂得Canvas路徑 + 簡單的初中數學知識便可完成bash

CodePen打開

解析

思路如上,很是簡單,計算每個點的位置經過lineTo()繪製路徑便可
核心代碼解析以下(或在CodePen中查看):

function drawPolygonPath(sideNum, radius, originX, originY, ctx){
  ctx.beginPath();
  const unitAngle = Math.PI * 2 / sideNum; //計算單元角度
  let angle = 0; //初始角度
  let xLength, yLength;
  // ctx.moveTo(originX, originY);
  for(let i = 0; i < sideNum; i++){ //遍歷計算點,並lineTo()繪製路徑
    xLength = radius * Math.cos(angle);
    yLength = radius * Math.sin(angle);
    ctx.lineTo(originX + xLength, originY - yLength);//繪製路徑
    angle += unitAngle;
  }
  ctx.closePath();//閉合路徑,也可在for循環中多一次循環lineTo()至起點
}
複製代碼
相關文章
相關標籤/搜索