Line Integral Convolution

From David's Wiki
Revision as of 16:29, 18 November 2019 by David (talk | contribs) (Created page with "{{main | Wikipedia:Line Integral Convolution}} [http://cs.brown.edu/courses/csci2370/2000/1999/cabral.pdf LIC Paper]<br> The line integral convolution is a simple way to creat...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
\( \newcommand{\P}[]{\unicode{xB6}} \newcommand{\AA}[]{\unicode{x212B}} \newcommand{\empty}[]{\emptyset} \newcommand{\O}[]{\emptyset} \newcommand{\Alpha}[]{Α} \newcommand{\Beta}[]{Β} \newcommand{\Epsilon}[]{Ε} \newcommand{\Iota}[]{Ι} \newcommand{\Kappa}[]{Κ} \newcommand{\Rho}[]{Ρ} \newcommand{\Tau}[]{Τ} \newcommand{\Zeta}[]{Ζ} \newcommand{\Mu}[]{\unicode{x039C}} \newcommand{\Chi}[]{Χ} \newcommand{\Eta}[]{\unicode{x0397}} \newcommand{\Nu}[]{\unicode{x039D}} \newcommand{\Omicron}[]{\unicode{x039F}} \DeclareMathOperator{\sgn}{sgn} \def\oiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x222F}\,}{\unicode{x222F}}{\unicode{x222F}}{\unicode{x222F}}}\,}\nolimits} \def\oiiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x2230}\,}{\unicode{x2230}}{\unicode{x2230}}{\unicode{x2230}}}\,}\nolimits} \)

LIC Paper
The line integral convolution is a simple way to create a 2D visualization/image of a vector field.
This is good for visualizing circular flows in your vector field.
The primary drawback is that it can only visualize direction and not magnitude of the vector field.
The magnitude is often visualized using colors.


Basic Idea

  • Create a random image with the target resolution that you want.
  • For each pixel in the destination image, do a forward and backward walk using the directions in the vector field and with a fixed magnitude and total steps.
  • Output the average of the noise accumulated from the random image during your walk.

Animated

Use a sinusoidal kernel to weigh the noise you accumulate during your walk.