const cellSize = 600 / gridSize;
rect(360, 120, cellSize, cellSize);
rect(240, 240, cellSize, cellSize);
rect(240, 360, cellSize, cellSize);
rect(360, 240, cellSize, cellSize);
rect(120, 240, cellSize, cellSize);
rect(360, 480, cellSize, cellSize);
rect(480, 120, cellSize, cellSize);
triangle(0, 0, 0, 120, 120, 120);
triangle(120, 120, 120, 240, 240, 240);
arcDraw(0, 120, 90, 180);
arcDraw(240, 120, 180, 0);
arcDraw(360, 360, 0, 90);
arcDraw(240, 480, 90, 180);
ellipse(3.5 * cellSize, 1.5 * cellSize, cellSize, cellSize);
arcDraw(120, 240, 270, 0);
arcDraw(360, 480, 180, 90);
arcDraw(480, 120, 180, 90);
for (let i = 1; i < gridSize; i++) {
line(i * cellSize, 0, i * cellSize, height);
line(0, i * cellSize, width, i * cellSize);
function arcDraw(x, y, startAngle, endAngle) {
if (startAngle >= 0 && startAngle < 90) {
} else if (startAngle >= 90 && startAngle < 180) {
} else if (startAngle >= 180 && startAngle < 270) {
} else if (startAngle >= 270 && startAngle < 360) {
arc(arcX, arcY, 2 * cellSize, 2 * cellSize, radians(startAngle), radians(endAngle));