Samaras autorotate, dandelion seeds parachute and leaves flutter across a gusty meadow.
Three flight strategies share one wind. A maple samara tumbles briefly, then autorotates, so its spinning wing acts as a rotor disc and the fall slows from a few metres per second to about one, while a dandelion pappus is a porous parachute that sinks at about 0.3 m/s and goes wherever the air goes. Leaves follow the Andersen, Pesavento and Wang quasi-steady model of a falling plate (added mass, circulation from translation and rotation, anisotropic drag and rotational damping), so light leaves flutter and heavier ones tumble. The air is a gusty mean wind with a log profile near the ground, divergence-free turbulence from the curl of a noise stream function, and drifting thermals, and the grass bends in the same field. Seeds are drawn a few times life size so their flight reads; landed ones sprout, and the panel tallies how far each kind flew.
Try it. Drag to blow across the meadow. Click the tree (or press T) to shake loose a shower of samaras and leaves, and click a dandelion clock to blow it. Gust (or Space) strengthens the wind, Paths (P) toggles the flight trails and Flow (F) shows the wind field and the pappus vortex rings.
Paste this into Claude Code, Codex or any coding agent to get a simple version running, then take it wherever you like.
Build a windy meadow where seeds disperse in different ways, with JavaScript and the HTML canvas element. Put everything in a single index.html file with no libraries or build step, so I can open it directly in a browser.
Start simple:
- Make a canvas that fills the window, scales by devicePixelRatio and resizes with the window. Paint a blue sky gradient, a green meadow below a horizon line and a simple tree on the left.
- Write a wind function wind(x, y, t) that returns a velocity: a mean breeze to the right that is weaker near the ground, plus a slowly changing gust.
- Release two kinds of seeds. Dandelion seeds sink slowly (about 0.3 m/s) and otherwise follow the air: each frame, relax their velocity toward the wind plus a small fall speed. Maple samaras fall faster at first, then "autorotate": once they fall fast enough, their terminal speed drops to about 1 m/s and their wing spins.
- Draw dandelion seeds as a short stalk with a fan of thin white bristles, and samaras as a spinning wing around a dark seed. When a seed hits the ground, record how far it traveled.
Once that works, make it beautiful:
- Add turbulence that cannot pile air up anywhere: take a noise function as a stream function and use its curl as the velocity.
- Draw grass blades that bend with the same wind field, so you can see gusts sweep across.
- Let me drag to blow on the seeds, and show a small chart of dispersal distances for each kind.
Explain the key ideas in short code comments. When you're done, tell me how to open it and suggest three directions I could take it next, such as falling leaves that flutter and tumble with a quasi-steady plate model, thermals that loft seeds high, or seedlings that sprout where seeds land.