NOC: Midterm Project Concept Presentation – Jingyi Zhu

Link to Google Slides

My idea for my midterm project is based on the method of gravitational slingshot. This method depends on the gravity of planets to assist space probes in flying into interplanetary and interstellar space with less fuel.

I am interested in simulating a star system and the creating multiple trajectories by launching space probes in the system. The project will mainly utilize the concept of gravitation and collision. 

I would like to add an interactive aspect to it by allowing the users to create the star system by setting parameters as well as to launch space probes from different planets.

The challenges I might encounter are understanding the physics and switching reference frames.

NOC – Week 4: Inspirations – Jingyi Zhu

Date: 03.13.2019

Link to Google Slides

My inspirations are a series of artworks produces by teamLab that simulate the movement of water. According to teamLab’s introduction to the works, they calculate the interaction between numerous water particles to create the simulation. In the work about vortices, a person’s movement applies forces to the “flow of water”, thus changing its velocity and direction. I am inspired by their idea of putting a simulated movement of nature elements into different settings, interactive or non-interactive, natural or artificial, so as to express and convey different artistic feelings.

NOC – Week 4: Forces – Jingyi Zhu (Jenny)

Link to sketch 

Link to full screen

Video: 

Date: 03/12/2019

I did this week’s assignment based on last week’s idea and the lecture example. The balls are generated when the mouse is pressed. Forces in this “environment” are gravity, friction, drag force and wind. Gravity, drag force and wind are similar to the lecture example. The force of the wind is only applied when a key is pressed. I created three plates at random height in the upper part. Balls bump on either side of the plates and can sometimes jump from plate to plate. The three plates are completely frictionless and with different elasticity.

Dry friction is applied in the bottom part. I set the coefficient of friction to 0.4. When the force of the wind is smaller than the frictional force of a ball, the ball stays still and the magnitude of the friction is equal to the wind. Otherwise, the ball move and the magnitude of the friction remains the same as the frictional force.

I wasn’t able to figure out the relationship between the rotation of balls and the forces applied to the ball, so the balls slide rather than rotate. But I created the illusion of the balls rotating by rotating the inner ellipse.

Week 3 – Digital Map – Jingyi Zhu

Date: 03/06/2019

Links: Full screen: https://editor.p5js.org/jz1111/present/n2Ed68jPW

           Codes: https://editor.p5js.org/jz1111/sketches/n2Ed68jPW

I first manually processed the data collected from a robot about baleen whale acoustics from “Autonomous Real-time Marine Mammal Detections” website. The part of data I used is the location, time, species of whale and certainty of the detected sounds. I used Python to clean up the file and used an online converter to convert the csv file to json file. It was hard to decide on the organization of different categories. Since I chose to map the data according to the time of detection and due to my limited file manipulation skill, I organized the data with non-nested objects and put the objects in an increasing order of time.

Then I made the digital map based on Leon’s example. The duration is from January 23rd, 2019 to March 3rd, 2019. There is a clock on the upper right corner telling the time. The solid circles stand for certainly detected whales and the hollow ones are possibly detected whales. Yellow stands for humpback whale, magenta for right whale, cyan for fin whale and green for sei whale. The lines show the route of the robot during this period of time. Each circle and line appear once the clock passes the time of the detection of each whale. The animation repeats after all the data are drawn on the map. I also added an interaction. When the mouse hovers on each circle, the species and detected time will be displayed.

NOC – Week3: Bouncing Balls – Jingyi Zhu

Date: 03/03/2019

Links: full screen: https://editor.p5js.org/jz1111/present/vEVlvdoEP

              sketches: https://editor.p5js.org/jz1111/sketches/vEVlvdoEP

Video: 

I simulated balls bouncing in a completely frictionless environment. The balls are generated by clicking the mouse, with an initial speed and a horizontal acceleration. There exists a constant force as gravity that gives the balls a constant vertical acceleration towards the “ground”. I slightly modified Professor Moon’s update() function by having the vertical acceleration remaining the same to simulate the constant gravity.

I created three buttons at the bottom. With every different button pressed, the balls generated will have a different elasticity. The balls will eventually stop bouncing, but their horizontal speed will remain because there are no horizontal forces.

I also created a head() function for the object to get the direction from the center of the balls to the mouse. In the function display(), the balls rotate an certain angle according to the direction. Thus, the little white ellipse near the edge of every ball will always face the mouse.