Le Wei – Project 4 Final
For my generative project, I created a simulation of raindrops moving down a window. My main purpose form the beginning was to try to accurately reproduce the movement of the water on a glass windowpane, so the images of the droplets themselves are simply ellipses. The final product offers three options for the intensity of the rain: “Rain”, “Downpour”, and “Hurricane”. There is also a “Sunshine” option, which stops the rain and lets you see the water gradually dry off the window.
Research
Before beginning any coding, I looked into research papers to see if there was any helpful information on how to implement the rain movement. I knew that there would be a lot of factors to take into account, such as surface affinity, friction, air humidity, gravity, etc etc, and combining all of them could be quite difficult. Luckily, there were quite a few closely related (at least in terms of content) papers that detailed exactly how to implement such a simulation. The three papers I relied most heavily on were “Animation of water dripping on geometric shapes and glass panes” by Suzana Djurcilov, “Simulation of Water Drops on a Surface” by Algan, Kabak, Ozguc, and Capin, and “Animation of Water Droplets on a Glass Plate” by Kaneda, Kagawa, and Yamashita.
Algorithm
I divided the window into a grid with cells of size 2×2. Each cell is given a randomly assigned surface affinity, which represents impurities on the surface of the glass. At each timestep, raindrops of random size are added to a randomly selected spot on the window, to give the simulation a raining effect. Then, existing raindrops that have enough mass to move downward calculate where to go next based on the formulas in the papers. The choices are the three cells below-left, directly below, and below-right. A small amount of water remains on the previous spot, the mass of this is also calculated from equations in the papers. Whenever raindrops run into another one, they combine and continue with the combined mass and a new velocity based on basic laws of physics. Apart from the information in the papers, I added a drying factor so that over time, raindrops on the window that are just sitting around dry off and disappear.
Hi Le – let’s get that excellent project documented! Below are comments from the crit. -GL
————————-
Gotta say the raindrops with the trails look like sperm … (or at least I am reminded of them based on the shape)
^so true
Rounding/truncation effect which looks like wind? Could be addressed.
Should joining two drops actually be random? I’d be surprised if there weren’t laws of nature that govern that behavior. I agree, they should join as larger blobs if possible, also form streams when the cohesion and flow is high enough.
This is acutally really cool – you’ve taken a lot of different factors into account, which is great. Nice work moving the research papers into Processing.
Nice research. (+1!) It sounds like it helped you develop your work quite strongly and also gives credibility to your final work.
https://vimeo.com/16537488 – check this as a reference
good work … One aspect to improve is a more subtle detailing of how two rain drops meet each other [rather than one eating the other…the way that the two edges merge to create a larger droplet] tough problem!
Nice job with the simulation. I would like to see it with transparency and light, it could be really beautiful.
Well thought out, well explained.
Nice idea. I would just change the background to make it look a little more realistic :) Great research!
I love how the rain drops speed up when they hit a trail of another. I feel like the rain drops arn’t connecting unless the exact center lines up with the center of another drop or trail. I wish this would occur when the edge of a drop comes in contact with another drop or trail, and do the ‘metaballs’ thing where it gloms over to the neighboring water and combines. It would b ecool if you could change the direction of the wind / slant.
The trailing is excellent, but I wish that the paths as well as the droplets sort of increased in mass. I think that’s one of the big things that kind of sets it off if you are going for a realistic simulation, you definitely need some sort of blobbing asides from the droplet size, especially with the paths.
The movement is nice and you’ve put the right thought into the algorithm. The solidness of the drops kind of bother me though: I read it as snow more than rain. Tweak it a little, there’s potential here.
very realistic! cool. It would make a cool screensaver. I think golan is right. emphasizing the realism with an image background and water shapes would make it really effective.
Looks so realistic, feel like I could zone out in front of that screen forever. Would be nice if the drops flowed straight down so that it was slightly more realistic – the images look great and if the behavior matched it would be super cool.
The longer you let it run, the more realistic it seems to me. Good job! can’t wait for better visuals.