flow visualisation - university of edinburgh
TRANSCRIPT
Taku Komura Flow Visualisation 1
Visualisation : Lecture 13
Visualisation – Lecture 13
Taku Komura
Institute for Perception, Action & BehaviourSchool of Informatics
Flow Visualisation
Taku Komura Flow Visualisation 2
Visualisation : Lecture 13
Flow Visualisation .... so far● Vector Field Visualisation
– vector fields indicate transport (i.e. flow)— local methods for local direction and magnitude— global methods for flow sources and paths
● global methods require:— numerical integration— particle trace calculation— rakes for initialisation
Taku Komura Flow Visualisation 3
Visualisation : Lecture 13
Rakes – a reminder● Shape (or topology) of stream origin
Taku Komura Flow Visualisation 4
Visualisation : Lecture 13
Stream Ribbons & Surfaces● Concept : initialise two streamlines together
– flow rotation: lines will rotate around each other– flow convergence/divergence: relative distance between lines– both not visible with regular separate streamlines
● Streamribbon– initialise 2 streamlines from a rake line and connect with polygons
● Streamsurface– initialise multiple streamlines along a base curve or line rake and
connect with polygons
Taku Komura Flow Visualisation 5
Visualisation : Lecture 13
Streamribbons● Initialisation : two connected streamlines
– Global view of vector field flow – as per streamlines– Local view of vector field variation
— width of ribbon (distance between connected lines)= cross-flow divergence
— twisting of ribbon = streamwise vorticity– rotation of the vector field flow around the streamline– axis of rotation = vector field direction (in stream)– magnitude of rotation = vorticity
Taku Komura Flow Visualisation 6
Visualisation : Lecture 13
Example : streamribbonsLocal information clearer using ribbons
– cannot show vorticity rotation with un-orientated line
● Problem if streamlines diverge significantly– expect ribbon orientation to
be tangent to vector field
Streamribbons
Streamlines
Taku Komura Flow Visualisation 7
Visualisation : Lecture 13
Streamsurfaces● Initialisation: infinite number of connected streamlines
originating from a given base curve (i.e. the rake)– streamribbons are special case of streamsurfaces– by using a closed base curve – streamtubes– generate multiple streamlines from user specified rake,
connect adjacent lines with polygons● Properties:
– surface orientation at any point on surface tangent to vector field– no visual interpolation required by viewer– additional information : divergence & vorticity
Taku Komura Flow Visualisation 8
Visualisation : Lecture 13
Example : streamtubes
● Local variance in flow clearer than with glyphs / lines /dots
Size of tube varies with temperature and velocity of the flow.
Taku Komura Flow Visualisation 9
Visualisation : Lecture 13
Flow Volumes : simulated smoke– initialise with a seed polygon – the rake– calculate streamlines at the vertices.– split the edges if the points diverge.
Taku Komura Flow Visualisation 10
Visualisation : Lecture 13
Rendering Flow Volumes● Temporal Volume Rendering of Flow
– define colour based on vorticity– good property to render due to persistence – dependence
on previous states
[Max, Becker, Crawfis http://www.llnl.gov/graphics/sciviz.html]
Taku Komura Flow Visualisation 11
Visualisation : Lecture 13
Flow Visualisation Limitations● “Plotting” Methods
– take up too much space to plot– wasted space in between glyphs when used– simulations getting larger and larger
● Streamline methods (global view lecture 12/13)– also take up a lot of space– user definition of rakes – domain/task specific
● Particle methods (e.g. storm, lecture 12)– particles tend to bunch and poorly sample the domain
Taku Komura Flow Visualisation 12
Visualisation : Lecture 13
Flow Visualisation Ideals - ?● High Density Data – ability to visualise dense vector
fields● Effective Space Utilisation – each output pixel
(in rendering) should contain useful information● Visually Intuitive – understandable● Geometry independent – not requiring user or
algorithmic sampling decisions that can miss data ● Efficient – for large data sets, real-time interaction● Dimensional Generality – handle at least 2D & 3D data
Taku Komura Flow Visualisation 13
Visualisation : Lecture 13
Direct Image Synthesis● Concept : modify an image directly with reference to the
vector flow field– alternative to graphics primitives (e.g. in VTK)– modified image allows visualisation of flow
● Practice :– use image operator to modify image– modify operator based on local value of vector field– use initial image with no structure
— e.g. white noise (then modified by operator to create structure)
Taku Komura Flow Visualisation 14
Visualisation : Lecture 13
Example : Direct Image Synthesis● Line Integral Convolution (LIC)
– image operator = convolution
Graphics : http://www.hpc.msstate.edu/~zhanping/Research/FlowVis/LIC/LIC.htm
Vector Field White Noise Image LIC Image
Taku Komura Flow Visualisation 15
Visualisation : Lecture 13
How ? - image convolution
● Each output pixel p' is computed as a weighted sum of pixel neighbourhood of corresponding input pixel p– weighting / size of neighbourhood defined by kernel filter
Input pixels
Output pixels
FilterKernel
Taku Komura Flow Visualisation 16
Visualisation : Lecture 13
Example : image convolution
● Linear convolution applied to an image– linear kernel (causes blurring)
Taku Komura Flow Visualisation 17
Visualisation : Lecture 13
Effects of Convolution● convolution ‘blurs’ the pixels together
– amount and direction of blurring defined by kernel● perform convolution in the direction of the vector field
– use vector field to define (and modify) convolution kernel – produce the effect of motion blur in direction of vector field
● strong correlation along the vector field streamlines ● no correlation across the streamlines.
Taku Komura Flow Visualisation 18
Visualisation : Lecture 13
Principle of LIC
Input white noise. Streamlines in vector field
LIC result
Taku Komura Flow Visualisation 19
Visualisation : Lecture 13
Example : wind flow using LIC
Data: atmospheric wind data from UK Met. Office Visualisation : G. Watson (UoE)
Colour-mapped LIC
Taku Komura Flow Visualisation 20
Visualisation : Lecture 13
LIC : stated formallyp is the image domain
s is the parameter along the streamline, L is streamline length
F(p) is the input image
F’(p) is the output LIC image
P(s) is the position in the image of a point on the streamline
k(s) is the convolution kernelDenominator normalises the output pixel(i.e. maps it back into correct value range to be an output pixel)
Taku Komura Flow Visualisation 21
Visualisation : Lecture 13
LIC : streamline calculation● Constrain the image pixels to map 1-to-1 to the
vector field cells– for each vector field cell, the input white noise image has a
corresponding pixel
● Compute the streamline forwards and backwards in the vector field using variable-step Euler method.
● Compute the parametric endpoints of each line streamline segment that intersects a cell.
Taku Komura Flow Visualisation 22
Visualisation : Lecture 13
LIC : variable step Euler's method
P0
P1
P2
P3
Image and vector field cells.
Taku Komura Flow Visualisation 23
Visualisation : Lecture 13
LIC : approximating the kernel integral
P0
s1
s2
s3
Image and vector field cells
h i= ∫s i
si1
k s ds
Find parametric endpoints of line intersections
Between endpoints line is straight with constant valued F(p).
Evaluate using 1D summed area table
Taku Komura Flow Visualisation 24
Visualisation : Lecture 13
LIC : output image● Choice of L is important
– too small, not enough blurring (noise remains)– too large, miss small features
● Choice of Filter kernel– Average filter is simplest– Gaussian based kernel gives better localisation
Taku Komura Flow Visualisation 25
Visualisation : Lecture 13
What does the LIC show?● Constant length convolution kernel
– small scale flow features very clear– no visualisation of velocity magnitude from vectors
— can use colour-mapping instead
● Kernel length proportional to velocity magnitude– large scale flow features are clearer– poor visualisation of small scale features
Taku Komura Flow Visualisation 26
Visualisation : Lecture 13
LIC : 2D resultsVariable length Kernel Fixed length Kernel
Taku Komura Flow Visualisation 27
Visualisation : Lecture 13
Example : colour-mapped LIC
[Stalling / Hege ]
Zoom into an LIC image with colour mapping
Colourmap represents pressure
Taku Komura Flow Visualisation 28
Visualisation : Lecture 13
LIC : extension to 3D● LIC on uv parametric surfaces
Vector field on surface to be visualised
u
v
Perform LIC in uv parameter space
uv coordinates are the same as used in texture coordinates
Taku Komura Flow Visualisation 30
Visualisation : Lecture 13
LIC : steady / unsteady flow● LIC : Steady Flow only (i.e. streamlines)
– animate : shift phase of a periodic convolution kernel[Cabral/Leedom '93]
● UFLIC : Unsteady Flow– Streaklines are calculated rather than streamlines– convolution takes time into account.
— Result of previous time step is used for input texture for next step
[Kao/Shen '97]
Taku Komura Flow Visualisation 31
Visualisation : Lecture 13
VTK : stream surfaces● StreamTube – vtkStreamLine object through vtkStreamTube filter
● StreamRibbon - vtkRibbonFilter (lines to ribbons)● StreamSurface - vtkStreamLine object through vtkRuledSurfaceFilter filter
Taku Komura Flow Visualisation 32
Visualisation : Lecture 13
Summary● Stream ribbons and surfaces:
– global visualisation of vector field and visualisation of local vector field variations
– methods have limitations● LIC
– steady flow visualisation using direct image synthessis
– convolution with kernel function– 3D & unsteady flow extensions