Professional Documents
Culture Documents
Line Integral Convolution PDF
Line Integral Convolution PDF
Scientific Visualization
- A global method to visualize vector fields
Flow Visualization
- Kernel:
- Finite support [-L,L] kernel 1 ∫ k (t )dt = 1
L
- Normalized k(t)
-L
1
Line Integral Convolution Line Integral Convolution
- Fast LIC
- Problems with LIC
- New stream line is computed at each pixel
Input noise Vector field - Convolution (integral) is computed at each pixel
- Slow
∫ k (t )dt = 1 - Idea:
L
kernel 1
-L
∑T
Assumption: box filter L I0 = 1
k (t ) = T0 x0
∑T
2L +1
I0 =
1 i
k (t ) = T0 x0
1 2L +1
1 i = -L
2L +1 2L +1 i
i = -L
x-m T-L
x-m T-L I1 = I 0 + (TL +1 − T-L ) /(2 L + 1)
x-L
x-L T-m
T-m
Course WS 05/06 – Scientific Visualization Course WS 05/06 – Scientific Visualization
Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization
∑ (T − Ti + j ) = (T − T- L + j )
L End if
I j +1 − I j = 1
2L +1 i + j +1
1
2L +1 L + j +1
End for
Normalize all pixels according to Alpha
i = -L
2
Line Integral Convolution Line Integral Convolution
- Summary: - Oriented LIC (OLIC):
- Dense representation of flow fields - Visualizes orientation (in addition to direction)
- Convolution along stream lines → correlation along - Sparse texture
stream lines - Anisotropic convolution kernel
- For 2D and 3D flows - Acceleration: integrate individual drops and compose
- Stationary flows them to final image
- Extensions:
- Unsteady flows anisotropic
1
convolution kernel
- Animation
- Texture advection
-l l
Vector field =
gradient fields of image
3
Line Integral Convolution Line Integral Convolution
Lic-Applications: length of convolution integral Lic and color coding of velocity magnitude
with respect to magnitude of vector field
Course WS 05/06 – Scientific Visualization Course WS 05/06 – Scientific Visualization
Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization
4
Vector Field Topology Vector Field Topology
- How to find critical points (cont.) - Taylor expansion for the velocity field around a
- How to find critical points within simplex? critical point rc with (V(r
V(rc)= 0):
- Based on barycentric interpolation v(r ) = v(rc ) + ∇v ⋅ (r − rc ) + O(r − rc )2
- Solve analytically
≈ J ⋅ (r − rc )
- Alternative method:
- Iterative approach based on 2D / 3D nested intervals - Divide Jacobian into symmetric and anti-
anti-
- Recursive subdivision into 4 / 8 subregions if critical point is symmetric parts
contained in cell
J = Js + Ja = ((J
((J + JT) + (J
(J - JT))/2
Js = (J
(J + JT)/2
Ja = (J
(J - JT)/2
J s rs = R rs R = R 1, R 2 , R 3 ⎛ 0 ∂v x
−
∂v y ∂v x
− ∂∂vxz ⎞⎟
⎜ ∂v ∂y ∂x ∂z
1 ⎜ ∂xy − ∂∂vyx 0
∂v y
∂z
− ∂∂vyz ⎟ ⋅ d = 1
(∇ × v ) × d
⎜ ∂v z ∂v x ⎟
2 2
- Eigenvectors rs are an orthonormal set of vectors ⎜ ∂x − ∂z
⎝
∂v z
∂y
∂v y
∂z
0 ⎟
⎠
- Describes change of size along eigenvectors
- Describes flow into or out of region around critical point - Describes rotation of difference vector d = (r
(r - rc)
- The anti-
anti-symmetric part can be solved to give imaginary
eigenvalues I
J a ra = Ira I = I1, I 2 , I 3
Repelling focus
Repelling node R1, R2 > 0
R1, R2 > 0 I1,I2 ≠ 0
Attracting node
I1,I2 = 0 Attracting focus
R1, R2 < 0
I1,I2 = 0 R1, R2 < 0
I1,I2 ≠ 0
Saddle point
Center
R1 * R2 < 0
R1, R2 = 0
I1,I2 = 0
I1,I2 ≠ 0
5
Vector Field Topology Vector Field Topology
- Also in 3D - Mapping to graphical primitives: streamlines
- Some examples - Start streamlines close to critical points
- Initial direction along the eigenvectors
- End particle tracing at
- Other “real”
real” critical points
- Interior boundaries: attachment or detachment points
Attracting node
- Boundaries of the computational domain
R1, R2 , R3 < 0
I1,I 2,I3 = 0
Center
R1, R2 = 0, R3 > 0
I1,I2 ≠ 0, ,I3 = 0
6
3D Vector Fields 3D Vector Fields
- Approaches to occlusion issue: - Missing continuity
- Sparse representations
- Animation
- Color differences to distinguish separate objects
- Continuity
- Reduction of visual data:
- Sparse representations
- Clipping
- Importance of semi-
semi-transparency
7
3D Vector Fields 3D Vector Fields
- Illuminated streamlines [Zö
[Zöckler et al. 1996]
1996] - Illuminated streamlines (cont
(cont.)
.)
- Model: streamline is made of thin cylinders - Light vector is split in tangential and normal parts
- Problem V ⋅ R = V ⋅ (L N − LT ) = V ⋅ ((L ⋅ N)N − (L ⋅ T)T )
- No distinct normal vector on surface = (L ⋅ N)(V ⋅ N) − (L ⋅ T)(V ⋅ T)
- Normal vector in plane perpendicular to tangent: normal
space = 1 − (L ⋅ T) 2 1 − (V ⋅ T) 2 − (L ⋅ T)(V ⋅ T)
- Cone of reflection vectors = f ((L ⋅ T), (V ⋅ T) )
x
s
q r00
r
x P-space
0,1
C-space
0,0 1,0 p
Course WS 05/06 – Scientific Visualization Course WS 05/06 – Scientific Visualization
Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization
s
x
- J is Jacobi matrix:
Φ or J
⎛ ∂Φx ∂Φx⎞
q r00 ⎜ ⎟
∂p ∂q
r J=⎜ ⎟
⎜ ∂Φy ∂Φy⎟ (2D case)
⎜ ⎟
x P-space ⎝ ∂p ∂q ⎠
0,1
C-space
0,0 1,0 p
Course WS 05/06 – Scientific Visualization Course WS 05/06 – Scientific Visualization
Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization
8
Particle Tracing on Grids Particle Tracing on Grids
- Particle tracing in C-
C-space - Transformation of points from C-
C-space to P-
P-space
- Algorithm - r = Φ(s):
Select start point r in P-
Find P-
P-space cell
P-space (seed point)
point location
- Bilinear (in 2D) or trilinear (in 3D) interpolation between
C-space s
Transform start point to C- coordinates of the cell’
cell’s vertices
While (particle in domain) do
Transform v → u at vertices (P → C) - Transformation of vectors from
from P-
P-space to C-
C-space
Interpolate u in C-
C-space interpolation - u = J-1 ⋅ v
Integrate to new position s in C-
If outside current cell then
C-space integration
- Needs inverse of the Jacobian
Clipping
Find new cell point location
- Numerical computation of elements of the Jacobi
Endif matrix:
P-space s → r
Transform to P- (C → P)
Draw line segment between latest - Backward differences (bd
(bd))
particle positions
- Forward differences (fd
(fd))
- Central differences (cd
Endwhile
(cd))
9
Particle Tracing on Grids Particle Tracing on Grids
- Stencil-
Stencil-walk on curvilinear grids (cont.
(cont.)) - Idea of stencil-
stencil-walk:
- Transformation of distances Δs = snew–sold , Δr = rnew–rold - Guess start point in C- C-space
- Taylor expansion: - Compute difference between corresponding position and
Δr = rnew − rold = Φ( snew ) − Φ( s old ) = JΦ ( s old ) ⋅ Δs + K target position in P- P-space
- Therefore Δs ≈ [ JΦ ( s old )]−1 Δr - Improve position in C- C-space
- Iterate
Φ-1 or J-1 Φ or J
-1 -1
x Δr x Δr
x x
s old s old
Φ or J Φ or J
q r00 q r00
rold s rold r
s new rnew new new
x x P-space x x P-space
0,1 0,1
C-space C-space
0,0 1,0
Δs p 0,0 1,0
Δs p
V1
V0 1
d i2
v = ∑i
w ivi , where d i = ri − r p and wi =
∑
1
10
Particle Tracing on Grids
- Important properties of C-
C-space integration:
+ Simple incremental cell search
+ Simple interpolation
- Complicated transformation of velocities / vectors
- Important properties of P-
P-space integration:
+ No transformation of velocities / vectors
- Complicated point location (stencil walk) for bi / trilinear
interpolation
11