Imaging Vector Fields Using
Line Integral Convolution
Erich Ess
Slide 2
Slide 2 text
Vector Fields
• A vector field is a function V with
takes a location in space and
returns a vector
• Used to represent things like:
fluid behavior, magnetic fields,
gravity, etc.
Slide 3
Slide 3 text
Where do Vector Fields Arise
• Fluid Dynamics
• Climate information
• Physics including modelling electromagnetic fields, gravity, and
particle motion
Slide 4
Slide 4 text
Prior Techniques
• Several techniques with specific drawbacks which Line Integral
Convolution attempts to solve
Slide 5
Slide 5 text
Glyphs
• Divide the space into a grid
• At each point on the grid
• Get the vector at that point
• Draw a glyph (like an arrow) which
points in the direction of the
vector
Slide 6
Slide 6 text
Glyphs: Problems
• Take up a lot of visual space
• Limits how many glyphs you can
display which means
• Overly turbulent or large vector
fields don’t render well with
glyphs
• It becomes hard to visualize or
intuit how something would
move through the vector field
Slide 7
Slide 7 text
Stream Lines
• Stream Lines draw lines which start
at a point and the follow the flow
of the vector field
• Pick a point in the space
• Get the vector at that point and
move a step in the direction of that
vector
• Draw a line connecting the
previous point and the new point
• Repeat
Slide 8
Slide 8 text
Stream Lines: Problems
• Depend critically on where
stream lines are placed
• Complex information in
turbulent vector fields can be
missed entirely if the stream
lines are not well placed
Slide 9
Slide 9 text
DDA Convolution
• An intermediate step to Line
Integral Convolution
• DDA convolution takes a vector
field and an input image (usually
white noise), the image is mapped
one to one to the vector field
• For each vector a short line is
followed and each pixel on the line
is summed
• The result is the value of the pixel
at the vector point
Slide 10
Slide 10 text
DDA Convolution Example
Slide 11
Slide 11 text
DDA Convolution: Problems
• Assumes that the local vector
field can be modelled using a
straight line
• Works for where the local
curvature is small
• Does not work where the local
curvature is high, such as
turbulent fluids or small vortices
Slide 12
Slide 12 text
DDA Convolution
Well Suited Poorly Suited
Slide 13
Slide 13 text
Line Integral Convolution
• Combine DDA Convolution with Stream Lines
• DDA Convolution: follow a straight line that’s parallel to the vector
and sample each pixel in the input image at each step on this straight
line
• Line Integral Convolution: trace a stream line through the vector field
and sample the input image at each step
Slide 14
Slide 14 text
LIC: The Sampling Process Visual
Slide 15
Slide 15 text
Convolution
Slide 16
Slide 16 text
Convolution
• Each step on the curve maps to a pixel on the input image
• The color of that pixel is sampled to get the color of the output pixel
• At each point the convolution kernel is used to determine the weight
that pixel color will have to the output
Slide 17
Slide 17 text
Convolution
• The function k is a weighting function used to determine how much a
specific pixel in the input image will contribute to the value of an
output pixel
• The simplest version of LIC just uses the unit function k(w)=1 for it’s
kernel
Slide 18
Slide 18 text
Convolution
• With k(w)=1 the kernel looks like this
k(w)
Slide 19
Slide 19 text
Periodic Motion Filters
• Using the basic kernel doesn’t show any information with regards to
the direction of flow
• Using more complex kernel functions allow us to use the direction of
the vector field and the distance from the given point to impact the
weight of a given pixel from the input image
Slide 20
Slide 20 text
Convolution with an advanced kernel
k(w)
Slide 21
Slide 21 text
Sample Kernels
• Hanning Filter Functions
Slide 22
Slide 22 text
Normalization
• Playing with how normalization
works can also be used to
provide additional information
• In the bottom image,
normalization is used to
highlight sources and sinks