NOC – Week 14: Final! Emotion in Particles – Susan Xu

Concept

My motivation to do Emotion in Particles is to bridge the gap between people with mental illness and those who do not completely understand them. In China, nearly ten percent of the population are suffering from mental illness, yet many people see them as “wired” or “crazy” instead of being ill. By visualizing the emotions that humans share, I want to build animation that help people better feel and understand mental illness.

Design Framework

I think of emotion as a ring, with animated units evenly distributed around. Each unit is a system, consisting of four smaller systems, which has three circles each.

Building units for the ring

I choose four fundemental emotions and represent them with different colors and motion.  Depending on the valence and arousal level, I vary the speed (faster for stronger emotions) and the direction (inward for more intrinsic ones). 

JoyFearSadnessAnger

Application

With these basic units of emotion, we can build more sophiscated models. Take post-tramic stressed diseases as an example. After experiencing long duration of fear and stress, even when he/she get back to normal life without stress, the person can hardly recover from the stochastic condition that he/she had been experienced for long, as shown in the video below.

PTSD

New thought

For improvement, I merge the four emotions into one system, so one can have different degrees of emotion at the sme time. This mixed, chaos animation suddenly hits me that this is also a tool for people to learn about their own emotions. One crucial basis for emotion management is the awareness of self emotions. In daily life, there are moments where we are dominated by emotions and can hardly control ourself. With this tool, people are able to better ubderstand what emotions they are having at the moment, thus better manage their mood.

NOC – Week 9: More than double pendulum – Susan Xu

Link to online demo (lite) and code (pro).

Spotlight

Rotating green lines on a black background.

Penta-pendulum screenshot, with each segment in form of spring. 

Concept

This project is inspired by double pendulum and the spring exercise practiced in the class. I connect the spring hand in hand (in other word, having two springs share one same ball) and hang them onto the ceiling (i.e. fixed one ball on the top). When perturbation is given, the system exemplifies very chaos motion. To incorporate “particle system”, I introduce feature 4 (see below).

Features

Feature 1: moving balls around

Drag the lines for chaos (and beautiful visual)

The ball, or the joint of springs, can be dragged around to introduce perturbation. When the mouse release, the chaotic motion continues. You might notice that the color is constantly changing in the view. This is the only feature that lite version has.

Feature 2: altering the mass

The motion become steady as the mass of the ball increases.

GUI is built in the project, so the mass of the ball can be changed. As one might expect, as the mass increases, the same amount of force result in smaller acceleration, and the motion appears more smooth.

Feature 3: visualize the joint

Only the balls are visualized.

In the GUI, one can choose to visualize only the balls (joints) not the lines (springs). Under this scenario, balls are dancing around and their movement is dependent on each other.

Feature 4: mouse release

Ripple appears as the mouse released.

To practice the concept of particle system, I add the ripple effect whenever the mouse is released. This feature can be turned off in GUI. Very subtle, a series of circle will emerge from the center and expand outward quickly, and become thinner along the way. After the lifespan of this system, it will fade away.

NOC – Week 7: Midterm! Dandelions – Susan Xu

Project link: https://editor.p5js.org/Susan_Xu/present/arqz4HEMQ

If sound not working, try: https://editor.p5js.org/Susan_Xu/sketches/arqz4HEMQ

I am inspired by the artwork from my classmate, who used calligraphy techniques and created a dynamic scene of dandelion under wind. Dandelions are one of kids’ (and my) favorite plants in nature. With its wind-aided disposal, one can easily blow off its seeds into air. My goal for the midterm is to model this process in p5.js.

I started by constructing classes Seed and Dandelion, and new Seed object only generated in Dandelion object to limit its scope. Seed has its direction: pointing outward when on dandelion, and pointing upward when they fly off, following the wind direction whenever applicable. In either case, the direction is oscillating within small range.

The wind is controlled by mic input–when you blow to the computer, wind will be simulated on the sketch depending on your volume. The voice volume level is visualized by a jumping circle in the debug mood. When the magnitude of the wind reaches certain level, the seed will leave the dandelion and fly on. When in air, they are still under the influence of wind, for both direction and acceleration. 

The seeds of dandelion are blown apart.

One interesting parameter to tune is the threshold of seeds’ flying off. When the threshold is high, the seed will follow the wind direction but stay on dandelion, and return to its original position when the wind stop. This is also true for some dandelions in nature.

The seeds of dandelions are resilient to wind.

Some feedback I got from class:

  • let the stem of dandelion also swing with wind
  • add more randomness when users blow (eg. random wind direction, random mass of the seed)
  • add natural wind to the scene

NOC – Week 6: Collision and Infection – Susan Xu

Sketch

I continued the code from class with balls attracting to and colliding with each other. I changed checkEdge() to make balls bounce off the wall with restitution (it can also cope with some crazy velocity scenarios). I extends a class Electron that is constructed with pos and vel, depending on mouse position and movement.

Newly created small red balls hitting yellow balls

Besides, I played the collision with the color of the ball in this sketch. The electrons will “infect” the yellow balls as the number of collision accumulates. In the end, all balls in the screen will turn red.

Yellow balls turning orange then to red.