canvas绘制任意大小桃心

在这里插入图片描述

/**
* @description: 心形
* @param {number} ax 宽度
* @param {number} ay 高度
* @param {number} len 点数量
*/
function love(ax: number, ay: number, len: number) {
    len = len < 80 ? 80 : len
    const arr = []
    for (let i = 0; i < len; i++) {
      const step = (i / len) * (Math.PI * 2) //递增的θ
      const vector = {
        x: ax * (18 * Math.pow(Math.sin(step), 3)),
        y:
          -ay *
          (13 * Math.cos(step) -
            5 * Math.cos(2 * step) -
            2 * Math.cos(3 * step) -
            Math.cos(4 * step))
      }
      arr.push(vector)
    }
    return arr
}

调用

love(width / 36, (height + height * 0.22) / 36, width * 20)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值