0x983f10b6…313dsent to0xa7d8d9ef…d270·#13,371,178·view on Etherscan
// Find a non-minified and better commented version of this script online at the artist's website. Copyright Matthew Costanza 2021
let hV, hb, binL, tkB, shape, shapeI, sRef, sIRef, pattB, pBRef, pattI, pIRef, isS, midPs, recP, recS, pal, ar, cW, cH, minD, s, col, arm, w, b, a, v, g, r, p;
let binP = 0;
let gR = 0.618;
let def = 0.382;
let allPattP = [];
let allSP = [];
let showShape = true;
calculateFeatures(tokenData);
setDim();
function calculateFeatures(tD) {
tkB = tD.tokenId % 2;
hV = cHVal(tD.hash);
hb = cHBin(hV);
binL = hb.length;
w = "#ffffff";
b = "#000000";
a = "#275bb2";
v = "#43AA8B";
g = "#fcd612";
r = "#b10b0b";
p = "#f368cb";
shape = gV(1, 9);
if (shape < 4) {
ar = 1;
} else if (shape < 7) {
ar = 2;
} else {
ar = 3;
}
shapeI = gV(1, 5);
pattB = gV(1, 100);
if (pattB > 62) {
pattB = 1;
} else if (pattB > 42) {
pattB = 2;
} else if (pattB > 22) {
pattB = 3;
} else if (pattB > 2) {
pattB = 4;
} else {
pattB = 5;
}
pattI = gV(1, 11);
if (pattI < 4 && pattB == 2) {
pattB = 1;
}
midPs = gV(1,6);
midPs = 2 ** midPs - 1;
if (midPs == 1 && (pattB == 2 || pattI == 7 || pattI == 8)) {
midPs = 3;
}
if (midPs < 5 && pattI == 9) {
midPs = 5;
}
recP = gV(0, 5);
rP = 2 ** recP;
recS = gV(0, 3);
if ((shape == 6 || shape == 9) && shapeI == 1) {
rS = 1;
} else if (shapeI == 4) {
rS = 2;
} else if ((shape == 6 || shape == 9) && shapeI == 3) {
rS = Math.min((3 ** recS), 5);
} else {
rS = 3 ** recS;
}
pal = gV(0, 19);
let cols = [
[w, b, v, w],
[w, b, a, w],
[w, b, r, w],
[w, b, p, w],
[w, b, g, w],
[w, b, r, g],
[w, b, a, g],
[w, b, v, g],
[b, w, v, g],
[b, w, a, g],
[b, g, w, g],
[b, w, b, w],
[a, r, w, g],
[a, g, w, g],
[a, w, v, w],
[a, w, b, w],
[r, w, b, g],
[r, w, a, w],
[v, w, a, w],
[g, b, w, b]
];
col = cols[pal];
if (shapeI == 5 && col[1] == col[3]) {
shapeI = 2;
}
if (rS == 1 && (shapeI == 3 || shapeI == 5)) {
shapeI = 2;
}
if (shapeI == 2 && rS > 1) {
rS = 1;
}
if (pattB == 5 && pattI == 11) {
if (shapeI == 2 || shapeI == 1) {
isS = "Portal";
} else {
isS = "Truth";
}
} else {
isS = "Yes";
}
function cHVal(TH) {
let h = [];
for (let i = 0; i < (TH.length - 2) / 2; i++) {
h.push(parseInt(TH.slice(2 + i * 2, 4 + i * 2), 16));
}
return h;
}
function cHBin(H) {
let b = '';
for (let i = 0; i < H.length - 1; i++) {
let t = H[i].toString(2);
b = b + t;
}
return b;
}
function gV(min, max) {
max = max + 0.999;
let x = Math.floor((hV[0] * (max - min)) / 255 + min);
hV.shift();
return x;
}
}
function setDim() {
binP = 0;
let winW = window.innerWidth;
let winH = window.innerHeight;
minD = Math.min(winW, winH);
if (ar == 1) {
arm = 1;
cW = minD;
cH = minD;
} else if (ar == 2) {
arm = gR;
if (winW / winH >= gR) {
cH = winH;
cW = Math.floor(gR * cH);
} else {
cW = winW;
cH = Math.floor(cW / gR);
}
} else if (ar == 3) {
arm = 1 / gR;
if (winH / winW >= gR) {
cW = winW;
cH = Math.floor(gR * cW);
} else {
cH = winH;
cW = Math.floor(cH / gR);
}
}
u = (Math.max(cW, cH)) / 300;
}
function windowResized() {
allPattP = [];
allSP = [];
setDim()
resizeCanvas(cW, cH);
}
function getBin() {
let b = hb[binP];
binP = (binP + 1 != binL) ? binP + 1 : 0;
return b;
}
function keyPressed() {
if (key === 's') {
saveCanvas('FOCUS-' + `${tokenData.tokenId}` + '_hash-' + `${tokenData.hash}` + '_RecursionFactor-' + `${rP}` + '_midpoints-' + `${midPs}` + '_shape-' + `${showShape}`, 'png')
} else if (key === 'h') {
if (showShape == true) {
showShape = false;
} else {
showShape = true;
}
windowResized()
} else if (keyCode === RIGHT_ARROW) {
midPs +=2;
windowResized();
} else if (keyCode === LEFT_ARROW) {
midPs > 1 ? midPs -= 2 : midPs = 1;
windowResized();
} else if (keyCode === UP_ARROW) {
rP += 1;
windowResized();
} else if (keyCode === DOWN_ARROW) {
rP > 1 ? rP -= 1 : rP = 1;
windowResized();
}
}
function setup() {
createCanvas(cW, cH);
angleMode(DEGREES);
}