Milky Way
Process:
1. Ideation:
When talking about creating movement with the use of vectors, the first thing that comes to my mind is circular motion. But circular motion might be a boring visual effect, so I thought of making something with centrifugal motion. I first did some random exploration with three.js, and I found everything was kind of messed up, and I got confused with the use of variables and the resulted visual effects. I then took some time to review the mathematic concepts and formulas for both circular and centrifugal motion, make and started coding with this starting idea.
2. Circular Motion:
Randomly exploring vector movements, I first made a sphere movement:However, the effect is a bit boring, and the balls are just doing linear movements. I decide to make them doing circular motion and even centrifugal motion to enrich the visual effect.
3. Centrifugal Motion:

After several unsuccessful attempts with calculations in three.js for achieving centrifugal motion, I reviewed the physics principles and formulas for circular motion. After refreshing my understanding of relevant calculations, logic, and variables designs, I made the vector-based circular motion in p5.js. Then, by adjusting parameters, I adapted it to centrifugal motion and translated the process into three.js.
4. Adding more “particles”:
After I successfully achieved the centrifugal motion I’ve been added more particles and organize them in a specific area of the sphere.
5. Dynamic Array & Life Span
adding the lifespan property to the objects, and check if they are died. If dead – remove the mesh first and then splice the array.
Reflection
While doing the assignment I have kept thinking about when making this kind of abstract visual creations, should I first start with a specific idea or concept in mind and then try all means to bring it to life; or should I find inspirations through random explorations and experimentations.
As a beginner, I’ve realized that starting with a specific concept in mind can provide clarity and focus, helping with structuring my logic and code effectively. Without a clear direction, I often find myself lost in the code. However, once I’ve achieved what I initially envisioned, it becomes inspiring to explore further possibilities and refine my creation.
Code
Leave a Reply