var cellWidth = 40; var cellHeight = 80; stroke(75); strokeWeight(2); var r = 0; var g = 0; var b = 0; for (var y = 400 + cellHeight; y >= cellHeight; y -= (cellHeight/2)) { r = map(y, 400 + cellHeight, -cellHeight, 0, 255); g = map(y, 400 + cellHeight, -cellHeight, 255, 0); b = constrain(y, 0, 200); fill(r, g, b); var offsetFactor = 0; if(abs(y - 400) % cellHeight === 0) { offsetFactor = cellWidth/2; } for(var x = cellWidth; x <= 400 + cellWidth; x += cellWidth) { ellipse(x + offsetFactor, y, cellWidth, cellHeight); } }