stream lines and surfaces
play

Stream Lines and Surfaces Lecture 9 February 20, 2020 Outline - PowerPoint PPT Presentation

CS53000 - Spring 2020 Introduction to Scientific Visualization Stream Lines and Surfaces Lecture 9 February 20, 2020 Outline Introduction Overview of basic techniques Mathematical / numerical foundations CS530 / Spring 2020 : Introduction


  1. Streamlines • Basic idea: visualizing the flow directions by releasing particles and calculating a series of particle positions based on the vector field CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 31

  2. Streamlines • Displaying streamlines is a local technique because you can only visualize the flow directions initiated from one or a few particles ( sparse / discrete flow sampling ) • When the number of streamlines is increased, the scene becomes cluttered • User needs to know where to drop the seed particles ( seeding strategy ) CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 32

  3. Streamlines Many streamlines can give an overall / global view of the vector field CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 33

  4. Rakes = multiple streamlines Rake: geometric primitive ( typically a line ) along which multiple streamlines are seeded at regular interval. CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 34

  5. Pathlines •Extension of streamlines for time-varying data (unsteady flows) Pathlines: T=3 T=4 T=2 T=5 T=1 Pathline: Trajectory of a given particle. This is generated by injecting a dye into the fluid and following its path by photography or other means CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 35

  6. Timelines • Extension of streamlines for time-varying data (unsteady flows) timeline T = 2 T = 1 T = 3 Timeline is generated by drawing a line through adjacent particles in flow at any instant of time CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 36

  7. Streaklines •Extension of streamlines for time-varying data (unsteady flows) b.t. =1 b.t. =2 b.t. =3 b.t. =4 b.t. =5 Streakline concentrates on fluid particles that have gone through a fixed station or point. At some instant of time the position of all these particles are marked and a line is drawn through them. Such a line is called a streakline. CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 37

  8. Advection methods comparison CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 38

  9. Stream-ribbon Basic idea: Need a means of visualizing swirling flow behavior (vortices) A point primitive or an icon can hardly convey this Idea: advect neighboring particles and connect them with polygons Shade those polygons appropriately and one will detect twists CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 39

  10. Stream-ribbon Problem - when flow diverges Solution: Just trace one streamline and a constant size vector with it: CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 40

  11. Ribbons Ribbons can be constructed using 2 or 3 particle advections per segment. CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 41

  12. Illuminated Streamlines Remember Phong lighting model: N R θ θ L γ V I = I a + I d + I s = k a + k d L · N + k s ( V · R ) n CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 42

  13. ������������ Illuminated Streamlines Model requires normal vector but curves have an entire normal plane T L Rewrite with L T = L · T L = L T + L N 1 − | L T | 2 = p p Hence 1 − ( L · T ) 2 L · N = | L N | = Similarly V · R = ( L · T )( V · T ) − p 1 − ( L · T ) 2 p 1 − ( V · T ) 2 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 43

  14. Illuminated Streamlines These quantities can be computed efficiently by the graphics hardware using texture mapping. Interactive visualization of 3D-vector fields using illuminated stream lines. Zöckler, Stalling, Hege, IEEE Vis 1996 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 44

  15. Illuminated Streamlines Illuminated Streamlines Revisited. Mallo, Peikert, Sigg, Sadlo, IEEE Vis 2005 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 45

  16. Streamline Seeding Isolated streamlines provide poor picture of the flow continuum Large number of streamlines create visual clutter Seeding strategy is important to effectively use streamlines in visualization CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 46

  17. Turk & Banks ‘96 Mimic hand-drawn flows Use multi-scale analysis to determine position/ density Minimize energy function Rules for adding/removing/moving streamlines CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 47

  18. Hand Drawn Flows CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 48

  19. Automated Results CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 49

  20. Approach: Image-based CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 50

  21. Comparison Evenly sampled “Optimized” CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 51

  22. Streamline Seeding Streamline Placement CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 52

  23. Farthest Point Seeding Motivations Speed up Turk and Banks algorithm (x200!) Achieve better results by mitigating issue of short streamlines Mebarki et al., Farthest point seeding for efficient placement of streamlines. IEEE Visualization 2005 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 53

  24. Farthest Point Seeding Seed next streamline at point furthest away from existing streamlines Streamlines are approximated by discrete set of points Points are Delaunay triangulated Empty circumscribed circle of triangles used to determine largest empty regions Mebarki et al., Farthest point seeding for efficient placement of streamlines. IEEE Visualization 2005 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 54

  25. Farthest Point Seeding Seed next streamline at point furthest away from existing streamlines streamlines are approximated by discrete set of points points are Delaunay triangulated Empty circumscribed circle of triangles used to determine largest empty regions Mebarki et al., Farthest point seeding for efficient placement of streamlines. IEEE Visualization 2005 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 55

  26. Stream Surface Surface spanned by union of infinitely many streamlines integrated from a curve Rake, polygonal line, closed curve, … Remark: circle ⇒ “stream tube” Everywhere tangential to the flow “Natural” extension of streamlines in 3D Capture volumes, shading, depth cues CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 56

  27. Stream Surface CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 57

  28. Definition Natural parameterization [ s x t ] Starting curve ( → front) Along the flow (integration parameter, time) Constant s: streamline Constant t: time line t s CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 58

  29. (Naïve) Implementation Sparse set of streamlines integrated independently Ribbons connecting neighboring streamlines Corresponds to a triangulation in parameter space Extremely inaccurate and/or inefficient CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 59

  30. Advancing Front (Hultquist) Advance a discrete front iteratively Triangulate during integration Ensure well-shaped triangles Local heuristic Handle shearing effects Dynamically adapt front resolution to account for divergence / convergence CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 60

  31. Advancing Front Front is stored as a double-linked list of streamlines i-1 i i+1 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 61

  32. Advancing Front A streamline on the front is locally advanced w.r.t. two neighboring streamlines CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 62

  33. Advancing Front Objective: maintain front locally orthogonal to flow direction i-1 i i+1 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 63

  34. Advancing Front Objective: maintain front locally orthogonal to flow direction Triangulation heuristic creates shortest diagonal (greedy algo.) i-1 i i+1 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 64

  35. Advancing Front Triangulation implicitly determines which streamlines must be advanced next i-1 i i+1 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 65

  36. Advancing Front Triangulation locally determines which streamline must be advanced next i-1 i i+1 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 66

  37. Advancing Front Triangulation locally determines which streamline must be advanced next i-1 i i+1 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 67

  38. Advancing Front Once a streamline has been advanced, its neighbors must be advanced too, if required Local decision propagates along the front to ensure orthogonality to the flow Active point moves back and forth Iteration complete when all neighboring streamlines have roughly the same size CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 68

  39. Advancing Front Front resolution ( =distance between neighboring streamlines ) varies during integration (convergence/ divergence) Ensure constant resolution by inserting or removing additional streamlines when necessary Requires to advance all streamlines simultaneously CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 69

  40. Advancing Front Hultquist’s criterion for splitting: relative width / length of current quadrilateral exceeds factor 2 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 70

  41. Advancing Front Hultquist’s criterion for merging: 3 neighboring points are coplanar and close Required to speed up computation and decrease complexity of generated surface Both merging and splitting criteria must be evaluated at each step CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 71

  42. Advancing Front Ripping is necessary if stream surface encounters an obstacle CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 72

  43. Advancing Front Improvements of original method Higher integration accuracy (RK 45) Integration step controlled by arc length integration parameter arc length C. Garth et al., Surface Techniques for Vortex Visualization Joint Eurographics - IEEE TCVG Symposium on Visualization CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 73

  44. Advancing Front Possible improvements of original method Curvature control in refinement criterion Avoids creases on surface Properly handle folding behavior (vortex) segment size only inter-segment angle CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 74

  45. Advancing Front Possible improvements of original method Topological information Front resolution control Ripping criterion CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 75

  46. Advancing Front Examples CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 76

  47. Advancing Front Examples CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 77

  48. Advancing Front Examples CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 78

  49. Path Surface C. Garth et al., Generation of Accurate Integral Surfaces in Time-Dependent Vector Fields. IEEE Visualization 2008 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 79

  50. Path Surface CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 80

  51. Path Surface CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 81

  52. Path Surface Integral surfaces have natural 2d-parameterization (s,t) s → t → Lend themselves well to texture mapping earlier work on this by Löffelmann et al., 1997 animated textures to convey temporal flow behavior CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 82

  53. Path Surface CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 83

  54. Path Surface CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 83

  55. Path Surface CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 83

  56. Texture Mapping on Path Vortex formation behind an ellipsoid (2.6e6 cells, 400 timesteps) CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 84

  57. Texture Mapping on Path Vortex formation behind an ellipsoid (2.6e6 cells, 400 timesteps) CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 84

  58. Texture Mapping Vortex formation behind an ellipsoid (2.6e6 cells, 400 timesteps) CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 85

  59. Texture Mapping Vortex formation behind an ellipsoid (2.6e6 cells, 400 timesteps) CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 85

  60. Texture Mapping Vortex formation behind an ellipsoid (2.6e6 cells, 400 timesteps) C. Garth et al., Generation of Accurate Integral Surfaces in Time-Dependent Vector Fields. IEEE Visualization 2008 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 86

  61. C. Garth et al., Generation of Accurate Integral Surfaces in Time-Dependent Vector Fields. IEEE Visualization 2008 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 87

  62. C. Garth et al., Generation of Accurate Integral Surfaces in Time-Dependent Vector Fields. IEEE Visualization 2008 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 87

  63. Streak and Time Similar adaptive front refinement principle H. Krishnan et al., Time and Streak Surfaces for Flow Visualization in Large Time-Varying Data Sets. IEEE Visualization 2009 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces 88

  64. Integration on Surfaces • Integration must be carried out on smooth surfaces (tangent bundle of manifold) • Problems • polygonal surfaces are not smooth • Tangent plane undefined at edges and vertices • Global parameterization (i.e. invertible mapping from the plane to the surface) of surface may not be available or not exist 89 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces

  65. Integration on Surfaces •Quick and dirty • integrate in surrounding (3D) flow • Control distance to surface • Successive projections for a posteriori corrections 90 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces

  66. Integration on Surfaces •Cell-wise integration • Use well-defined (smooth) cell-wise tangent plane to carry out integration over projected vector field in each cell • Use analytic formulas (triangles) or RK • Iterative computation from edge to edge 91 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces

  67. Integration on Surfaces •Cell-wise integration • Problem: possible inconsistencies of cell- wise vector field projections at edges 92 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces

  68. Integration on Surfaces • Use discrete geodesics defined on polygonal surfaces • Geodesics in continuous setting • Extension of straight lines to curved surfaces • Shortest path between two points • Smooth curve is geodesics iff it is not curved within the surface 93 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces

  69. Integration on Surfaces •Geodesics on polygonal surfaces K. Polthier, M. Schmies, Straightest Geodesics on Polyhedral Surfaces, Mathematical Visualization, H.C. Hege, K. Polthier (eds.), Springer Verlag, 1998 94 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces

  70. Integration on Surfaces •Parallel transport of vectors K. Polthier, M. Schmies, Straightest Geodesics on Polyhedral Surfaces, Mathematical Visualization, H.C. Hege, K. Polthier (eds.), Springer Verlag, 1998 95 CS530 / Spring 2020 : Introduction to Scientific Visualization. Feb 20, 2020 Streamlines and Stream Surfaces

Recommend


More recommend