HoneyGinger
HoneyGinger is an interactive simulation environment based on Smoothed Particle Hydrodynamics, aiming at
- easy construction of simulation environments by combinating rules and actions
- rich interaction by a variety of visualizations and user inputs
Project Page
The source code of HoneyGinger is publicly open at SqueakSource under the MIT license.
Gallery
Lagoon
Let's swirl in a tropic lagoon!
You are viewing a white lagoon from the sky.
Moves of a mouse cursor make turbulance in the body of water. The water body in return gives drag to the cursor.
The video first shows particles of water as dots.
After several moves of the mouse cursor, the water is expressed as polygons, produced by Delaunay triangulation. Each polygon has an alpha value (transparency) according to the pressure at its center.
The 3rd visualization is rectangular meshes. Each cell has an alpha value according to the pressure at the center. You'll see the waves' traveling across the lagoon.
Splash!
The next show is "Splash!"
You are viewing a water tank made with glass.
The body of water is at first at only the right side.
Each particle falls down to compress the body of water, and the water runs to the left side. It makes a big splash at the left side, and then returns to the right.
The wave will cease down soon by viscosity.
The video, like Lagoon, starts with visualizing water particles as dots, then shows a triangulated body, and ends with the rectangular mesh.
Borderline
The next visualization is borderlines.
Like "Splash!", you are watching a fish tank from a side.
The video shows visualization by dots.
It next shows a border line between the water and the air. The borderline is calculated by the Marching Squares method, which linearly interpolates the borderline of a field.
The video subsequently shows visualizing the water body as polygons, this time created by the Marching Squares method instead of the Delaunay triangulation.
The video then ends with visualizing both the borderline and the enclosed polygons as a presentation with a toon-like touch.
Graffiti
If you like toon-like rendering, you might also love this graffiti rendering.
Wet it
This demo shows how to wet an image.
An image cut from the display screen is given to the simulation as a map of obstacles.
Let's see the water particles flowing between the obstacles.
The mouse cursor decides the direction of gravity. When it's at the bottom of the screen, the gravity is directed downward. When it's at the left edge, the gravity pulls particles to left.
The demo starts with the visualization as dots. You'll see the particles flowing around obstacles.
The next visualization is by mesh. You'll see a wet image.
Morphic Lagoon
This demo shows how the fuild interacts with morphic objects. We are again at a lagoon. When a menu is dropped at a lagoon, it makes waves as if a menu blick is thrown at there.
Opening and retracting submenus also make waves accordingly. A part of window pushes water to make rather big waves. Closing menus and windows makes vacuum and water runs into there leaving some waves.
Well, how about moving morphic object? Let's try some blue rectangle morphs that goes on an arc. They are like water jets, aren't they?
Releasing more water jets make bigger move of water and you'll observe a current.
Refraction
HoneyGinger can also show refraction of fluid faces. The screen is diced into small pieces and each piece is projected on a picture with a refraction angle computed from the angle of the surface at the position.
Mouse cursors, menus, windows, and any morphs disrupts fluid faces and thus the refracted pictures.
Warmth and Moisture
HoneyGinger can give to a still photo a pseudo dynamism. Particles and refraction together render "warmth" of food with steam and "moist" feeling on soup.
Mouse cursor paints steam and water on still pictures.