​System Building(P5.js)
​Brief
Select the natural system to model. Create the diagrams describing your system. Build out the environment with the basic relationships and behaviors (graphics can be symbolic.)
Openprocessing link​
​My system description
Sunset and sunrise created in my code may not truly reflect what we observe. I tried to simplify by using circles. In addition, the falling speed and track of snowflakes could be much more complicated in real life. I mainly want to use my code to simulate the major characteristic of sun and snowflakes movement. For a better effect, I replaced this winter natural system with spring, summer, autumn, and winter.
​System Diagram
​Algorhythms Diagram
​Design Process
​
​Problems:
- The sun is out of the canvas
- No "Class" function
​Version 2.0
​Improvements:
- Add "Class" function
- Making the sun move to the center of the canvas
- Add a slider bar that users can interact or control the four seasons of Fuji Mt
- Add day & night effect
Reflection​
I think the most challenging question I faced was how to effectively use class. To start with I was very confused about the purpose of the class and how it’s different from function. And I had no idea to incorporate the class into my Fuji project. Since I didn’t have coding experience before, I think the concept of class is vague and difficult to use. To address this question, I first read some of the codes from the instructor and classmates, and got a basic idea of class structure. The. I watched some YouTube videos and found some good tutorials websites to understand the purpose of class. Unlike function, class is used to put a few related functions to describe an object. This way it’s more organized and easier for us to control the object in the future. I don’t need to use functions over and over again in draw function. Instead, I can use simple commands like move, display to quickly achieve what I want. This is even more convenient if I want to control multiple objects, just like in my Fuji project I created a class to control all the flakes through a for loop. Last I was able to incorporate class into my codes replicate Fuji project.