Hola de nuevo.
Estoy intentando hacer estas lineas
Pero lo único que me salió fue así
No sé qué cosa tengo que cambiar para que una sola linea salga del centro, y no todas.
Gracias
Hola de nuevo.
Estoy intentando hacer estas lineas
Pero lo único que me salió fue así
No sé qué cosa tengo que cambiar para que una sola linea salga del centro, y no todas.
Gracias
Hola,
Recuerda que es mejor publicar tu código directamente como texto en el foro para que la gente pueda copiarlo y modificarlo.
Aquí hay una solución usando algunas transformaciones para repetir tus líneas 4 veces:
void setup(){
size(500, 500);
}
void draw(){
background(255);
drawPattern(width/2, height/2, 300, 10);
// Stops the draw loop
noLoop();
}
void drawPattern(int x, int y, int size, int nbLines){
pushMatrix();
// Translate accordingly to the center of the pattern
translate(x - size / 2, y - size / 2);
// Draw the lines
pushMatrix();
for(int i=0; i<4; i++){
drawLines(size, nbLines);
// Translate to the next corner
translate(size, 0);
// Rotate 45°
rotate(HALF_PI);
}
popMatrix();
stroke(0);
strokeWeight(3);
// Draw diagonals
line(0, 0, size, size);
line(0, size, size, 0);
// Draw rectangle
noFill();
rect(0, 0, size, size);
popMatrix();
}
// Draw the lines from the left corner
void drawLines(int size, int nbLines){
stroke(0);
strokeWeight(2);
for(int i=0; i<nbLines; i++){
float diag = i * (size / nbLines / 2);
line(diag, diag, i * (size / nbLines), 0);
}
}
El principio es el siguiente:
La función drawLines
dibuja las líneas desde la esquina superior izquierda. Le damos el tamaño de todo el rectángulo y el número de líneas a dibujar. Luego la función drawPattern
dibuja todo el rectángulo, las diagonales y llama a la función para dibujar las líneas cuatro veces y cada vez rotando 45°.