experimental flow vispascucci/classes/2009_fall/files/lect07.pdfexperimental flow vis. experimental...

43

Upload: others

Post on 07-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 2: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Experimental Flow Vis

Page 3: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Experimental Flow Vis

Page 4: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Experimental Flow Vis

Page 6: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Why would we notstick with these?

Page 7: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 8: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

-A vector field: F(U) = V

U: field domain (x,y) in 2D

V: vector (u,v)

-Like scalar fields, vectors are defined at discrete points:

-interpolation issues

Vector Field Visualization

Page 9: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Visualization techniques

Geometry-based methods: rendering primitives built from particle trajectories

Glyphs

streamlines

pathlines

streaklines

topology

LIC

…….

Page 10: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 11: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 12: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 13: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 14: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Streamlines

A curves that connect all the particle positions

Page 15: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 16: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 17: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 18: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Local technique - Particle Tracing

Visualizing the flow directions by releasing particles and

calculating a series of particle positions based on the vector

field

The motion of particle: dx/dt = v(x)

x: particle position (in 2D (x1, x2) position vector)

v(x): the vector (velocity) field

Use numerical integration to compute a new particle position

x(t) = x(t-dt) + Integration( v(x(t-dt)) dt )

Page 19: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Numerical Integration

First Order Euler method: x(t) = x(t-dt) + v(x(t-dt)) * dt

- Not very accurate, but fast

- Other higher order methods are avilable: Runge-Kutta

second and fourth order integration methods (more

popular due to their accuracy)

Result of first order

Euler method

Page 20: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Euler’s MethodAssume flow = f(t)

X

Page 21: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Euler Integration Error

• Error = X - area under flow curve

XError =

Page 22: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Numerical Integration (2)

Second Runge-Kutta Method

x(t) = x(t-dt) + ½ * (K1 + K2) k1 = dt * v(x(t-dt))k2 = dt * v(x(t-dt)+k1)

½ * [v(x(t))+v(x(t)+dt*v(x(t))]

x(t+dt)

x(t)

Page 23: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Runge-Kutta 2Assume flow = f(t)

Like Trapezoid Method.

X

Page 24: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

RK2 Integration Error

• Error = X - area under flow curve

Error =X

Page 25: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Numerical Integration (3)

Standard Method: Runge-Kutta fourth order

x(t) = x(t-dt) + 1/6 (k1 + 2k2 + 2k3 + k4)

k1 = dt * v(t-dt); k2 = dt * v(x(t-dt) + k1/2)

k3 = dt * v(x(t-dt) + k2/2); k4 = dt * v(x(t-dt) + k3)

Page 26: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Runge-Kutta 4Assume flow = f(t)

X

Page 27: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

What Method to Use?

• RK2 and RK4 are more accurate for same dtthan Euler

• RK2 and RK4 work well for continuous systems

• Euler works poorly for oscillatory systems

• RK2 and RK4 work poorly with discretesystems

Page 28: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 29: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Pathlines, Timelines, and Streaklines

-Extension of streamlines for time-varying data

Pathlines:

Timelines:

T=1

T=2

T=3 T=4

T=5

T = 1 T = 2 T = 3

timeline

Page 30: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Streaklines

- Continuously injecting a new particle at each time step,

advecting all the existing particles and connect them

together into a streakline

b.t. =5

b.t. =4

b.t. =3

b.t. =2 b.t. =1

Page 31: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

When should we expect self-intersections?

- Streamlines- Pathlines

- Streaklines

Page 32: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

• Streamlines do not cross• Streaklines still never cross• Pathlines do cross

Page 33: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

• Streamlines not cross• Streaklines still cross • Pathlines do cross

Page 34: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Seed Placement

• The placement of seeds directly determines the visualization quality

– Too many: scene cluttering

– Too little: no pattern formed

• It has to be the right number at the right places!!!

Page 35: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 36: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 37: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with
Page 38: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Rendering - LIC

• embed a noise texture under the vector field

• integrates along a streamline

Page 39: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Line Integral Convolution (LIC)

• LIC:• convolve a• random texture• along the • streamlines

Page 40: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Line Integral Convolution (LIC)

• Assume input texture, vector and output images are all the same resolution.

• For each output pixel/voxel, generate a streamline both forwards and backwards of a fixed length.

• Integrate the intensity that the streamline passes through

Page 41: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Line Integral Convolution (LIC)

Page 42: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Line Integral Convolution (LIC)

Page 43: Experimental Flow Vispascucci/classes/2009_fall/files/lect07.pdfExperimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Experimental Flow Vis. Why would we not stick with

Comparison (LIC and Streamlines)