vector field data: introduction - uhchengu/teaching/spring2013/lecs/lec9.pdfflow data data sources:...
TRANSCRIPT
![Page 1: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/1.jpg)
Vector Field Data: Introduction
![Page 2: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/2.jpg)
What is a Vector Field?
Its solution gives rise to a “flow”.
![Page 3: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/3.jpg)
Why Is It Important?
![Page 4: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/4.jpg)
Vector Fields in Engineering and Science
Automotive design [Chen et al. TVCG07,TVCG08]
Weather study [Bhatia and Chen et al. TVCG11]
4Oil spill trajectories [Tao et al. EMI2010]Aerodynamics around missiles [Kelly et al. Vis06]
![Page 5: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/5.jpg)
Vector Field Design in Computer Graphics
5
Parameterization
[Ray et al. TOG2006]
River simulation [Chenney SCA2004]
Painterly Rendering [Zhang et al. TOG2006]
Smoke simulation [Shi and Yu TOG2005]
Shape Deformation [von Funck et al. 2006]
Texture Synthesis [Chen et al. TVCG11b]
![Page 6: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/6.jpg)
Flow Data
Data sources:
• flow simulation:• airplane- / ship- / car-design
• weather simulation (air-, sea-flows)
• medicine (blood flows, etc.)
• flow measurement:• wind tunnels, water channels
• optical measurement techniques
• flow models (analytic):• differential equation systems
(dynamic systems)
Source: simtk.org
Source: speedhunter.com
Source: zfm.ethz.ch
![Page 7: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/7.jpg)
Flow Data
Simulation:
• flow: estimate (partial) differential equation systems (i.e. a model)
• set of samples (n-dims. of data), e.g., given on a curvilinear grid
• most important primitive: tetrahedron and hexahedron (cell)
• could be adaptive grids
Analytic:
• flow: analytic formula, differential equation systems ��/��(dynamical system)
• evaluated where ever needed
Measurement:
• vectors: taken from instruments, often computed on a uniform grid
• optical methods + image recognition, e.g.: PIV (particle image velocimetry)
![Page 8: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/8.jpg)
Flow Data Via Measurement
• Injection of dye, smoke, particles
• Optical methods:• transparent object with
complex distribution of light refraction index
• Streaks, shadows
![Page 9: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/9.jpg)
Large Scale Dying
Source: weathergraphics.com
Source: ishtarsgate.com
![Page 10: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/10.jpg)
Flow Data Via Simulations
• We often analyze Computational Fluid
Dynamics (CFD) simulation data
• CFD is the discipline of predicting flow
behavior, quantitatively
• data is (often) the result of a
simulation of flow through or
around an object of interest
some characteristics of CFD data:
• large, often gigabytes
• Unsteady, i.e. time-dependent
• unstructured, adaptive resolution grids
• Smooth field
![Page 11: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/11.jpg)
Comparison with Reality
Experiment
Simulation
![Page 12: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/12.jpg)
Dimensions: 2D vs. 2.5D/Surfaces vs. 3D
• 2D flow• �:� → �, i.e. �� = (��, ��) in a plane
• analytic, flow layers (2D section through 3D)
• 2.5D, i.e. surface flow (embedded in 3D)• 3D flows around obstacles (i.e. on the surface of obstacles)
• �:� → ��, i.e. �� = (��, ��, ��) confined on the tangent plane
• locally 2D
• Simulation, synthetic
• 3D flow visualization• �:�� → ��, i.e. �� = (��, ��, ��) in a volume• simulations, 3D models
![Page 13: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/13.jpg)
2D/Surfaces/3D – Examples
2D
Surface
3D
![Page 14: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/14.jpg)
Steady vs. Time-dependent
Steady (time-independent) flows:
• flow itself constant over time
• v(x), e.g., laminar flows
• well understood behaviors
• simpler case for visualization and analysis
Time-dependent (unsteady) flows:
• flow itself changes over time
• v(x,t), e.g., combustion flow, turbulent flow
• more complex cases
• no uniform theory to characterize them yet!
![Page 15: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/15.jpg)
Time-
independent
(steady) Data
• Dataset sizes over years:
![Page 16: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/16.jpg)
Time-
dependent
(unsteady)
Data
• Dataset sizes over time:
![Page 17: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/17.jpg)
17
http://cs.swan.ac.uk/~csbob/te
aching/csM07-vis/
Standard Visualization Techniques for Flow Data
Textures: 2D-filling
• Arrows vs. Streamlines vs. Textures– Streamlines: selective
– Arrows: simple
– Texture: desnse coverage
![Page 18: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/18.jpg)
Some Feature Geometry of Vector Fields
![Page 19: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/19.jpg)
Some Feature Geometry of Vector Fields
Let us focus on steady flow at this moment
![Page 20: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/20.jpg)
Streamlines – TheoryCorrelations:
• flow data V: derivative information
• ��/�� = �(�);spatial points � ∈ ��, time � ∈ �, flow vectors � ∈ ��
• streamline �: integration over time, also called trajectory, solution, integral curve
• �(�) = �0 + � �(�(�))��� ! "
;seed point �0, integration variable �
• Property:
• uniqueness
• difficulty: result s also in the integral→analytical solution usually impossible.
![Page 21: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/21.jpg)
Streamlines – Computation
Basic approach:
• theory: �(�) = �0 + � �(�(�))��� ! "
• practice: numerical integration
• idea:
(very) locally, the solution is (approx.) linear
• Euler integration:
follow the current flow vector �(�#) from the current streamline point si
for a very small time (��) and therefore distance
Euler integration: �# + 1 = �# + �(�#) · ��,integration of small steps (��very small)
![Page 22: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/22.jpg)
Euler Integration – Example
2D analytic field (no need of grid and interpolation):
vx = dx/dt = −y
vy = dy/dt = x/2
Sample arrows:
Ground truthflows form ellipses.
0 1 2 3 4
0
1
2
![Page 23: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/23.jpg)
Euler Integration – Example
�Seed point s0 = (0 | -1 )T;current flow vector v(s0) = (1 |0 )T;dt = ½vx = dx/dt = −y
vy = dy/dt = x/2
0 1 2 3 4
0
1
2
![Page 24: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/24.jpg)
Euler Integration – Example
�New point s1 = s0 + v(s0) · dt = (1/2 | -1 )T;current flow vector v(s1) = (1 |1/4 )T;vx = dx/dt = −y
vy = dy/dt = x/2
0 1 2 3 4
0
1
2
![Page 25: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/25.jpg)
Euler Integration – Example
�New point s2 = s1 + v(s1) · dt = (1 | -7/8 )T;current flow vector v(s2) = (7/8 |1/2 )T;vx = dx/dt = −y
vy = dy/dt = x/2
0 1 2 3 4
0
1
2
![Page 26: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/26.jpg)
Euler Integration – Example
�s3 = (23/16| -5/8 )T ≈ (1.44 | -0.63)T;v(s3) = (5/8 |23/32)T ≈ (0.63 |0.72)T;vx = dx/dt = −y
vy = dy/dt = x/2
0 1 2 3 4
0
1
2
![Page 27: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/27.jpg)
Euler Integration – Example
�s4 = (7/4 | -17/64)T ≈ (1.75 | -0.27)T;v(s4) = (17/64|7/8 )T ≈ (0.27 |0.88)T;
0 1 2 3 4
0
1
2
![Page 28: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/28.jpg)
Euler Integration – Example
�s9 ≈ (0.20 |1.69)T;v(s9) ≈ ( -1.69 |0.10)T;
0 1 2 3 4
0
1
2
![Page 29: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/29.jpg)
Euler Integration – Example
�s14 ≈ ( -3.22 | -0.10)T;v(s14) ≈ (0.10 | -1.61)T;
0 1 2 3 4
0
1
2
![Page 30: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/30.jpg)
Euler Integration – Example
�s19 ≈ (0.75 | -3.02)T; v(s19) ≈ (3.02 |0.37)T;clearly: large integration error, dt too large,19 steps
0 1 2 3 4
0
1
2
![Page 31: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/31.jpg)
Euler Integration – Example
�dt smaller (1/4): more steps, more exact. s36 ≈ (0.04 | -1.74)T; v(s36) ≈ (1.74 |0.02)T;
�36 steps
0 1 2 3 4
0
1
2
![Page 32: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/32.jpg)
Comparison Euler, Step Sizes
Eulerquality is proportionalto dt
![Page 33: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/33.jpg)
Euler Example – Error Table
dt #steps error
1/2 19 ~200%1/4 36 ~75%1/10 89 ~25%1/100 889 ~2%1/1000 8889 ~0.2%
�
![Page 34: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/34.jpg)
RK-2 – A Quick Round
RK-2: even with dt = 1 (9 steps) better than Euler with dt = 1/8(72 steps)
![Page 35: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/35.jpg)
RK-4 vs. Euler, RK-2
Even better: fourth order RK:
• four vectors a, b, c, d
• one step is a convex combination:si+1 = si + (a + 2·b + 2·c + d)/6
• vectors:a = dt·v(si) … original vectorb = dt·v(si+a/2) … RK-2 vectorc = dt·v(si+b/2) … use RK-2 …d = dt·v(si+c) … and again
Image source: http://cinet.chim.pagesperso-
orange.fr/ex_sa/int_num.html
![Page 36: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/36.jpg)
Euler vs. Runge-KuttaRK-4: pays off only with complex flows
Here approx.like RK-2
![Page 37: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/37.jpg)
Integration Schemes
Summary:
• analytic determination of streamlines usually not possible
• hence: numerical integration
• various methods available
(Euler, Runge-Kutta, etc.)
• Euler: simple, imprecise, esp. with small dt
• RK: more accurate in higher orders
• furthermore: adaptive methods, implicit methods, etc.
![Page 38: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/38.jpg)
Streamline Tracing Under Discrete Samples
• Important components
– Interpolation
– Local frame
– Interior verification
– Neighborhood information
![Page 39: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/39.jpg)
Local Frame
• Triangle
0v 1v
2v
01
01
vv
vvX
−−=
XNY ×=
![Page 40: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/40.jpg)
(��, ��)
(�&, �&)
(�, �)
(���, ���)
(��&, ��&)
(��, ��)
' �, � =�(�)
=*� + +� + ,�� + -� + �
Assume a piecewise linear vector field
Streamline Tracing Under Discrete Samples
Trace streamline locally within each triangle
Need to explicitly handle the transition between
different triangles
![Page 41: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/41.jpg)
(��, ��)
(�&, �&)
(�, �)
(���, ���)
(��&, ��&)
(��, ��)
' �, � =�(�)
=*� + +� + ,�� + -� + �
Assume a piecewise linear vector field
Streamline Tracing Under Discrete Samples
What is the vector value at (�, �)?
(�, �)
![Page 42: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/42.jpg)
(��, ��)
(�&, �&)
(�, �)
(���, ���)
(��&, ��&)
(��, ��)
' �, � =�(�)
=*� + +� + ,�� + -� + �
Assume a piecewise linear vector field
Streamline Tracing Under Discrete Samples
What is the vector value at (�, �)?
(�, �)
Interpolating the vector values at three vertices
![Page 43: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/43.jpg)
Compute Barycentric Coordinates
�./ �, � = �. 0 �/ � + �/ 0 �. � 0 �.�/ + �/�.
For *, + ∈ 10,1,23, i.e. the index of the vertices of a triangle.
We then have,
4 =567((,))
567((8,)8)β =
578((,))
578((6,)6)γ =
586((,))
586((7,)7)
• (4, ;, <): barycentric coordinates of a point (�, �)• 4 + ; + < = 1• Only if 0 = 4, ;, < = 1, (�, �)is inside the triangle
From wiki
![Page 44: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/44.jpg)
(��, ��)
(�&, �&)
(�, �)
(���, ���)
(��&, ��&)
(��, ��)
' �, � =�(�)
=*� + +� + ,�� + -� + �
Assume a piecewise linear vector field
Interpolating Vector Values
What is the vector value at (�, �)?
(�, �)
Interpolating the vector values at three vertices
���� = 4
������
+ ;��&��&
+ <����
![Page 45: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/45.jpg)
(��, ��)
(�&, �&)
(�, �)
(���, ���)
(��&, ��&)
(��, ��)
' �, � =�(�)
=*� + +� + ,�� + -� + �
������
=*�� + +�� + ,��� + -�� + �
Assume a piecewise linear vector field
We have
Solve for a linear system to get the coefficients
Interpolating Vector Values
��&��&
=*�& + +�& + ,��& + -�& + �
����
=*� + +� + ,�� + -� + �
Given the linear form above, you can compute the vector value
at any point within the triangle.
![Page 46: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/46.jpg)
(��, ��)
(�, �)
(���, ���)
(��&, ��&)
(��, ��)
' �, � =�(�)
=*� + +� + ,�� + -� + �
Assume a piecewise linear vector field
Streamline Tracing Under Discrete Samples
Trace streamline locally within each triangle
How can I determine which triangle I am going to
enter?
(�&, �&)
![Page 47: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/47.jpg)
(��, ��)
(�&, �&)
(�, �)
(���, ���)
(��&, ��&)
(��, ��)
' �, � =�(�)
=*� + +� + ,�� + -� + �
Assume a piecewise linear vector field
Streamline Tracing Under Discrete Samples
Trace streamline locally within each triangle
How can I determine which triangle I am going to
enter?
Using the barycentric coordinate and the help with corner table.
Recall: only if 0 = 4, ;, < = 1, (�, �)is inside the triangle
![Page 48: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/48.jpg)
' �, � =�(�)
=*� + +� + ,�� + -� + �
Assume a piecewise linear vector field
Streamline Tracing Under Discrete Samples
Trace streamline locally within each triangle
What if the streamline passes through a vertex?
v
![Page 49: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/49.jpg)
' �, � =�(�)
=*� + +� + ,�� + -� + �
Assume a piecewise linear vector field
Streamline Tracing Under Discrete Samples
Trace streamline locally within each triangle
What if the streamline passes through a vertex?
v
Use sorted corners around � to determine which
one contains the vector defined at �
![Page 50: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/50.jpg)
Summary of The Algorithm
Note that this framework can be extended to surface flow tracing with additional care
Input: seed (x,y) and triangle T
Output: a point list P that forms the streamline
for (i=0; i<max_triangles; i++)
{
if (T < 0) return; // we reach a boundary
//compute streamline within current triangle T
convert (x, y) to local coordinates;
for (step = 0; step < max_steps; step++)
{ advance to next position using (Euler|RK2|RK4) integrator
if we reach a fixed point, return;
if the next position is still inside T
store this new position to point list P and continue
else
determine next triangle it will enter, let T be the next triangle
}
}
![Page 51: Vector Field Data: Introduction - UHchengu/Teaching/Spring2013/Lecs/Lec9.pdfFlow Data Data sources: • flow simulation: • airplane- / ship- / car-design • weather simulation (air-,](https://reader033.vdocuments.site/reader033/viewer/2022051605/600cb352c1840b6e661e0bd3/html5/thumbnails/51.jpg)
Acknowledgment
Thanks for the materials
• Prof. Robert S. Laramee, Swansea University,
UK