Line Integral Convolution - A global method to visualize vector fields Scientific Visualization Flow Visualization computer graphics & visualization Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Line Integral Convolution - Line Integral Convolution (LIC) - Visualize dense flow fields by imaging its integral curves - Cover domain with a random texture (so called ‚input texture‘ texture‘, usually stationary white noise) - Blur (convolve) the input texture along the path lines computer graphics & visualization Line Integral Convolution - Idea of Line Integral Convolution (LIC) - Global visualization technique - Start with random texture - Smear out along stream lines using a specified filter kernel - Look of 2D LIC images - Intensity distribution along path lines shows high correlation - No correlation between neighboring path lines Course WS 05/06 – Scientific Visualization Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Line Integral Convolution - Algorithm for 2D LIC - Let t → Φ0(t) be the path line containing the point (x (x0,y0) - T(x,y) is the randomly generated input texture - Compute the pixel intensity as: L convolution with kernel I ( x0 , y 0 ) = ∫ −L k (t ) ⋅ T (φ0 (t )) dt - Kernel: - Finite support [-L,L] - Normalized - Often simple box filter - Often symmetric (isotropic) kernel k(t) Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Line Integral Convolution - Algorithm for 2D LIC - Convolve a random texture along the stream lines ∫ k (t )dt = 1 L 1 -L -L L Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 1 Line Integral Convolution Line Integral Convolution - Fast LIC - Problems with LIC Input noise Vector field Convolution - Idea: ∫ k (t )dt = 1 L kernel k(t) 1 -L -L - New stream line is computed at each pixel - Convolution (integral) is computed at each pixel - Slow - Compute very long stream lines - Reuse these stream lines for many different pixels - Incremental computation of the convolution integral L Final image Course WS 05/06 – Scientific Visualization Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Line Integral Convolution - Next position I1 - Discretization of convolution integral TL - Summation T0 x0 I0 = L 1 2L +1 ∑T i = -L i x-L Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group kernel - Stream line x-m,..., x0,..., xn with m,n ≥ L - Given texture values T-m,...,T0,...,T ,...,Tn - What are results of convolution: I-m+L,..., I0,..., In-L? kernel): - For box filter (constant L ∑T i - Incremental integration: I j +1 − I j = ∑ (T L 1 2L +1 i = -L i + j +1 − Ti + j ) = 1 2L +1 (T L + j +1 − T- L + j ) Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group 1 2L +1 T0 x0 T-L x-L I0 = L 1 2L +1 ∑T i i = -L I1 = I 0 + (TL +1 − T-L ) /(2 L + 1) Course WS 05/06 – Scientific Visualization computer graphics & visualization Line Integral Convolution - Fast LIC: incremental integration for constant i = -L k (t ) = x-m T-m T-L x-m T-m 1 2L +1 Tn xn xL Assumption: box filter Assumption: box filter I0 = TL Tn xn xL 1 2L +1 computer graphics & visualization Line Integral Convolution - Fast LIC: incremental integration - Fast LIC: incremental integration k (t ) = Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Line Integral Convolution - Fast LIC: Algorithm - Data structure for output: Luminance/Alpha image - Luminance = graygray-scale output - Alpha = number of streamline passing through that pixel For each pixel p in output image If (Alpha(p (Alpha(p) < #min) Then Initialize streamline computation with x0 = center of p Compute convolution I(x0) Add result to pixel p (increment alpha) For m = 1 to Limit M Incremental convolution for I(xm) and I(x-m) Add results to pixels containing xm and x-m (incr. alpha) End for End if End for Normalize all pixels according to Alpha Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 2 Line Integral Convolution - Summary: - Dense representation of flow fields - Convolution along stream lines → correlation along stream lines - For 2D and 3D flows - Stationary flows - Extensions: - Line Integral Convolution - Oriented LIC (OLIC): - Visualizes orientation (in addition to direction) - Sparse texture - Anisotropic convolution kernel - Acceleration: integrate individual drops and compose them to final image Unsteady flows Animation Texture advection 1 anisotropic convolution kernel -l Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Line Integral Convolution - Oriented LIC (OLIC) Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Line Integral Convolution - LIC - Line Integral Convolution Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group l Course WS 05/06 – Scientific Visualization computer graphics & visualization Line Integral Convolution Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Line Integral Convolution Vector field = gradient fields of image Lic – Applications: Motion blurring by means of biased triangle filter and variable length LIC Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 3 Line Integral Convolution Line Integral Convolution Lic-Applications: length of convolution integral with respect to magnitude of vector field Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Lic and color coding of velocity magnitude Course WS 05/06 – Scientific Visualization computer graphics & visualization Line Integral Convolution - Summary: - Dense representation of flow fields - Convolution along stream lines → correlation along stream lines - For 2D and 3D flows - Stationary flows - Extensions: Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Vector Field Topology - Idea: Do not draw “all” all” streamlines, but only the “important” important” ones - Show only topological skeletons - Connection of critical points - Critical points: - Points where the vector field vanishes: v = 0 - Points where the vector magnitude goes to zero and the - Unsteady flows - Animation - Texture advection vector direction is undefined - Sources, sinks, … - The critical points are connected to divide the flow into regions with similar properties Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Vector Field Topology - How to find critical points - Cell search (for cells which contain critical points) points) - Mark vertices by (+,+), (–, –), (+, –) or (–,+), depending on the signs of vx and vy - Determine cells that have vertices where the sign changes in both both components –> these are the cells that contain critical points - Find the critical points by interpolation Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Vector Field Topology - How to find critical points within a cell - Determine intersection of isolines (c=0) of the two components - Two bilinear equations (or one quadratic equation) to be solved - Critical points are the (real) solutions within the cell boundaries boundaries (+,+) (+,+) (yes,yes) (+,–) (no,yes) Vy= 0 Vx= 0 (–,–) Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group (+,–) (+,–) Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 4 Vector Field Topology - How to find critical points (cont.) Vector Field Topology - 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 - Solve analytically v(r ) = v(rc ) + ∇v ⋅ (r − rc ) + O(r − rc )2 ≈ J ⋅ (r − rc ) - Alternative method: - Iterative approach based on 2D / 3D nested intervals - Recursive subdivision into 4 / 8 subregions if critical point is contained in cell - Divide Jacobian into symmetric and antiantisymmetric parts J = Js + Ja = ((J ((J + JT) + (J (J - JT))/2 Js = (J (J + JT)/2 Ja = (J (J - JT)/2 Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Vector Field Topology - The symmetric part can be solved to give real eigenvalues R and real eigenvectors Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Vector Field Topology - AntiAnti-symmetric part J ⋅ d = (J − J )⋅ d = a J s rs = R rs R = R 1, R 2 , R 3 - Eigenvectors rs are an orthonormal set of vectors - Describes change of size along eigenvectors - Describes flow into or out of region around critical point computer graphics & visualization 1 2 T 1 2 ⎛ 0 ⎜ ∂v ⎜ ∂xy − ∂∂vyx ⎜ ∂v z ∂v x ⎜ ∂x − ∂z ⎝ ∂v x ∂y ∂v y ∂v x ∂x ∂z ∂v y ∂z ∂v y − 0 ∂v z ∂y ∂z − ∂∂vxz ⎞⎟ − ∂∂vyz ⎟ ⋅ d = ⎟ 0 ⎟ ⎠ 1 2 (∇ × v ) × d - Describes rotation of difference vector d = (r (r - rc) - The antianti-symmetric part can be solved to give imaginary eigenvalues I J a ra = Ira Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Vector Field Topology - 2D structure: eigenvalues are (R (R1, R2) and (I (I1,I2) Repelling node R1, R2 > 0 I1,I2 = 0 Repelling focus R1, R2 > 0 I1,I2 ≠ 0 Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Vector Field Topology - 2D structure: eigenvalues are (R (R1, R2) and (I (I1,I2) Attracting node R1, R2 < 0 I1,I2 = 0 Saddle point R1 * R2 < 0 I1,I2 = 0 Attracting focus R1, R2 < 0 I1,I2 ≠ 0 Center R1, R2 = 0 I1,I2 ≠ 0 Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group I = I1, I 2 , I 3 Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 5 Vector Field Topology - Also in 3D Vector Field Topology - 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 - Boundaries of the computational domain Attracting node R1, R2 , R3 < 0 I1,I 2,I3 = 0 Center R1, R2 = 0, R3 > 0 I1,I2 ≠ 0, ,I3 = 0 Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Vector Field Topology - Example of a topological graph of 2D flow field Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Vector Field Topology - Further examples of topologytopology-guided streamline positioning Course WS 05/06 – Scientific Visualization computer graphics & visualization Vector Field Topology - Summary: - Draw only relevant streamlines (topological skeleton) - Partition domain in regions with similar flow features - Based on critical points - Good for 2D stationary flows - Instationary flows? - 3D? Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 3D Vector Fields - Most algorithms can be applied to 2D and 3D vector fields - Main problem in 3D: effective mapping to graphical primitives - Main aspects: - Occlusion - Amount of (visual) data - Depth perception Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 6 3D Vector Fields - Approaches to occlusion issue: - Sparse representations - Animation - Color differences to distinguish separate objects - Continuity 3D Vector Fields - Missing continuity - Reduction of visual data: - Sparse representations - Clipping - Importance of semisemi-transparency Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization 3D Vector Fields - Color differences to identify connected structures Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 3D Vector Fields - Reduction of visual data - 3D LIC Course WS 05/06 – Scientific Visualization computer graphics & visualization 3D Vector Fields - Improving spatial perception: Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 3D Vector Fields - Illumination - Depth cues - Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Perspective Occlusion Motion parallax Stereo disparity Color (atmospheric, fogging) - Halos - Orientation of structures by shading (highlights) Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 7 3D Vector Fields - Illuminated streamlines [Zö [Zöckler et al. 1996] 1996] - Model: streamline is made of thin cylinders - Problem 3D Vector Fields .) - Illuminated streamlines (cont (cont.) - Light vector is split in tangential and normal parts V ⋅ R = V ⋅ (L N − LT ) = V ⋅ ((L ⋅ N)N − (L ⋅ T)T ) - No distinct normal vector on surface - Normal vector in plane perpendicular to tangent: normal space - Cone of reflection vectors = (L ⋅ N)(V ⋅ N) − (L ⋅ T)(V ⋅ T) = 1 − (L ⋅ T) 2 1 − (V ⋅ T) 2 − (L ⋅ T)(V ⋅ T) = f ((L ⋅ T), (V ⋅ T) ) - Idea: Represent f() by 2D texture - Access prepre-computed f() during rendering Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization 3D Vector Fields - Illuminated stream lines Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Particle Tracing on Grids - How do we handle curvilinear grids? - C-space (computational space) vs. PP-space (physical space) x s r00 q r x 0,1 0,0 Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization - Points by Φ - Vectors by J computer graphics & visualization Particle Tracing on Grids - Transformation of points: - From CC-space to PP-space: r = Φ(s) - From PP-space to CC-space: s = Φ-1(r) - From CC-space to PP-space: v = J ⋅ u - From PP-space to CC-space: u = J-1 ⋅ v - J is Jacobi matrix: x s Φ or J ⎛ ∂Φx ⎜ ∂p J=⎜ ⎜ ∂Φy ⎜ ⎝ ∂p r00 q r x 1,0 Prof. Dr. R. Westermann – Computer Graphics and Visualization Group - Transformation of vectors: Φ-1 or J-1 0,1 p Course WS 05/06 – Scientific Visualization Particle Tracing on Grids - Particle tracing can be done in CC-space or PP-space - Transformation of 0,0 1,0 P-space C-space P-space p ∂Φx ∂q ∂Φy ⎞ ⎟ ⎟ ⎟ ⎟ ∂q ⎠ (2D case) C-space Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 8 Particle Tracing on Grids - Particle tracing in CC-space - Algorithm Particle Tracing on Grids - Transformation of points from CC-space to PP-space Select start point r in PP-space (seed point) Find PP-space cell Transform start point to CC-space s While (particle in domain) do Transform v → u at vertices (P → C) Interpolate u in CC-space Integrate to new position s in CC-space If outside current cell then Clipping Find new cell Endif Transform to P(C → P) P-space s → r Draw line segment between latest particle positions Endwhile - r = Φ(s): - Bilinear (in 2D) or trilinear (in 3D) interpolation between point location coordinates of the cell’ cell’s vertices - Transformation of vectors from from PP-space to CC-space - u = J-1 ⋅ v - Needs inverse of the Jacobian interpolation integration - Numerical computation of elements of the Jacobi point location matrix: - Backward differences (bd (bd)) - Forward differences (fd (fd)) - Central differences (cd (cd)) Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Course WS 05/06 – Scientific Visualization computer graphics & visualization Particle Tracing on Grids - Computing Jacobi matrices on curvilinear grids: - Per cell (central differences): fast, inaccurate - Per vertex (central differences): slower, higher accuracy - 4 (in 2D) or 8 (in 3D) per vertex (backward and forward differences): timetime-consuming, compatible with bi / trilinear interpolation, accurate Jcd Jbdfd Jcd Jbdbd computer graphics & visualization Particle Tracing on Grids - Particle tracing in PP-Space - Algorithm Select start point r in PP-space (seed point) point location Find PP-space cell and local coords While (particle in domain) do Interpolate v in PP-space interpolation integration point location Integrate to new position r in PP-space Jcd Jcd Once per cell Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Jcd Once per vertex Jfdbd Jfdfd 4 per vertex Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Find new position Draw line segment between latest particle positions Endwhile Course WS 05/06 – Scientific Visualization computer graphics & visualization Particle Tracing on Grids - Main problem: Point location / local coordinates in cell - Given is point r in PP-space - What is corresponding position s in CC-space? - Coordinates s are needed for interpolating v Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Particle Tracing on Grids - StencilStencil-walk on curvilinear grids - Given: rold, rnew, sold , Φ(sold) = rold - Determine snew Φ-1 or J-1 x - Solution: StencilStencil-walk algorithm [Bunnig ’89] - Iterative technique - Needs Jacobi matrices s old Φ or J q 0,0 Course WS 05/06 – Scientific Visualization 1,0 x r00 s new x x 0,1 Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization rold rnew P-space p C-space Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 9 Particle Tracing on Grids - StencilStencil-walk on curvilinear grids (cont. (cont.)) - Transformation of distances Δs = snew–sold , Δr = rnew–rold - Taylor expansion: - Therefore Δr = rnew − rold = Φ( snew ) − Φ( s old ) = JΦ ( s old ) ⋅ Δs + K Δs ≈ [ JΦ ( s old )]−1 Δr Φ-1 or J-1 Φ or J q 0,1 0,0 1,0 Δs - r00 s new x x - Δr x x s old Particle Tracing on Grids - Idea of stencilstencil-walk: rold rnew Guess start point in CC-space Compute difference between corresponding position and target position in PP-space Improve position in CC-space Iterate -1 -1 Φ or J Δr x x s old Φ or J r00 q rold r s p x x 0,1 C-space 0,0 Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group 1,0 Δs P-space p C-space Course WS 05/06 – Scientific Visualization computer graphics & visualization Particle Tracing on Grids - StencilStencil-walk algorithm Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization Particle Tracing on Grids - StencilStencil-walk algorithm Given: target position rtarget in PP-space initialize : r := rold ; p := p old ; Δp > ε while do required accuracy ε in CC-space Guess start point s in CC-space Do Transformation to PP-space r = Φ (s) Difference in PP-space Δr = rtarget – r Transformation to CC-space Δs = J-1 Δr If (|Δs| < ε) then exit s = s + Δs If (s (s outside current cell) cell) then Set s = midpoint of corresponding neighboring cell Endif Repeat Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group new new P-space Δ r = rnew − r ; Δp = [ J Φ (p )]−1 Δ r ; p = p + Δp; endwhile r = Φ (p ) ; cell_index ( rnew ) = ( ⎣Px ⎦, ⎣Py ⎦ ) ; Course WS 05/06 – Scientific Visualization computer graphics & visualization Particle Tracing on Grids - High convergence speed of stencil walk Prof. Dr. R. Westermann – Computer Graphics and Visualization Group Particle Tracing on Grids V3 - Inverse - Typically 33-5 iteration steps in a cell - Interpolation of velocity in PP-space approach: distance weighting d3 computer graphics & visualization V2 d2 - Bi / trilinear within cell, based on local coordinates p - Alternative method: inverse distance weighting → no rp stencil walk needed d1 d0 V1 v = ∑ i Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group V0 w ivi , where d i = ri − r p 1 and if (d i < ε) then w i = 1 ; w j≠i = 0 wi = d i2 ∑ 1 j d 2 i Course WS 05/06 – Scientific Visualization computer graphics & visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 10 Particle Tracing on Grids - Important properties of CC-space integration: + Simple incremental cell search + Simple interpolation - Complicated transformation of velocities / vectors - Important properties of PP-space integration: + No transformation of velocities / vectors - Complicated point location (stencil walk) for bi / trilinear interpolation Course WS 05/06 – Scientific Visualization Prof. Dr. R. Westermann – Computer Graphics and Visualization Group computer graphics & visualization 11
© Copyright 2025 Paperzz