国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > HTML5 > 正文

Canvas多邊形繪制的實(shí)現(xiàn)方法

2024-09-05 07:22:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

Canvas繪制多變形非常簡(jiǎn)單,只要懂得Canvas路徑 + 簡(jiǎn)單的初中數(shù)學(xué)知識(shí)即可完成

CodePen打開(kāi)

解析

思路如上,非常簡(jiǎn)單,計(jì)算每一個(gè)點(diǎn)的位置通過(guò)lineTo()繪制路徑即可

核心代碼解析如下(或在CodePen中查看):

function drawPolygonPath(sideNum, radius, originX, originY, ctx){  ctx.beginPath();  const unitAngle = Math.PI * 2 / sideNum; //計(jì)算單元角度  let angle = 0; //初始角度  let xLength, yLength;  // ctx.moveTo(originX, originY);  for(let i = 0; i < sideNum; i++){ //遍歷計(jì)算點(diǎn),并lineTo()繪制路徑    xLength = radius * Math.cos(angle);    yLength = radius * Math.sin(angle);    ctx.lineTo(originX + xLength, originY - yLength);//繪制路徑    angle += unitAngle;  }  ctx.closePath();//閉合路徑,也可在for循環(huán)中多一次循環(huán)lineTo()至起點(diǎn)}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 上虞市| 枞阳县| 昌宁县| 高陵县| 九寨沟县| 桂阳县| 林口县| 平舆县| 日土县| 云霄县| 嘉禾县| 贵定县| 米脂县| 巍山| 辽中县| 沛县| 湟中县| 英山县| 左权县| 中牟县| 光泽县| 西和县| 福州市| 钟山县| 彭阳县| 印江| 卓资县| 庄河市| 迭部县| 来宾市| 葫芦岛市| 磐石市| 小金县| 康马县| 闽清县| 滨州市| 普兰县| 庆城县| 乌兰察布市| 平度市| 石家庄市|