customFont = loadFont('Vogue.ttf');
for (let i = 0; i < 10; i++) {
translate(random(0, width / 2), random(0, height - 100));
rotate(radians(random(-15, 15)));
drawCheckeredPattern(0, 0, 4, 4, 30);
drawCheckeredPattern(random(0, width / 2), random(0, height - 100), 4, 4, 30);
translate(random(0, width / 2), random(0, height - 100));
rotate(radians(random(-15, 15)));
drawFlowerPattern(0, 0, 4, 20);
drawFlowerPattern(random(0, width / 2), random(0, height - 100), 4, 20);
translate(random(0, width / 2), random(0, height - 100));
rotate(radians(random(-15, 15)));
drawZigzagPattern(0, 0, 5, 20);
drawZigzagPattern(random(0, width / 2), random(0, height - 100), 5, 20);
translate(random(0, width / 2), random(0, height - 100));
rotate(radians(random(-15, 15)));
drawStripedPattern(0, 0, 8, 15);
drawStripedPattern(random(0, width / 2), random(10, height - 100), 8, 15);
translate(random(0, width / 2), random(0, height - 100));
rotate(radians(random(-15, 15)));
drawBrickPattern(0, 0, 3, 30);
drawBrickPattern(random(0, width / 2), random(0, height - 100), 3, 30);
function drawCheckeredPattern(x, y, rows, cols, size) {
for (let i = 0; i < rows; i++) {
for (let j = 0; j < cols; j++) {
fill((i + j) % 2 === 0 ? color(255, 0, 0) : color(255));
rect(x + j * size, y + i * size, size, size);
function drawFlowerPattern(x, y, count, size) {
for (let i = 0; i < count; i++) {
let offsetX = random(-10, 10);
let offsetY = random(-10, 10);
circle(x + i * (size + offsetX), y + offsetY, size);
for (let angle = 0; angle < 360; angle += 90) {
let petalX = cos(radians(angle)) * size * 0.6 + x + i * (size + offsetX);
let petalY = sin(radians(angle)) * size * 0.6 + y + offsetY;
ellipse(petalX, petalY, size * 0.5, size * 0.5);
function drawZigzagPattern(x, y, count, size) {
for (let i = 0; i < count; i++) {
vertex(x + i * size, y + offsetY);
offsetY = (offsetY === 0) ? size : 0;
for (let i = 0; i < count; i++) {
vertex(x + i * size, y + offsetY);
offsetY = (offsetY === size) ? 0 : size;
function drawStripedPattern(x, y, count, thickness) {
for (let i = 0; i < count; i++) {
fill(i % 2 === 0 ? color(255, 165, 0) : color(0, 0, 255));
rect(x, y + i * thickness, 100, thickness);
function drawBrickPattern(x, y, rows, size) {
for (let i = 0; i < rows; i++) {
for (let j = 0; j < 6; j++) {
rect(x + j * size + xOffset, y + i * size * 0.5, size, size * 0.5);
xOffset = (xOffset === 0) ? size * 0.5 : 0;
text("Blazer", 400, 100);
text("Home Improvement", 400, 140);
saveCanvas("Bahar-computational_poster.jpg");