string artDownloadvar dx1;
var dy1;
var dx2;
var dy2;
var numLines = 50;
var numLine = 30;
function setup() {
createCanvas(400, 300);
background(0);
}
function draw() {
stroke("yellow"); line(0, 300, 50, 0);
line(0, 0, 150, 150);
dx1 = (50-0)/numLines; dy1 = (0-300)/numLines;
dx2 = (150-0)/numLines;
dy2 = (150-0)/numLines;
var x1 = 0; var y1 = 300; var x2 = 0; var y2 = 0; for (var i = 0; i <= numLines; i += 1) {
stroke("yellow");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("green"); line(0, 0, 5, 300);
line(50, 300, 190, 300);
dx1 = (5-0)/numLines; dy1 = (300-0)/numLines;
dx2 = (190-50)/numLines;
dy2 = (300-300)/numLines;
var x1 = 0; var y1 = 0; var x2 = 50; var y2 = 300; for (var i = 0; i <= numLines; i += 1) {
stroke("green");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("yellow"); line(400, 200, 50, 0);
line(0, 300, 300, 300);
dx1 = (50-400)/numLines; dy1 = (0-200)/numLines;
dx2 = (300-0)/numLines;
dy2 = (300-300)/numLines;
var x1 = 400; var y1 = 200; var x2 = 0; var y2 = 300; for (var i = 0; i <= numLines; i += 1) {
stroke("yellow");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("yellow"); line(400, 200, 250, 0);
line(0, 300, 300, 300);
dx1 = (250-400)/numLines; dy1 = (0-200)/numLines;
dx2 = (300-0)/numLines;
dy2 = (300-300)/numLines;
var x1 = 400; var y1 = 200; var x2 = 0; var y2 = 300; for (var i = 0; i <= numLines; i += 1) {
stroke("yellow");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("yellow"); line(400, 200, 150, 0);
line(0, 300, 300, 300);
dx1 = (150-400)/numLines; dy1 = (0-200)/numLines;
dx2 = (300-0)/numLines;
dy2 = (300-300)/numLines;
var x1 = 400; var y1 = 200; var x2 = 0; var y2 = 300; for (var i = 0; i <= numLines; i += 1) {
stroke("yellow");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("green"); line(400, 200, 400, 0);
line(0, 300, 300, 300);
dx1 = (400-400)/numLines; dy1 = (0-200)/numLines;
dx2 = (300-0)/numLines;
dy2 = (300-300)/numLines;
var x1 = 400; var y1 = 200; var x2 = 0; var y2 = 300; for (var i = 0; i <= numLines; i += 1) {
stroke("green");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("green"); line(450, 0, 0, 0);
line(0, 150, 300, 300);
dx1 = (0-450)/numLine; dy1 = (0-0)/numLine;
dx2 = (300-0)/numLine;
dy2 = (300-150)/numLine;
var x1 = 450; var y1 = 0; var x2 = 0; var y2 = 150; for (var i = 0; i <= numLine; i += 1) {
stroke("green");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("green"); line(300, 0, 0, 0);
line(0, 150, 300, 300);
dx1 = (0-300)/numLine; dy1 = (0-0)/numLine;
dx2 = (300-0)/numLine;
dy2 = (300-150)/numLine;
var x1 = 300; var y1 = 0; var x2 = 0; var y2 = 150; for (var i = 0; i <= numLine; i += 1) {
stroke("green");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("green"); line(150, 0, 0, 0);
line(0, 150, 300, 300);
dx1 = (0-150)/numLine; dy1 = (0-0)/numLine;
dx2 = (300-0)/numLine;
dy2 = (300-150)/numLine;
var x1 = 150; var y1 = 0; var x2 = 0; var y2 = 150; for (var i = 0; i <= numLine; i += 1) {
stroke("green");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
stroke("green"); line(150, 0, 0, 0);
line(0, 0, 0, 300);
dx1 = (0-150)/numLines; dy1 = (0-0)/numLines;
dx2 = (0-0)/numLines;
dy2 = (300-0)/numLines;
var x1 = 150; var y1 = 0; var x2 = 0; var y2 = 0; for (var i = 0; i <= numLines; i += 1) {
stroke("green");
line(x1, y1, x2, y2);
x1 += dx1; y1 += dy1;
x2 += dx2;
y2 += dy2;
}
noLoop();
}
I tried to create a loose repetition effect. It took me a while to understand how the code works, but when I did, I was able to achieve what I had in mind.