1 / 63

Data Visualization 2 ~How to visualize huge 3D data~

Learn how to visualize extremely large and complex 3D data through techniques like simplification, progressive meshes, and point-based rendering. Explore the use of triangles, points, and tree structures to render high-quality and efficient visualizations. Discover the merits of different approaches and their applications in various domains.

ricardoj
Download Presentation

Data Visualization 2 ~How to visualize huge 3D data~

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Data Visualization 2~How to visualize huge 3D data~ Yasuhide Okamoto

  2. Digest • How to use Huge 3D data? • Easy to obtain, Hard to visualize Very huge!! Good Sensors, Big Storage Huge 3D Data Too complex to process

  3. Solutions • Make Low resolution data! • Use only required data! • Make a Tree structure!

  4. Solutions Simplification using Quadric Error Metric Progressive Meshes Adaptive TetraPuzzles

  5. 3D Representation again

  6. Why we use triangles? • Planar • Convex • Simplest polygon • Possible to approximatecomplex surfaces

  7. Detail representation • Texture mapping • Bump mapping, Normal mapping, Displacement mapping Triangle mesh Textured model An example of Normal mapping Texture [Levy 2002]

  8. Today’s topic Forget Triangles!

  9. Rendering process for a triangle • Transformation of vertices • Rasterization • Texturing, Pixel shading

  10. Triangle is the only solution? Triangles cannot be seen because they are too small…

  11. Another solution • Everything is built up of atoms…

  12. Another solution • Triangle -> Point

  13. Another solution • Point based rendering Points Triangles St. Matthew (127 millions triangles) 8 sec/frame 8 frame/sec

  14. Merits of points • Data simplicity • Triangles • 3 vertices • 1 set of indices • Points • 1 vertex • point size • (no connectivity) (x0, y0, z0) (0, 1, 2) (x1, y1, z1) (x2, y2, z2) (x0, y0, z0) r

  15. Merits of points • Processing cost • Triangles • Projecting 3 vertices • Precise rasterization • Points • Projecting 1 vertex • Simple rasterization

  16. Applications using point rendering • Particle system

  17. A demerit of point rendering • Rendering quality Points Triangles

  18. QSplat Szymon Rusinkiewicz, Marc Levoy SIGGRAPH2000 • Point Tree structure • LOD using points

  19. Data construction • Input a triangle mesh • Place a sphere at each triangle, large enough to touch neighbor spheres

  20. Creating a hierarchy • Recursive splitting and merging

  21. Leaf Node: Points in Original Resolution Point tree Need extra data size…

  22. Hierarchical data compression • Using relative values to the parent node • Decode encoded data while traversing trees • Quantization Parent Node: Center (xp, yp, zp), Radius: rp Child Node: Center (xp+kx*rp, yp+ky*rp, zp+kz*rp), Radius: rp*kr

  23. Node structure Position and Radius Width of Cone of Normals Tree Structure Color (Optional) Normal 13 bits 3 bits 14 bits 2 bits 16 bits 6 bytes

  24. Center Offset Radius Ratio Position and radius Position and Radius Width of Cone of Normals Tree Structure Color (Optional) Normal 13 bits 3 bits 14 bits 16 bits 2 bits • Position and radius encoded relative to parent node

  25. Tree structure Position and Radius Width of Cone of Normals Tree Structure Color (Optional) Normal 13 bits 3 bits 14 bits 2 bits 16 bits • Number of children (0, 2, 3, or 4) – 2 bits • Presence of grandchildren – 1 bit

  26. Normal Position and Radius Width of Cone of Normals Tree Structure Color (Optional) Normal 13 bits 3 bits 14 bits 2 bits 16 bits • Normal quantized to gridon faces of a cube 52526

  27. Normal cone Position and Radius Width of Cone of Normals Tree Structure Color (Optional) Normal 13 bits 3 bits 14 bits 2 bits 16 bits • Normal cone: range of visible directions Invisible Visible Visible Invisible Original Point (leaf node) Inner node’s point • Quantizing cone’s width to

  28. Color Position and Radius Width of Cone of Normals Tree Structure Color (Optional) Normal 13 bits 3 bits 14 bits 2 bits 16 bits • Per-vertex color is quantized 5-6-5 (R-G-B)

  29. Rendering algorithm • Traverse hierarchy recursively if (node not visible) Skip this subtree else if (leaf node) Draw points else if (size on screen < threshold) Draw points else Traverse children

  30. Data alignment Position and Radius Width of Cone of Normals Tree Structure Color (Optional) Normal 13 bits 3 bits 14 bits 2 bits 16 bits • Breadth-First Order • => Good for memory coherency

  31. Results of data construction

  32. Comparing splat shapes aliasing Same recursion level Same rendering time Highest quality

  33. Comparing splat shapes

  34. Demonstration video

  35. Summary of QSplat • Hierarchical representation using points • High speed and high quality rendering for complex models • Fast preprocessing • High compression rate

  36. Similar works • Layered Point Clouds QSplat --- Point based Tree Tree Depth: log(n) Layered Point Clouds --- Point Cloud based Tree Tree Depth: log(n/k)

  37. Similar works • Layered Point Clouds

  38. Similar works • POP • Hybrid method using Points and Polygons Red: Points, Blue: Polygons (Triangles)

  39. Similar works • Combining Edges and Points Edge & Point image Final image

  40. Other solutions? Triangle Point Line

  41. Far Voxels Enrico Gobbetti, Fabio Marton SIGGRAPH2005

  42. Voxel • A representation for 3D models

  43. View dependent voxel

  44. Inner Node: • QSplat: A simplified point • LPC: A group of simplified points • TetraPuzzles: A group of triangles Leaf Node: Points or Triangles in Original Resolution Tree structure • Recursive Split • Make inner nodes in bottom up order

  45. View dependent voxel Leaf Node: A group of Triangles in Original Resolution Tree structure of Far Voxels • View Dependent Voxels for inner nodes

  46. Construction of tree structure • Recursive split of bounding boxes along the longest axis

  47. Define inner nodes • Bottom-up order construction • Assign a voxel grid from the bounding boxto each inner node

  48. Sampling • Create “View-Dependent Voxel” for each grid Sampling Fitting V Voxel Context Sampled Voxel View Dependent Voxel C(v) = (r, g, b)

  49. Sampling by ray casting d S

  50. Recursive sampling

More Related