html 根据坐标画多边形,Canvas多边形绘制的实现方法

前言

Canvas绘制多变形非常简单,只要懂得Canvas路径 + 简单的初中数学知识即可完成

d71912cb22114261ac9c25d59921035a.png

解析

94d715e48809d16e442bb85ba204fcb3.png

思路如上,非常简单,计算每一个点的位置通过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()至起点

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值