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();
}
}
noel
December 3, 2020, 10:37am
2
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();
}
2 Likes
gracias, realmente me sirvió tu respuesta