Hugo Elias wrote a set of early web tutorials on computer graphics, covering Perlin noise, radiosity, water and cloth simulation.
HN commenters cite his pages as still-relevant explanations of Perlin noise and simple water simulation, and recall them fondly from the flipcode era.
From the code:
https://krikienoid.github.io/flagwaver/js/flagwaver.js
Aug 3 2012
Since I started working for a new startup not too long ago,
I commute between home and work for over 2 hours a day.
Although this means less time on three.js,
I try getting a little coding on the train.
This set of experiments started from a simple hook's law doodle,
to spring simulation, string simulation, and I realized
I once again stepped onto physics and particle simulation,
this time, more specifically soft body physics.
Based on the "Advanced Character Physics" article,
this experiment attempts to use a "massless"
cloth simulation model. It's somewhat similiar
but simplier to most cloth simulations I found.
This was coded out fairly quickly, so expect more to come
meanwhile feel free to experiment yourself and share
Cheers,
Graphics Noob (aka @Blurspline, zz85)
Suggested Readings:
Advanced Character Physics by Thomas Jakobsen Character:
http://web.archive.org/web/20070610223835/http:/www.teknikus.dk/tj/gdc2001.htm
http://freespace.virgin.net/hugo.elias/models/m_cloth.htm
http://en.wikipedia.org/wiki/Cloth_modeling
http://cg.alexandra.dk/tag/spring-mass-system/
Real-time Cloth Animation:
http://www.darwin3d.com/gamedev/articles/col0599.pdf
They did actually, the thing was designed to drop on a random angle and bounce around for a while on airbags until it came to a full stop, before said airbags would deflate and it would self-right itself by opening up. Here's an image with it having landed on an uneven surface: http://freespace.virgin.net/michael.jennings1/beagle.jpg
I found myself lost in the Carver Mead interview linked in the blog post instead: http://freespace.virgin.net/ch.thompson1/People/CarverMead.htm
Pretty convincing for someone, such as myself, with almost no knowledge of quantum physics, and hence extremely confused as to the logic behind it all.
That's more or less the idea behind Perlin noise. Start with a low frequency high amplitude smooth function, then sum it together while increasing the frequency and decreasing the amplitude.
See here for more: http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
I haven't seen the app, but a really good fog/water maker is Perlin Noise: http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
There is a faster implementation of it, as perlin noise is pretty expensive, that get's used a lot in game design.
Hope that helps.
Nope, it's much simpler than that. It's just a grid of vertical positions and each frame every cell moves toward the average position of the neighbors from the previous frame. See http://freespace.virgin.net/hugo.elias/graphics/x_water.htm for details.