Здравствуйте, вы можете помочь мне сделать этот арт-код более эффективным? - PullRequest
0 голосов
/ 01 ноября 2019

Вы можете помочь мне сделать этот код более эффективным. Сегодня я начал использовать p5.js, и мне было бы интересно узнать, как я могу сделать эти циклы более эффективными?

function setup() {
    createCanvas(windowWidth, windowHeight);
    background(0);
    noLoop();
}

function draw() {
    translate(width /2, height /2);
    stroke(255);
    strokeWeight(1);
    line(0, height, 0, -height)
    line(width, 0, -width, 0)
    for (var y = 250, x = 0; y >= 0; y-=50, x+=50) {
        line(0, y, x, 0)
    }
    for (var y1 = -250, x1 = 0; y1 <= 0; y1+=50, x1+=50) {
        line(0, y1, x1, 0)
    }
    for (var y2 = 250, x2 = 0; y2 >= 0; y2-=50, x2-=50) {
        line(0, y2, x2, 0)
    }
    for (var y3 = -250, x3 = 0; y3 <= 0; y3+=50, x3-=50) {
        line(0, y3, x3, 0)
    }
}

Вот

output of the code

1 Ответ

0 голосов
/ 01 ноября 2019

Это должно быть немного чище (и более эффективно).

function setup() {
createCanvas(windowWidth, windowHeight);
background(0);
noLoop();
}
function draw() {
translate(width /2, height /2);
stroke(255);
strokeWeight(1);
line(0, height, 0, -height)
line(width, 0, -width, 0)
y = -250
x = 0
while (y != 0) {
  y += 50
  x -= 50
  line(0, y, x, 0)
  line(0, -y, -x, 0)
  line(0, -y, x, 0)
  line(0, y, -x, 0)
}
}
...