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

Recommend


More recommend