let cArray = [];
let s, r, r1, g1, b1, t, randN;
let v = 0;
let cnv;
function setup() {
c = min(windowHeight, windowWidth) * 0.9;
cnv = createCanvas(c, c);
randN = int(random(-10, 10));
randN = int(random() * 100000000);
n = int(random(80, 120));
r1 = int(random(170, 285));
g1 = int(random(170, 285));
b1 = int(random(170, 285));
for (let i = 0; i < 4; i++) {
cArray[i] = color(r1 / (i + 1), g1 / (i + 1), b1 / (i + 1));
}
strokeWeight(0.02);
stroke(cArray[1]);
noLoop();
t = 3;
}
function draw() {
background(cArray[0]);
push();
translate(width / 2, width / 2);
scale(0.9, 0.9);
if (b1 % 3 === 0) {
rotate(PI / 2);
}
r = width / n;
for (let j = 0; j < n; j++) {
for (let i = 0; i < n; i++) {
if (j % 2 === 0) {
x = -width / 2 + r * j * 3;
y = -width / 2 + r * i * 3.45;
} else {
x = -width / 2 + r * j * 3;
y = -width / 2 + r * i * 3.45 + r * (3.45 / 2);
}
variation(v, i, j);
push();
translate(x, y);
hexi(r * 2, c1, c2, s);
pop();
}
}
fill(cArray[3]);
rect(-width / 2, -width / 2, width, r);
rect(-width / 2, -width / 2, r, width);
rect(width / 2 - r, -width / 2, r, width);
rect(-width / 2, width / 2 - r, width, r);
pop();
rect(0, 0, width, 0.05 * height);
rect(0, height - 0.05 * height, width, 0.05 * height);
rect(0, 0, width * 0.05, height);
rect(width - width * 0.05, 0, width * 0.05, height);
stroke(100);
fill(150);
if (v % 2 === 0) {
text("Random Quilt v:" + randN, 10, 10);
text("r:" + r1 + " g:" + g1 + " b:" + b1 + " n:" + n, 10, height - 5);
} else {
text("Quilt variation: " + floor(v / 2), 10, 10);
text("r:" + r1 + " g:" + g1 + " b:" + b1 + " n:" + n, 10, height - 5);
}
}
function hexi(radius, c1, c2, s) {
let angle = TWO_PI / 6;
fill(c1);
beginShape();
for (let a = s; a <= s + PI; a += angle) {
let sx = cos(a) * radius;
let sy = sin(a) * radius;
vertex(sx, sy);
}
endShape(CLOSE);
fill(c2);
beginShape();
for (let a = PI + s; a < TWO_PI + s; a += angle) {
let sx = cos(a) * radius;
let sy = sin(a) * radius;
vertex(sx, sy);
}
endShape(CLOSE);
}
function variation(v, i, j) {
if (v % 2 === 0) {
s = (PI / 3) * int(randN - i * b1 + j * g1 + i * j);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
c2 = cArray[3];
}
if (v === 1) {
if (j % 2 === 1) {
s = PI * 3;
c2 = cArray[1];
c1 = color(
r1 - (t / 2) * i - (t / 2) * j,
g1 - (t / 2) * i - (t / 2) * j,
b1 - (t / 2) * i - (t / 2) * j
);
} else {
s = 0;
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
c2 = color(
r1 - (t / 2) * i - (t / 2) * j,
g1 - (t / 2) * i - (t / 2) * j,
b1 - (t / 2) * i - (t / 2) * j
);
}
}
if (v === 3) {
if (j % 3 === 0) {
s = PI * 3 * r1;
c1 = cArray[2];
c2 = color(
r1 - (t / 2) * i - (t / 2) * j,
g1 - (t / 2) * i - (t / 2) * j,
b1 - (t / 2) * i - (t / 2) * j
);
} else {
s = 0;
}
c1 = cArray[1];
c2 = color(
r1 - (t / 2) * i - (t / 2) * j,
g1 - (t / 2) * i - (t / 2) * j,
b1 - (t / 2) * i - (t / 2) * j
);
}
if (v === 5) {
if (i % 2 === 1) {
s = -PI * 3;
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
c2 = cArray[2];
} else {
s = 0;
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
c2 = cArray[2];
}
}
if (v === 7) {
if (i % 3 === 2 || j % 3 === 2) {
s = -PI * 3;
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
c2 = cArray[1];
} else {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 9) {
if (i % 3 === 2 || j % 3 === 2) {
s = -PI * 3;
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
c1 = cArray[1];
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 11) {
if (i % 3 === 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = cArray[0];
}
}
if (v === 13) {
if (i % 5 === 2 || j % 5 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 15) {
if (i % 3 === 2 || j % 5 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 17) {
if (i % 3 === 2 || j % 5 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 19) {
if (i % 3 === 2 && j % 5 === 3) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 5 === 2 && j % 4 === 3) {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = cArray[0];
} else {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 21) {
if (i % 5 === 2 && j % 5 === 3) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 === 2 && j % 5 === 3) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 23) {
if (i % 3 === 1 && j % 5 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 === 2 && j % 5 === 2) {
s = (PI / 3) * int(t);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 25) {
if (i % 4 === 1 && j % 3 === 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 === 1 && j % 2 === 0) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 27) {
if (i % 3 === 1 || j % 3 === 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 === 2 || j % 3 === 2) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 29) {
if (i % 2 === 1 || j % 3 === 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 === 2 || j % 3 === 2) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 31) {
if (i % 2 === 1 || j % 2 === 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 === 2 || j % 3 === 2) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 33) {
if (i % 2 === 1 || j % 2 === 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 5 === 2 || j % 5 === 2) {
s = (-PI / 3) * 2;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 35) {
if (i % 2 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 5 === 2 || j % 5 === 2) {
s = (-PI / 3) * 2;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 37) {
if (i % 2 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 5 === 2) {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 39) {
if (i % 2 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 3 === 2) {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 41) {
if (i % 4 === 2 || i % 6 === 2) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 3 === 1 || j % 6 === 1) {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 43) {
if (i % 2 === 0) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 1) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 45) {
if (i % 2 === 0) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 1) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 47) {
if (i % 3 === 0) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 0) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 49) {
if (i % 3 === 0 && j % 2 === 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 0) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 51) {
if (i % 4 === 0 && j % 2 === 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 3 === 0) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 53) {
if (i % 2 === 0 && j % 2 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 3 === 0) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 55) {
if (i % 2 === 0 && j % 2 === 0) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 3 === 0) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 57) {
if (i % 3 === 0 && j % 3 === 0) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 0) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 59) {
if (i % 2 === 0 && j % 2 === 0) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 3 === 1 || i % 3 === 1) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = cArray[0];
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 61) {
if (i % 2 === 1 && j % 2 === 0) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 3 === 1 || i % 3 === 1) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = cArray[0];
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 63) {
if (i % 2 === 1 && j % 2 === 0) {
s = PI;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 1 || i % 3 === 1) {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = cArray[0];
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 65) {
if (i % 2 === 0 && j % 2 === 0) {
s = (-PI / 3) * i;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 1 && i % 3 === 1) {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = cArray[0];
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 67) {
if (i % 2 === 1 && j % 2 === 1) {
s = (-PI / 3) * i;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 1 && i % 3 === 1) {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 69) {
if (i % 3 != 1 && j % 3 != 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 0 && i % 2 === 0) {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 71) {
if (i % 3 != 1 && j % 3 != 1) {
s = (-PI / 3) * ((i * j) % 3);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 73) {
if (i % 3 != 1 && j % 3 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 75) {
if (i % 2 != 0 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 === 1) {
s = (PI / 3) * ((i * j) % 3);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 77) {
if (i % 2 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 79) {
if (i % 2 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1) {
s = (PI / 3) * ((i * j) % 4);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 81) {
if (i % 2 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 5 != 1) {
s = (PI / 3) * ((i * j) % 4);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 83) {
if (i % 3 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 5 != 1) {
s = (PI / 3) * ((i * j) % 4);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 85) {
if (i % 3 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 5);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 87) {
if (i % 2 != 1 && j % 2 != 0) {
s = (PI / 3) * ((i * j) % 3);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1) {
s = (-PI / 3) * ((i * j) % 4);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 89) {
if (i % 2 != 1 && j % 2 != 0) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1) {
s = (-PI / 3) * ((i * j) % 3);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 91) {
if (i % 2 != 1 && j % 2 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1) {
s = (-PI / 3) * ((i * j) % 3);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 93) {
if (i % 2 != 1 && j % 2 != 1) {
s = (PI / 3) * ((i * j) % 3);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1) {
s = (-PI / 3) * ((i * j) % 3);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 95) {
if (i % 3 != 1 && j % 3 === 1) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1 && j % 4 === 1) {
s = (-PI / 3) * ((i * j) % 3);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 97) {
if (i % 2 != 1 && j % 3 === 1) {
s = (-PI / 3) * ((i * j) % 4);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1 && j % 4 === 1) {
s = (-PI / 3) * ((i * j) % 3);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (-PI / 3) * (i % 3);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 99) {
if (i % 3 != 1 && j % 3 != 1) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 101) {
if (i % 3 != 0 && j % 4 != 1) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 103) {
if (i % 3 != 0 && j % 4 != 1) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 4 != 0 && j % 4 != 1) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 105) {
if (i % 4 != 0 && j % 4 != 1) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 4 != 1 && j % 3 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 107) {
if (i % 3 != 0 || j % 3 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 4 != 0 || j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 109) {
if (i % 3 != 1 && j % 3 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 0 || j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 111) {
if (i % 2 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 0 || j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 113) {
if (i % 3 != 0 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 0 || j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 115) {
if (i % 3 != 0 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 0 || j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 117) {
if (i % 3 != 0 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 0 || j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 119) {
if (i % 2 != 0 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 0 || j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 121) {
if (i % 2 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 1 || j % 2 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 123) {
if (i % 2 != 1 && j % 2 != 0) {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 4 != 1 || j % 3 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 125) {
if (i % 2 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 2 != 1 || j % 3 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 127) {
if (i % 2 != 1 && j % 2 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 2 != 1 || j % 4 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 129) {
if (i % 2 != 1 && j % 2 != 0) {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 2 != 1 || j % 4 != 1) {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 131) {
if (i % 2 != 1 && j % 3 != 0) {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 2 != 1 || j % 2 != 1) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 133) {
if (i % 3 != 1 && j % 3 != 0) {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 3 != 0 && j % 3 != 1) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 135) {
if (i % 4 != 1 && j % 4 != 0) {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 4 != 2 && j % 4 != 1) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = (PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 137) {
if (i % 4 != 1 && j % 4 != 0) {
s = (-PI / 3) * ((i * j) % 2);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 4 === 2 && j % 4 != 3) {
s = (PI / 3) * ((i * j) % 2);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = c2;
} else {
s = 0;
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
}
}
if (v === 139) {
if (j % 2 !== j % 4) {
s = (-PI / 3) * (i % 4);
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 !== j % 3) {
s = (PI / 3) * (i % 3);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
}
}
if (v === 141) {
if (j % 4 === 1 && i % 2 === 0) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 1 && i % 2 == 1) {
s = PI;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 4 === 2 && i % 2 == 1) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c1 = cArray[0];
c2 = cArray[1];
}
}
if (v === 143) {
if (j % 2 === 1 && i % 2 === 1) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 2 === 0 && i % 2 === 0) {
s = PI;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (j % 3 === 0 && i % 3 === 0) {
s = PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = -PI / 3;
c1 = cArray[0];
c2 = cArray[1];
}
}
if (v === 145) {
if (i % 4 === 0) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
if (j % 2 === 1) {
s = PI / 3;
}
} else if (i % 4 === 1) {
s = (-2 * PI) / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
if (j % 2 === 1) {
s = 0;
}
} else if (j % 2 === 1) {
s = -PI / 3;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else if (i % 4 === 2) {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
if (v === 147) {
if (i % 9 === 0 || i % 9 == 4) {
s = -PI / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
if (i % 9 == 4) {
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
if (j % 2 === 1) {
s = PI / 3;
}
} else if (i % 9 === 1 || i % 9 == 5) {
s = (-2 * PI) / 3;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
if (i % 9 == 5) {
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
if (j % 2 === 1) {
s = 0;
}
} else if (i % 9 === 2 || i % 9 === 7) {
s = 0;
c2 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c1 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
} else {
s = 0;
c1 = color(
(r1 - t * i - t * j) * 2,
(g1 - t * i - t * j) * 2,
(b1 - t * i - t * j) * 2
);
c2 = color(r1 - t * i - t * j, g1 - t * i - t * j, b1 - t * i - t * j);
}
}
}
function windowResized() {
c = min(windowHeight, windowWidth) * 0.9;
resizeCanvas(c, c);
}
function mousePressed() {
setup();
draw();
}
function keyPressed() {
if (keyCode === 38) {
if (v < 148) {
v = (v + 1) % 148;
setup();
draw();
}
}
if (keyCode === 40) {
if (v > 0) {
v = v - 1;
setup();
draw();
} else v = 147;
}
if (keyCode === 83) {
save(cnv, "hexiquilt", "png");
}
}