Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines,...

42
#2 Visualization, Lecture #2d Flow visualization Flow visualization, Part 3 (of 3)

Transcript of Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines,...

Page 1: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

#2Visualization, Lecture #2d

Flow visualizationFlow visualization, Part 3 (of 3)

Page 2: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Retrospect: Lecture #2cFlow Visualization, Part 2:

FlowVis with arrowsFlowVis with arrowsnumerical integration

Euler integrationEuler-integrationRunge-Kutta-integration

streamlinesin 2Dparticle pathsin 3D sweepsin 3D, sweepsilluminated streamlines

streamline placementHelwig Hauser 2

streamline placement

Page 3: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Overview: Lecture #2d

Flow Visualization, Part 3:flow visualization with integral objectsflow visualization with integral objects

streamribbons, streamsurfaces, stream arrows

line integral convolutiongalgorithmexamples alternativesexamples, alternatives

glyphs & icons, flow topologysummary

Helwig Hauser 3

Page 4: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Flow Visualizationith I t l Obj twith Integral Objects

Streamribbons, Streamsurfaces,

etc.

Page 5: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Integral Objects in 3D 1/3

Streamribbons

Helwig Hauser 5

Page 6: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Streamribbon Generation

Start with a 3D point xi=0and a 2nd one yi 0 in a particular dist dand a 2 one yi=0 in a particular dist. d, i.e. (xi-yi)²=d²LLoop:Do an integration step from xi to yield xi+1

Do an integration step from yi to yield zrenormalize the dist between xi+1 & z to d i erenormalize the dist. between xi+1 & z to d, i.e. yi+1=xi+1+d·(z-xi+1)/|z-xi+1|E d t ibb i t ti if t dEnd streamribbon integration if wanted

Helwig Hauser, Eduard Gröller 6

Page 7: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Integral Objects in 3D 2/3

Streamsurfaces

Helwig Hauser 7

Page 8: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Streamsurfaces – split / merge

Helwig Hauser 8

Page 9: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Stream Arrows

Helwig Hauser 9

Page 10: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Integral Objects in 3D 3/3

Flow volumes …

vs. streamtubes(similar to streamribbon)

Helwig Hauser 10

Page 11: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Relation to Seed Objects

IntegralObj. Dim. SeedObj. Dim.______________________________________________________________________________________________________

Streamline,… 1D Point 0DStreamribbon 1D++ Point+pt. 0D+0DSt t b 1D++ Pt + t 0D+1DStreamtube 1D++ Pt.+cont. 0D+1D______________________________________________________________________________________________________

Streamsurface 2D Curve 1DStreamsurface 2D Curve 1D______________________________________________________________________________________________________

Flow volume 3D Patch 2D

Helwig Hauser 11

Page 12: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

CLine Integral Convolution

Flow VisualizationFlow Visualization in 2D or on surfaces

Page 13: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC – Introduction

Aspects:goal: general overview of flowgoal: general overview of flowApproach: usage of texturesIdea: flow visual correlationExample:Example:

Helwig Hauser 13

Page 14: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC – Approach

LIC idea:for every texel: let the texture valuefor every texel: let the texture value…

… correlate with neighboring texture values along the flow (in flow direction)along the flow (in flow direction)… not correlate with neighboring texture values across the flow (normal to flow dir )across the flow (normal to flow dir.)

result: l t li th t t lalong streamlines the texture values are

correlated visually coherent!approach: “smudge” white noise (no a priori correlations) along flow

Helwig Hauser, Eduard Gröller 14

Page 15: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC – Steps

Calculation of a texture value: Flow Datatexture value:

look at streamline through point

Integrationthrough pointfilter white noise l t li

Streamline (DDA)

along streamlineConvolutionwith

White Noise

results in

LIC Texel

results in

Helwig Hauser 15

Page 16: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC – Convolution with Noise

Calculation of LIC texture:input 1: flow data v(x): RnRninput 1: flow data v(x): RnRn, analytically or interpolatedi t 2 hit i ( ) Rn R1input 2: white noise n(x): RnR1, normally precomputed as texturet li ( ) th h R1 Rnstreamline sx(u) through x: R1Rn,

sx(u) = x + sgn(u) 0t|u| v(sx(sgn(u)t)) dti t 3 filt h(t) R1 R1 Ginput 3: filter h(t): R1R1, e.g., Gaussresult: texture value lic(x): RnR1,

( )

lic(x) = lic(sx(0)) = n(sx(u))·h(u) du

Helwig Hauser 16

Page 17: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

More Explanation

So:LIC lic(x) is a convolution ofLIC – lic(x) – is a convolution of

white noise n (or …)and a smoothing filter h (e.g. a Gaussian)

The noise texture values are picked pup along streamlines sx through x

Helwig Hauser 17

Page 18: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC – Example in 2D

quite laminar flow

Helwig Hauser 18quite turbulent flow

Page 19: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC in 2D – Further Example

Helwig Hauser 19

Page 20: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC – Examples on Surfaces

Helwig Hauser 20

Page 21: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Arrows vs. StrLines vs. Textures

Streamlines: selectiveA llArrows: well..

Textures: 2D-filling

Helwig Hauser 21

g

Page 22: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC in 3D??!

Correlation also possible in 3D:problem of rendering: DVR of 3D LIC problem of rendering: DVR of 3D LIC Destruction of correlational information!H l tiHence: selective use

Helwig Hauser 22

Page 23: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Literature

Papers (more details):B Cabral & L Leedom: “Imaging Vector FieldsB. Cabral & L. Leedom: Imaging Vector Fields Using Line Integral Convolution” in Proceedings of SIGGRAPH ‘93 = ComputerProceedings of SIGGRAPH 93 = Computer Graphics 27, 1993, pp. 263-270D Stalling & H C Hege: “Fast and ResolutionD. Stalling & H.-C. Hege: Fast and Resolution Independent Line Integral Convolution” in Proceedings of SIGGRAPH ‘95 = ComputerProceedings of SIGGRAPH 95 = Computer Graphics 29, 1995, pp. 249-256

Helwig Hauser 23

Page 24: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

LIC-Variants

OLIC = Oriented Line Integral Convolutionvisualization of directional informationvisualization of directional information

Helwig Hauser 24

Page 25: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

TextureAdvection–SteadyFlows

Helwig Hauser 25

Page 26: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

TextureAdvect.–UnsteadyFlows

Helwig Hauser 26

Page 27: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Alternatives to LICspot noisespot noise

Similar approaches:spot noise textured splatsspot noisevector kernelline bundles / splatstextured splatstextured splatsparticle systemsfl lflow volumes

motionblurred

Helwig Hauser 27

particlesflow volume

Page 28: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Flow Visualizationdependent on local props.

Visualization of v

Page 29: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Glyphs resp. Icons

Local / topologicaltopologicalproperties

Helwig Hauser 29

Page 30: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Icons in 2D

Helwig Hauser 30

Page 31: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Icons & Glyphs in 3D

Helwig Hauser 31

Page 32: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Flow Topology

Topology:abstractabstractstructureof a flowof a flow

differentelements, e.g.:

checkpoints, defined through v(x)=0cycles, defined through sx(t+T)=sx(t)y , g x( ) x( )connecting structures (separatrices, etc.)

Helwig Hauser 32

Page 33: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Flow Topology in 3D

Topology on surfaces:surfaces:

fixedpointspointssepara-t itrices

Helwig Hauser 33

Page 34: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Flow Topology in 3D

Lorenz system:system:

1 saddle2 saddlefoci1 chaotic attractor

Helwig Hauser 34

Page 35: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Timesurfaces

Idea:start surface e g part of a planestart surface, e.g. part of a planemove whole surface along flow over timetime surface: surface at one point in time

Helwig Hauser 35

Page 36: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Flow Visualization –summary

Overview, Solutions

Page 37: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Important Questions

Dimensionality? 2D, Surface, 3D?U G l? i d t il ?User-Goal? overview, details?Examples:Examples:

2D/surfaces+overview LIC (or…), evenly-placed streamlines hedgehog plotsplaced streamlines, hedgehog plots3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slicesunsteady/2D+overview animated texture d ti tadvection, etc.

unsteady/3D+idea animated particles

Helwig Hauser 37

y p

Page 38: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

2D+Overview

Helwig Hauser 38

Page 39: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

3D exemplary

Helwig Hauser 39

Page 40: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Unsteady/2D+Overview

Helwig Hauser 40

Page 41: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Unsteady/3D+Idea

Helwig Hauser 41

Page 42: Flow visualizationFlow visualization, Part 3 (of 3) · 3D+exemplary selected streamlines, streamsurfaces etc 3D arrows on slicesstreamsurfaces, etc., 3D arrows on slices unsteady/2D+overview

Acknowledgements

For material used in this lecture:Hans Georg Pagendarm Bruno JobardHans-Georg Pagendarm, Bruno JobardJeff HultquistLukas Mroz, Rainer WegenkittlNelson Max Will Schroeder et alNelson Max, Will Schroeder et al.Brian Cabral & Leith LeedomD id K i hDavid KenwrightRüdiger WestermanngJack van Wijk, Freik Reinders, Frits Post, Alexandru Telea, Ari Sadarjoen

Helwig Hauser 42

Alexandru Telea, Ari Sadarjoen