function setup() { createCanvas(400, 400); background(220); let balls = []; // 20 objects for (let i = 0; i < 20; i++) { // with random position and size (from 10-50) // [Your Code Here] random_size = random(10, 50); balls.push([ random(0 + random_size / 2, 400 - random_size / 2), random(0 + random_size / 2, 400 - random_size / 2), random_size, ]); } drawBalls(balls); drawBoundingBox(balls); } function drawBalls(balls) { // [Your Code Here] num_balls = balls.length; for (let i = 0; i < num_balls; i++) { circle(balls[i][0], balls[i][1], balls[i][2]); } } // draws smallest rect fitting all balls function drawBoundingBox(balls) { // [Your Code Here] box_top = 99999; box_left = 9999999; box_bottom = -1; box_right = -1; num_balls = balls.length; for (let i = 0; i < num_balls; i++) { circle_left = balls[i][0] - balls[i][2] / 2; circle_right = balls[i][0] + balls[i][2] / 2; circle_top = balls[i][1] - balls[i][2] / 2; circle_bottom = balls[i][1] + balls[i][2] / 2; box_top = min(box_top, circle_top); box_left = min(box_left, circle_left); box_bottom = max(box_bottom, circle_bottom); box_right = max(box_right, circle_right); } noFill(); stroke('red'); rect(box_left, box_top, box_right - box_left, box_bottom - box_top); }