Concept
For this weeks assignment, I wanted to explore how invisible forces like gravity can affect objects in motion. I was inspired by the movement of planets around the sun and how they interact with each other through invisible forces (image below). The sketch creates a solar system-like scene where planets and moons orbit around a sun. I also added some extra forces, like a little bit of randomness (turbulence) to make things feel more alive and natural.
Image Inspiration
Code Highlight
One part of the code I’m really happy with is how I made the sun glow. I used different shades of color and layered circles to make the sun look like it’s shining and radiating light, just like in real life. Here’s the code for that:
// Draw gradient layers for the sun for (let i = gradientColors.length - 1; i >= 0; i--) { fill(gradientColors[i]); ellipse(this.pos.x, this.pos.y, this.radius * 2 * (1 - i * 0.2)); // Each layer is slightly smaller } // Add outer glow to the sun for (let i = 0; i < 10; i++) { let alpha = map(i, 0, 10, 50, 0); // Make the glow fade out fill(255, 153, 51, alpha); ellipse(this.pos.x, this.pos.y, this.radius * 2 + i * 15); // Expand glow with each layer }
Embedded Sketch
Reflection and Future Work
Working on this sketch was really fun, but I did face some challenges. It was tricky to make sure the planets and their moons didn’t overlap or move too fast. For the future, I’d like to add a “repulsion” force so that planets and moons don’t get too close to each other. I also think it would be cool to let people interact with the sketch by clicking on planets or moving them around.