visualisatie
play

Visualisatie BMT Algorithms - 2 Arjan Kok a.j.f.kok@tue.nl 1 - PowerPoint PPT Presentation

Visualisatie BMT Algorithms - 2 Arjan Kok a.j.f.kok@tue.nl 1 Lecture overview Vector algorithms Tensor algorithms Modeling algorithms 2 Vector algorithms Vector 2 or 3 dimensional representation of direction and


  1. Visualisatie BMT Algorithms - 2 Arjan Kok a.j.f.kok@tue.nl 1

  2. Lecture overview • Vector algorithms • Tensor algorithms • Modeling algorithms 2

  3. Vector algorithms • Vector • 2 or 3 dimensional representation of direction and magnitude (e.g. speed, force) force = (1,1) speed = (3,2) force = (2,1) force = (0, -0.5) 3

  4. Vector algorithms • Hedgehogs • Warping • Oriented glyphs • Displacement plots • Time animation • Stream lines, streak lines • Stream ribbons, stream surfaces 4

  5. Time animation • Move point or object over a small time step • Velocity (vector) at position x: V(x) = d x /dt • Displacement of point: d x = V(x) dt • Repeatedly displace points over many time steps 5

  6. Time animation • Position of point at time t: t = x ( t ) V ( x ( t )) dt ∫ 0 6

  7. Time animation Give initial position x 0 (release point) • • Repeat • Find cell (i, j, k) and offsets (r, s, t) for x (point location) • Find velocity V(x) at x (interpolation) • Compute next position (integration) + t ∆ t + ∆ = + x ( t t ) x ( t ) V ( x ( t )) dt ∫ t for given time step Δt • Until total time passed or new position is outside data set 7

  8. Time animation • Integration techniques • Euler • x (t+Δt) = x (t) + V ( x (t)) Δt • Runge-Kutta • x (t+Δt) = x (t) + Δt /2 ( V ( x (t)) + V ( x * (t+Δt))) • x * (t+Δt) = x (t) + V ( x (t)) Δt • … 8

  9. Time animation 9

  10. Time animation • Accuracy depends on: • Step size Δt • Accuracy of data set • Accuracy of interpolation functions 10

  11. Particle path • Particle trace • Trajectory of a single particle over time • Path of one particle released at P at t = t 0 to t = t n P t = t 0 t = t n 11

  12. Streak line • Streakline • Path of particles passing through one given fixed point P over a time interval • Connection of all particles at time t i that have previously passed through point x i (e.g. source) P t = t 0 t = t n 12

  13. Stream line • Streamline • Curve in the flow field which at a particular time, in tangent to the velocity vector at all points along the curve. P t = t 0 t = t n • Unsteady flow: • continuous changing • given line exists only at one moment in time. 13

  14. Demo • http:// widget.ecn.purdue.edu/~meapplet/java/flowvis/Index.html 14

  15. Streamlines • Visualization: • Define starting points by creating rake (source of points) • Draw stream lines • Color lines according to some attribute • Magnitude of vector • Other scalar attributes 15

  16. Streamlines 16

  17. Stream ribbon • Generate two adjacent streamlines • Generate polygons by connecting point of both lines • Shows twist (vorticity) and divergence (spread) 17

  18. Stream surface / stream tube • Generate n streamlines passing starting at points on a curve ( rake ) • Generate polygonal mesh by connecting adjacent streamlines • Closed surface => streamtube 18

  19. Streamtubes 19

  20. Tensor algorithms • A tensor is a high dimensional quantity (in our case symmetric 3x3 matrices) • Tensors describe e.g. the displacement and stress in a 3D material • We must study the eigenvectors and eigenvalues of the matrix: • A x = λ x where A is tensor matrix and x its eigenvector • det|A – λI| = 0 20

  21. Tensor algorithms • Express eigenvectors as: • v i = λ i e i where e i is unit vector in direction eigenvalue and λ i eigenvalues • Order eigenvalues such that • λ 1 ≥ λ 2 ≥ λ 3 (major, medium and minor values) 21

  22. Tensor ellipsoids • Define an ellipsoid • The shape and orientation of the ellipsoid represent the relative size of the eigenvalues and the orientation of the eigenvectors • Algorithm • Position a sphere at the tensor location • Rotate the sphere around its origin (using eigenvectors) • Scale the sphere (using eigenvalues) 22

  23. Tensor ellipsoids 23

  24. Tensor ellipsoids • Point load applied to elastic material • At the surface of material the ellipsiods flatten because there is no stress perpendicular to the surface (except at stress point itself) 24

  25. Tensor hyperstreamlines • Decompose tensor field into three vector fields defined by one of the eigenvectors • Create a streamline through one of the vector fields • Sweep an object (e.g. ellipse) along this streamline • Use remaining vector fields to define major and minor axis of ellipse 25

  26. Tensor hyperstreamlines 26

  27. Modeling algorithms • Modeling algorithms • Create or change dataset geometry or topology • Algorithms on combined data • Most general class of algorithms 27

  28. Source objects • Modeling simple geometry • Supporting geometry • Data attribute creation • Source objects can be used as procedures to create data attributes (e.g. a simulator) • Attributes can be generated from a mathematical function • => implicit functions 28

  29. Implicit functions • Implicit functions • F(x, y, z) = c • Examples: • Sphere: F(x, y, z) = x 2 + y 2 + z 2 – R 2 • Plane: F(x, y, z) = Ax + By + Cz + D 29

  30. Implicit functions • Properties of implicit functions • Simple geometric description • Easy definition to define common geometric shapes (spheres, planes, cylinders, ..) • Region separation • Implicit functions separate 3D space F(x, y, z) < 0, F(x, y, z) = 0, F(x, y, z) > 0 • Scalar generation • Implicit functions convert position in space into scalar value c i = F(x i , y i , z i ) 30

  31. Use of implicit functions • Modeling objects • Sample F on dataset and generate isosurface at contour value c i • Combine implicit functions to create more complex objects using boolean operations (union, intersection, and difference • F + G = min(F(x, y, z), G(x, y, z)) • F * G = max(F(x, y, z), G(x, y, z)) • F – G = max(F(x, y, z), -G(x, y, z)) 31

  32. Use of implicit functions • Modeling example • f1 = (x-1.33) 2 + y 2 + z 2 – 0.5 2 • f2 = (x-1.5) 2 + y 2 + (z-0.5) 2 – 0.25 2 • f3 = f1 – f2 • f4 = y 2 + z 2 – x 2 tan 2 (20) (+ intersection with 2 planes) • f5 = f4 + f3 f2 f3 f4 f5 f1 32

  33. Use of implicit functions • Selecting data • Choosing cells and points that lie within a particular region of the dataset • Algorithm • For each cell in dataset • Evaluate implicit function for all cell nodes • A cell is selected if result has negative sign 33

  34. Use of implicit data • Data selection Selecting with sphere function 34

  35. Use of implicit functions • Data cutting • Find dataset values on implicit surface 35

  36. Use of implicit functions • Data cutting • Algorithm • For each cell in dataset • Evaluate implicit function for all cell nodes • A cell is cut if not all positive or negative • Generate the isosurface f(x, y, z) =0 within cell • Generate data attributes for isosurface by interpolation along cut edges 36

  37. Use of implicit functions • Data cutting Data cutting with plane function 37

  38. Use of implicit functions • Clipping • Limit the data to be processed or displayed • Usually with plane 38

  39. Use of implicit functions • Clipping • Algorithm • Evaluate implicit function for all cell nodes • If all positive => remove cells • If all negative => copy cells • Else • Generate the isosurfaces f(x, y, z) =0 within cell and generate new cells. • Generate data attributes for isosurface by interpolation along cut edges 39

  40. Glyphs • A glyph is any object which is parameterized by some data • May be positioned, oriented, scaled, deformed, colored, .. in response to data 40

  41. Data extraction • Data extraction • Extract portions of data from dataset • Techniques: • Geometry extraction • Thresholding 41

  42. Data extraction • Geometry extraction • Extracts data based on geometric or topological characteristics • Select cells/nodes within specified range of ids • Spatial extraction • Define regions (e.g. by implicit function) • See data selection • Subsampling • Select part of original data • Only select every n-th data node • Modifies topology of dataset 42

  43. Data extraction • Thresholding • Extracts data based on attribute values • Examples • Select all nodes with scalar values within specified range • Select all nodes with vector magnitude within specified range 43

  44. Probing • Resampling method • Create output dataset by sampling input dataset • Get attributes for output dataset by interpolation from attributes of input dataset 44

  45. Probing 45

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend