首页 > 解决方案 > 自定义功能未实现

问题描述

我尝试制作自己的函数以在我选择的特定坐标中绘制心脏动画,但由于某种原因,当我尝试实现它时,它没有出现在画布上。我知道我在某处做了非常错误的事情,但我无法绕过它。

let points = [];
let a = 0;

function setup() {
  createCanvas(928,500);
}

function draw() {
  background(0);
  heart(200, 200, 10);
}

function heart(x, y, r) {
  r = r;
  x = x + (r * 16 * pow(sin(a), 3));
  y = y + (-r * (13 * cos(a) - 5 * cos(2 * a) - 2 * cos(3 * a) - cos(4 * a)));
  
  beginShape();
  points.forEach(point => {
    vertex(point.x, point.y);
  })
  endShape();

  points.push(x, y);
  a += 0.05
}

标签: p5.js

解决方案


修好了,真的不错,不错。我不知道'a'的限制,所以我可能会无缘无故地循环。

    function heart(X, Y, r) {
    translate(X,Y);
  
    
    beginShape();
    for(a = 0; a < 10; a += 0.05){
        let x = (r * 16 * pow(sin(a), 3));
    let y = (-r * (13 * cos(a) - 5 * cos(2 * a) - 2 * cos(3 * a) - cos(4 * a)));
        vertex(x,y);
    }
    endShape();}

推荐阅读