Como agrego void draw(){ para animar el dibujo de este programa

como agrego void draw(){ a este código para ver como se va dibujando de el centro a donde finaliza

//code variable star

void star(int pointCount, float innerRadius,float outerRadius){
float theta = 0.0;
int vertCount = pointCount * 2;
float thetaRot = TWO_PI/vertCount;
float tempRadius = 0.0;
float x = 0.0, y= 0.0;

beginShape();
for(int i = 0;i<pointCount;i++){
for(int j=0; j<2; j++){
tempRadius = innerRadius;
if(j%2==0){
tempRadius=outerRadius;
}
x = cos(theta)* tempRadius;
y = sin(theta)* tempRadius;
vertex(x,y);
theta += thetaRot;
}
}
endShape(CLOSE);
}

//code draw

void setup(){
size(1000,1000);
background(0);
noStroke();
translate(width/2, height/2);

int pointCount = 15;
int steps = 35;
float outerRadius = width * .5;
float innerRadiusFactor = .7;
float innerRadius = outerRadius * innerRadiusFactor;
float outerRadiusRatio = outerRadius / steps;
float innerRadiusRatio = innerRadius / steps;
float shadeRatio = 255 / steps;
float rotationRatio = 45.0 / steps;

for(int i=0; i<steps; i++){
stroke(255 - shadeRatio * i,100);
colorMode(HSB);
fill(shadeRatio * i,100,100);
pushMatrix();
rotate(rotationRatio * i * PI / 90);
star(pointCount, outerRadius - outerRadiusRatio * i, innerRadius - innerRadiusRatio * i);
popMatrix();
}
}

Verifique los cambios con su código y des-comenta background () en el draw() también.
Por favor aprenda a publicar un código con un cuadro como yo.
Luego, copiar el código es más fácil usando el botón que aparece encima de la barra de desplazamiento vertical.

int i, steps, pointCount;
float shadeRatio, outerRadius, innerRadiusFactor, rotationRatio;
float innerRadius, outerRadiusRatio, innerRadiusRatio;

void star(int pointCount, float innerRadius, float outerRadius) {
  float theta = 0.0;
  int vertCount = pointCount * 2;
  float thetaRot = TWO_PI/vertCount;
  float tempRadius = 0.0;
  float x = 0.0, y= 0.0;

  beginShape();
  for (int i = 0; i<pointCount; i++) {
    for (int j=0; j<2; j++) {
      tempRadius = innerRadius;
      if (j%2==0) {
        tempRadius=outerRadius;
      }
      x = cos(theta)* tempRadius;
      y = sin(theta)* tempRadius;
      vertex(x, y);
      theta += thetaRot;
    }
  }
  endShape(CLOSE);
}

void setup() {
  size(1000, 1000);
  background(0);
  noStroke();
  translate(width/2, height/2);
  pointCount = 15;
  steps = 35;
  outerRadius = width * .5;
  innerRadiusFactor = .7;
  innerRadius = outerRadius * innerRadiusFactor;
  outerRadiusRatio = outerRadius / steps;
  innerRadiusRatio = innerRadius / steps;
  shadeRatio = 255 / steps;
  rotationRatio = 45.0 / steps;
}

void draw() {
 // background(0);
  translate(width/2, height/2);
  i++;
  if (i == steps-1) i = 0; 
  stroke(255 - shadeRatio * i, 100);
  colorMode(HSB);
  fill(shadeRatio * i, 100, 100);
  pushMatrix();
  rotate(rotationRatio * i * PI / 90);
  star(pointCount, outerRadius - outerRadiusRatio * i, innerRadius - innerRadiusRatio * i);
  popMatrix();
}
1 Like

gracias, realmente me sirvió tu respuesta