Visualization and GraphicsInteractionDept ICSFaculty of ScienceUU


Image Based Flow Visualization


Visualizing fluid flows (or, more generally, 2D and 3D vector fields) is a long-standing problem in scientific visualization. Discrete methods such as particles, stream objects, glyph plots, and color-coded direction plots suffer from several limitations: They only give a partial view of the vector field; and they are often unintuitive.


Image-based techniques offer a solution to the above problems. They work by synthesizing an animated view of the vector field where a noise-like texture, covering the vector domain, is advected in the flow over time. This gives a dense representation of the field and, also, an intuitive one; actual vector direction and magnitude is directly encoded in the animated patterns.

Image-based fluid flow visualization for 3D fields

We propose a technique that generates such animations for 3D vector fields. Simply put, the technique generates a 3D (volumetric) noise volume which is then advected over time in the field. Suitable modulations of color and transparency are used to generate the animation effect. The results are very similar to watching a video of falling snow, against a nightly background, with a long-exposure time.

The videos below illustrate our IBFV 3D technique.

IBFV 3D example

IBFV 3D example

The technique is simple to implement and works in real-time for large 3D vector fields (using just OpenGL1.1).

Multiscale image-based fluid flow visualization

A limitation of the above technique is that it creates a single scale of patterns, as given by the granularity of the noise being advected. Using fine-scale noise creates fine-scale animations which, however, can fail to convey the coarse-scale flow patterns present. Using coarse-scale noise is tricky since such noise should be distributed according to the flow patterns (if we want to effectively capture these).

Multiscale image-based flow visualization (MIBFV) solves this problem. It decomposes the fluid flow (vector) field into a hierarchy of small-to-large patterns which locally show similar behavior. Then, it seeds the noise according to the size and shape of these patterns. This ensures that all flow patterns are covered at the desired scale, given by the selected hierarchy level.

The video below illustrates MIBFV for a 2D flow field.

MIBFV example