modeling 01
play

Modeling (01) RNDr. Martin Madaras, PhD. madaras@skeletex.xyz - PowerPoint PPT Presentation

Fundamentals of Computer Graphics and Image Processing Modeling (01) RNDr. Martin Madaras, PhD. madaras@skeletex.xyz Computer Graphics Image processing Representing and manipulation of 2D images Modeling Representing and


  1. Fundamentals of Computer Graphics and Image Processing Modeling (01) RNDr. Martin Madaras, PhD. madaras@skeletex.xyz

  2. Computer Graphics  Image processing  Representing and manipulation of 2D images  Modeling  Representing and manipulation of 2D and 3D objects  Rendering  Constructing images from virtual models  Animation  Simulating changes over time 2

  3. How the lectures should look like #1 Ask questions, please!!! - Be communicative - www.slido.com #ZPGSO01 - More active you are, the better for you! - We will go into depth as far, as there are no questions - 3

  4. What is Modeling?  Representation and manipulation of objects  Acquire  Edit  Transform  Smooth  Render  Deform  Morph  Compress  Transmit  Analyze 4

  5. What is Modeling?  Representation and manipulation of objects  Acquire  Edit  Transform  Smooth  Render  Deform  Morph  Compress  Transmit  Analyze 5

  6. Modeling  How to represent ..  2D and 3D objects in a computer?  Acquire computer representations of objects?  Manipulate representations of objects? 6

  7. Quick test #1  Describe the picture 7

  8. Quick test #2  Describe the picture 8

  9. Quick test #3  Volunteers: Describe the image to others  Others: Reproduce the image 9

  10. Semantic vs. numeric  Humans – semantic representation  concepts, notions, meanings, emotions...  imprecise, ambiguous  Computers – numeric representation  exact, mathematical, straightforward 10

  11. Detailed representation 11

  12. 2D Object Representations  How to define 2D shapes? 12

  13. 2D Object Representations  Let ’s define these objects 13

  14. 2D Object Representations  How to make 2D representation smooth at any scale? Bitmaps, raster, pixels, Shapes, vectors, curves, parametric, implicit explicit 14

  15. 2D Object Representations  Lines  Polygon (set of lines)  Curves  Vector image (set of curves) 15

  16. 2D Object Representations  Vector Images 16

  17. 3D Object Representations  How to represent a 3D object? 17

  18. 3D Object Representations  Polygons… 18

  19. 3D Object Representations  Voxels… 19

  20. 3D Object Representations  Recreating artwork 20

  21. 3D Object Representations  Mechanical objects 21

  22. 3D Object Representations  Maps, Cities, Landscape 22

  23. 3D Object Representations  Clouds, Smoke, Fog, Water 23

  24. 2D Object Representations  Pixels  Images  Lines  Curves  Polygons  Discrete, Vector graphics 24

  25. 3D Object Representations  Points  Range Image, Point Cloud  Surfaces  Polygonal, Subdivision, Parametric, Implicit  Solids  Voxels, BSP Tree, CSG, Sweep, etc.  Hierarchical Structures  Scene graph, Application specific… 25

  26. Why so many representation?  Efficiency for different tasks  Rendering  Acquisition  Manipulation  Animation  Analysis  Data structures determine algorithms 26

  27. Outline  Points  Range Image, Point Cloud  Surfaces  Polygonal, Subdivision, Parametric, Implicit  Solids  Voxels, BSP Tree, CSG, Sweep  Hierarchical Structures  Scene graph, Application specific 27

  28. Range Image  Set of 3D points mapping to pixels of depth image  Structured Point Cloud  Acquired using a range scanner (eg. Kinect) 28

  29. Point Cloud  Unstructured set of 3D point samples  Acquired from multiple range scans, vision, etc. 29

  30. Point Cloud Animation: Road Survey https://www.youtube.com/watch?v=f_ng212b-UM 30

  31. Outline  Points  Range Image, Point Cloud  Surfaces  Polygonal, Subdivision, Parametric, Implicit  Solids  Voxels, BSP Tree, CSG, Sweep  Hierarchical Structures  Scene graph, Application specific 31

  32. Polygonal Mesh  Connected mesh of polygons (usually triangles)  Most common representation, supported in OpenGL 32

  33. Subdivision Surface  Coarse mesh with subdivision rule  Smooth surfaces are defined as sequences of refinement 33

  34. Subdivision Surface  Properties  Accurate  Concise  Intuitive specification  Local support  Affine invariant  Arbitrary topology  Guaranteed continuity Geri’s game, Pixar, 1997:  Natural parametrization https://www.youtube.com/watch?v=kweN7VLx-JE  Efficient display  Efficient intersections 34

  35. Subdivision Surfaces: Overview https://www.youtube.com/watch?v=ckOTl2GcS-E&t=26s 35

  36. Subdivision Surfaces: Overview  Subdivision surfaces  Loop subdivision  Catmull-Clark  Butterfly, Doo-Sabin, etc. 36

  37. Example: Loop subdivision  How to refine mesh ?  Refine each triangle into 4 triangles by splitting each edge and connecting the vertices 37

  38. Example: Loop subdivision  How position new vertices?  Choose location of the vertices as weighted average of original vertices in local neighborhood  Rules for extraordinary vertices and boundaries : 38

  39. Key Questions  How to refine mesh ?  Aim for properties like smoothness  How to store mesh ?  Aim for efficiency of implementing subdivision rules 39

  40. Polygonal meshes  V, E, F  P, S 40

  41. Polygonal Meshes  Mesh Representations  Independent faces  Vertex and face tables  Adjacency lists  Winged-Edge 41

  42. Independent Faces  Each face lists vertex coordinates  Redundant vertices  No topology information 42

  43. Vertex and Face Tables  Each face lists vertex references  Shared vertices  Still no topology information 43

  44. Adjacency Lists  Store all vertex, edge and face adjacency  Efficient topology traversal  Extra storage 44

  45. Partial Adjacency Lists  Can we can store only some adjacency information and derive others? 45

  46. Winged Edge  Adjacency encoded in edges  All adjacencies in O(1) time  Little extra storage  Arbitrary polygons 46

  47. Winged Edge Example 47

  48. Parametric Surface  Defined using control points  Surfaces are defined using parametric functions  m × n control points  parameters u,v http://cadauno.sourceforge.net/ 48

  49. Parametric Surface  Cubic Bezier surface, NURBS 49

  50. Implicit Surface  Surface satisfying function F(x,y,z) = 0 Polygonal model Implicit model 50

  51. Question What happens if we turn F(x,y,z) = 0 into F(x,y,z ) ≤ 0 ? surface → volume 51

  52. Outline  Points  Range Image, Point Cloud  Surfaces  Polygonal, Subdivision, Parametric, Implicit  Solids  Voxels, BSP Tree, CSG, Sweep  Hierarchical Structures  Scene graph, Application specific 52

  53. Volumetric representation  not only boundary but also the insides of the object  Medicine  Physics  Simulations  Animation 53

  54. Voxels  Uniform grid of volumetric samples  Acquired using CAT, MRI scans etc.  Volume elements, “3D pixels”  Discrete 54

  55. Volume Rendering Demo https://www.youtube.com/watch?v=uSyUCLLNtMo 55

  56. BSP Trees  Binary space partition  Constructed from polygonal representations 56

  57. Constructive Solid Geometry  Hierarchy of boolean operations  Union, Difference, Intersect applied to simple shapes 57

  58. Functional Representation  F-rep ~ generalization of CSG  More node functions – operators  e.g. object blending 58

  59. Mesh reconstruction  Conversion into an implicit function  Poisson reconstruction 59

  60. Mesh reconstruction  Isosurface extraction  Marching cubes 60

  61. Marching cubes  Create cubes  Classify vertices  Build indices  Lookup edge list 61

  62. Marching cubes  Create cubes  Classify vertices  Build indices  Interpolate Triangle Vertices 62

  63. Marching cubes  Create cubes  Classify vertices  Build indices  Interpolate Triangle Vertices  Calculate normals 63

  64. Marching cubes 64

  65. Marching cubes 65

  66. Marching cubes 66

  67. Marching cubes 67

  68. Marching cubes 68

  69. Outline  Points  Range Image, Point Cloud  Surfaces  Polygonal, Subdivision, Parametric, Implicit  Solids  Voxels, BSP Tree, CSG, Sweep  Hierarchical Structures  Scene graph, Application specific 69

  70. Scene Graph  Objects organized in a hierarchical structure 70

  71. Application Specific  Specific for given application domain 71

  72. Taxonomy of 3D representations 72

  73. Computational Differences  Efficiency  Computational complexity ( O(n log n) )  Space/Time trade-off  Numerical stability/accuracy  Simplicity  Hardware acceleration  Ease of acquisition  Software creation and maintenance  Usability  Designer vs. computational engine 73

  74. Parametric vs. polygonal  Parametric  smooth, reparametrizable  harder rendering  precise rendering  Polygonal  discrete, hard to reparametrize  faster rendering or rasterization  approximative rendering 74

  75. How the lectures should look like #2 Ask questions, please!!! - Be communicative - www.slido.com #ZPGSO01 - More active you are, the better for you! - 75

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