This semester I’m taking Daniel Shiffman’s Nature of Code, a course on translating mathematical properties of our physical world into a digital world.
Our first assignment is to find an example of real-world “natural” motion and develop a set of rules for simulating that behavior. Avoid using randomness, or at least consider the use of random carefully and justify it. Consider the challenge of usual minimal visual design, i.e. only grayscale primitive shapes.
I spent much of Sunday morning staring out the window and watching icicles form outside my window. I tried to replicate the experience in processing here, sped up for a more fulfilling sensation. Shiffman pointed out that this is not a science course, and that sometimes we have to alter and fake the rules of nature to make it more aesthetically pleasing in the digital realm. I avoided researching too deeply the formulae that governs the formation of icicles in the physical world, and instead experimented until I thought the screen best reflected my experience looking out the window.
The ice at the top of the screen and the snowbanks at the bottom were generated using Perlin Noise. I did rely on random() several times - creating between 4-7 icicles, establishing their initial height, and setting the melting rate.
Video and code after the jump.
