5.20.2008

Progress Update

We now have a running touch table with particle-blob collisions!



Please excuse the poor video quality (It's from a cell phone).

If the video isn't working, you can try this link.

In this example we have put note cards on the table. The table finds the outline of the note cards and then uses the outlines (or blobs) in collision detection. This works with hands as well, but it would have been harder to see in the video. If you watch closely near the end of the clip, you can see Matt moving one of the note cards. The blob follows the card, and the particles continue to bounce off the blob as it moves.

5.07.2008

Touch Table Interface Update

The touch table is up and running with concurrent threads and the new aparatus from COSI.

Currently we are only able to respond to messages coming at a frame rate of 8.

We will be trying a couple of options to speed up the message listening process:
- listening on several threads instead of just one
- culling out the messages for blobs that have not updated since the last frame

Marching square updates

Marching squares is up and runs interactively.

Another paper for fluid flow:

Curl noise for procedural fluid flow -- SIGGRAPH 2007.

4.23.2008

Marching Squares -Animation

Here is a link to the Marching Squares of particles. It seems to be slow. After unsuccesfully trying to migrate the marching squares algorithm from linux to windows, it turned out to be that its not slow because of marching squares. probably there is no hardware acceleration in linux, or something wrong in the build process.

Interface Update - Threaded Blob Detection & Messaging

After much ado, I've gotten the message passing, parsing, storing, and displaying running concurrently with video input.

The upside is that this is stable for reasonable sets of blobs. The downside is that this hasn't been optimized yet, so it runs at about 5 fps. This should improve in the next couple of days as I go through and optimize the code for message parsing and storing.

Here is a video of the input from the sending computer alongside the output from the listening computer:

4.16.2008

Additional Literature

Here is some recent work related to our task of water representation and rendering.

Surface Creation/Extraction

Most recent method proposed for surface extraction from a particle system.
Real-time particle isosurface extraction

This paper creates a surface from a particle system. It mentions several alternative methods, including splatting, marching cubes, and ray-casting.
Realistic and Interactive Simulation of Rivers
Presentation Slides

Rendering and Textures

Animating water realistically, then applying a non-photorealistic appearance.
A Method for Cartoon-Style Rendering of Liquid Animations

Updating texture information according to fluid flow/advection.
Texturing Fluids

In contrast, this paper generates a new texture for each frame:
A Texture Synthesis Method for Liquid Animations

SPH

Performance analysis of stable fluids, including new speedup methods
Hardware-aware analysis and optimization of stable fluids


Judging from this literature search, some possible research avenues that could be explored as part of this project include animating water in a non-photorealistic style and possibly surface creation.

4.13.2008

Marching Squares


An output from the marching squares algorithm for an isovalue of 0.5. The grid values were generated randomly from 0 to 1 (not the particle system).
Should the endpoints of the simplices be triangulated to get a surface ?

-Sundar