PLL generator
by Tsskyx
HTML
<!--
LAST LAYER COLOR CODE LIST:
YELLOW = 0
BLUE = 1
ORANGE = 2
WHITE = 3
GREEN = 4
RED = 5
COLOR NEUTRAL = 6
SET THE LAST VARIABLE ON LINE 19 TO ONE OF THE VALUES ABOVE!
-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.6.6/processing.min.js"></script>
<script type="text/processing" data-processing-target="canvas">
int AUF, ADF, rand, PLL, LLcol = 0;
void setup() {
size(600, 600, P3D);
rectMode(CENTER);
strokeWeight(5);
AUF = floor(random(4));
ADF = floor(random(4));
rand = floor(random(6));
PLL = floor(random(22));
}
void draw() {
background(200);
translate(300, 300, 75);
pushMatrix();
rotateX(PI/3);
rotateZ(PI/4);
drawTiles(0);
popMatrix();
pushMatrix();
rotateX(-PI/6);
rotateY(-PI/4);
drawTiles(1);
popMatrix();
rotateX(-PI/6);
rotateY(PI/4);
drawTiles(2);
}
void drawTiles(int face) {
color c = color(0);
color p[] = new color[3];
switch(face) {
case 0:
c = (LLcol != 6) ? id[LLcol] : id[rand];
p[0] = c;
p[1] = c;
p[2] = c;
break;
case 1:
c = (LLcol != 6) ? id[scheme[LLcol][ADF]] : id[scheme[rand][ADF]];
p[0] = id[scheme[LLcol==6?rand:LLcol][pll[PLL][AUF*3]]];
p[1] = id[scheme[LLcol==6?rand:LLcol][pll[PLL][AUF*3+1]]];
p[2] = id[scheme[LLcol==6?rand:LLcol][pll[PLL][AUF*3+2]]];
break;
case 2:
c = (LLcol != 6) ? id[scheme[LLcol][(ADF+1)%4]] : id[scheme[rand][(ADF+1)%4]];
p[0] = id[scheme[LLcol==6?rand:LLcol][pll[PLL][(AUF*3+3)%12]]];
p[1] = id[scheme[LLcol==6?rand:LLcol][pll[PLL][(AUF*3+4)%12]]];
p[2] = id[scheme[LLcol==6?rand:LLcol][pll[PLL][(AUF*3+5)%12]]];
}
fill(c);
translate(0, 0, 75);
rect(-50, 0, 50, 50);
rect(0, 0, 50, 50);
rect(50, 0, 50, 50);
rect(-50, 50, 50, 50);
rect(0, 50, 50, 50);
rect(50, 50, 50, 50);
fill(p[0]);
rect(-50, -50, 50, 50);
fill(p[1]);
rect(0, -50, 50, 50);
fill(p[2]);
rect(50, -50, 50, 50);
}
void mousePressed() {
AUF = floor(random(4));
ADF = floor(random(4));
...