Cubular
to generate a new and unique variation
Every variart piece is a small program. This is the one that drew what you're looking at.
var palettes = [
['#036883', '#bfdae3'],
['#581839', '#e3c9d5'],
['#3f5e2e', '#d6e2c3'],
['#8c3b12', '#f0d8c4'],
['#2f3a56', '#c8cede'],
['#6b5a1e', '#e6e0cc']
];
var palette = palettes[getRandomInt(0, palettes.length - 1)];
var color = palette[0];
var lightColor = palette[1];
var size = intVariable('Size', 30, 90);
var scramble = intVariable('Scramble', 0, 100);
var k = size / 60;
var faces = [color, 'white', lightColor];
for (var y = -75 * k, xi = 0; y <= height + 75 * k; y += 55 * k, xi += 1) {
var xOffset = (xi % 2 == 0) ? -60 * k : -30 * k;
for (var x = xOffset; x <= width + 60 * k; x += 60 * k) {
var turn = (getRandomInt(1, 100) <= scramble) ? getRandomInt(0, 2) : 0;
var left = s.polygon(0, 20, 0, 55, 30, 36).attr({fill: faces[turn]});
var top = s.polygon(0, 20, 30, 0, 59, 19, 30, 36).attr({fill: faces[(turn + 1) % 3]});
var bottom = s.polygon(0, 55, 58, 20, 59, 56, 30, 75).attr({fill: faces[(turn + 2) % 3]});
var g = s.g(left, top, bottom);
g.transform(Snap.format('t{x},{y}s{k},{k},0,0', {x: x, y: y, k: k}));
}
}
Copyright © 2014–2026 Logic and Matter. All rights reserved. Questions? Comments? hello@variart.io