| Scientific Visualization of Vector Fields and NPR
23, 2008 (07:25)
The importance of Flow Visualization techniques arises when one wants to gain an visual understanding
of the flow of certain numerical simulation (for example in computational fluid dynamics)
or from measurements. The picture below ilustrate some of the methods
for visualize planar vector fields.
As I've said, there are so many techniques for vector field visualization
in the literature nowadays, but among them there is one called "Line Integral Convolution"-LIC (in the picture the first in the second row),
introduced by Brian Cabral and Leith (Casey) Leedom at the SIGGRAPH of 1993, which has gained more
popularity. At the begins, LIC lacked of good performance, and was done just for planar vector fields.
Today there are a lot of derivations of the LIC algorithm, including GPU-based implementations,
that gives the user an interactive way of visualizing vector fields in 2D and 3D mesh surfaces.
One of the features of the LIC algorithm is that it can be used to plasm NPR effects on images,
and to generate directional textures. In order to gain arbitrary textures generated with LIC,
I have done a program to design simple vector fields using LIC for the visualization. The implementation
uses the library CImg that can be downloaded from here.
Also The implementations details can be found here.
The vector field design program allow the user to visualize the changes on both the initial white noise
and the input picture. Also it can show the actual singular points of the vector field as white points, see
The next example show the differents impresions a sink does over a picture.
LIC SILHOUETTE and TOON SHADING
An automated silhouette can be found using a dithered version of the LIC algorithm. Also a particular toon shading can be achieved with the same idea, the type of singularity determines the
the shape of the light, see figure below and the implementation section for details.
We adapted a pencil effect algorithm (which perform strokes in a fixed direction) to interactively paint pencil strokes in the direction of
an input vector field. Strokes are then integral curves with a fixed length predefined. See the implementation section for details.
To create an image with a hand-painted appearance from an input photograph we used curved brush strokes
of multiples sizes guided by integral curves of the input vector field.