1 / 56

3D Object Representations

3D Object Representations. 2012, Fall. Introduction. What is CG? Imaging : Representing 2D images Modeling : Representing 3D objects Rendering : Constructing 2D images from 3D objects Animation : Simulating changes over time. Course Syllabus . Image Processing Modeling Rendering

raziya
Download Presentation

3D Object Representations

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. 3D Object Representations 2012, Fall

  2. Introduction • What is CG? • Imaging : Representing 2D images • Modeling : Representing 3D objects • Rendering : Constructing 2D images from 3D objects • Animation : Simulating changes over time

  3. Course Syllabus • Image Processing • Modeling • Rendering • Animation

  4. Modeling • How do we.. • Represent 3D objects in a computer? • Acquire computer representations of 3D objects? • Manipulate computer representations of 3D objects? • Analyze computer representations of 3D objects? Different methods for different object representations

  5. 3D Object

  6. Why Different Representations? • Efficiency for different tasks • Acquisition • Rendering • Manipulation • Animation • Analysis • The choice of 3D object representation can have great impact on algorithms • Data structures determine algorithms!

  7. 3D Object Representations • Desirable properties depend on intended use • Easy acquisition • Accurate • Concise • Intuitive editing • Efficient editing • Efficient display • Efficient intersections • Guaranteed validity • Guaranteed smoothness • Etc.

  8. 3D Scene Representation • Scene is usually approximated by 3D primitives • Point • Line segment • Polygon • Polyhedron • Curved surface • Solid object • etc.

  9. 3D point • Specifies a location • Represented by three coordinates • Infinitely small

  10. 3D Vector • Specifies a direction and a magnitude • Represented by three coordinates • Magnitude • Has no location

  11. 3D Vector • Dot(=Scalar) product of two 3D vectors

  12. 3D Vector • Cross(=Vector) product of two 3D vectors • V1 X V2 = vector perpendicular V1 and V2 (dx2, dy2, dz2) (dx1, dy1, dz1)

  13. 3D Line Segment • Linear path between two points • Use a linear combination of two points • Parametric representation

  14. 3D Ray • Line segment with one endpoint at infinity • Parametric representation

  15. 3D Line • Line segment with both endpoints at infinity • Parametric representation

  16. 3D Plane • A linear combination of three points • Implicit representation , or • N is the plane “normal” • Unit-length vector • Perpendicular to plane

  17. 3D Polygon • Area “inside” a sequence of coplanar points • Triangle • Quadrilateral • Convex • Star-shaped • Concave • Self-intersection • Holes (use > 1 polygon struct) Points are in counter-clockwise order

  18. 3D Sphere • All points at distance “r” from point “(cx, cy, cz)” • Implicit representation • Parametric representation

  19. 3D Scenes • Comprise set of geometric primitives

  20. Other Geometric Primitives • More detail on 3D modeling in course • Point • Line segment • Polygon • Polyhedron • Curved surface • Solid object • etc.

  21. Raw data Point cloud Range Image Polygon soup Surface Mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Skeleton Application specific 3D Object Representations

  22. Point Cloud • Unstructured set of 3D point samples • Acquired from range finer, computer vision, etc

  23. Range Image • Set of 3D points mapping to pixels of depth Image • Acquired from range scanner

  24. Point Sample Rendering an object representation consisting of a dense set of surface point samples, which contain color, depth and normal information Point Sample Rendering Point Sample Rendering (Surfel)

  25. Polygon Soup • Unstructured set of polygons • Many polygon models are just lists of polygons • Created with interactive modeling systems?

  26. Raw data Point cloud Range Image Polygon soup Surface Mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Skeleton Application specific 3D Object Representations

  27. Curved Surfaces • Motivation • Exact boundary representation for some objects • More concise representation than polygonal mesh

  28. Mesh • Connected set of polygons (usually triangles) • May not be closed

  29. Subdivision Surface Subdivision (Smooth Curve) Subdivision Surface • Coarse mesh & subdivision rule • Define smooth surfaces as limit of sequence of refinements

  30. Parametric Surface • Boundary defined by parametric functions • x = fx (u, v) • y = fy (u, v) • z = fz (u, v) • Example: ellipsoid

  31. Parametric Surface • Tensor product spline patchs • Each patch is defined by blending control points • Careful constrains to maintain continuity

  32. Implicit Surfaces • Boundary defined by implicit function • f(x, y, z) = 0 • Example • linear (plane) • ax + by + cz + d = 0 • Ellipsoid

  33. Implicit Surface Examples

  34. Raw data Point cloud Range Image Polygon soup Surface Mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Skeleton Application specific 3D Object Representations

  35. Solid Modeling • Represent solid interiors of objects • Surface may not be described explicitly

  36. Voxels • Partition space into uniform grid • Grid cells are called a voxels (like pixels) • Store properties of solid object with each voxel • Occupancy • Color • Density • Temperature • Etc.

  37. Quadtrees & Octrees • Refine resolution of voxels hierarchically • More concise and efficient for non-uniform objects <Enumeration vs Quadtree >

  38. Quadtree Display

  39. Binary Space Partitions (BSPs) • Recursive partition of space by planes • Mark leaf cells as inside or outside object

  40. Binary Space Partitions (BSPs) • recursively divide space into pairs of subspaces • each separated by a plane of arbitrary orientation and position

  41. Constructive Solid Geometry (CSG) • Represent solid object as hierarchy of boolean operations • Union • Intersection • Difference

  42. Constructive Solid Geometry

  43. Constructive Solid Geometry (CSG) • CSG Acquisition • Interactive modeling programs • CAD/CAM

  44. Surface of Revolution (SOR) • To generate a 3-D surface, revolve a two dimensional entity, e.g., a line or plane about the axis in space. called surfaces of revolution

  45. Sweep surfaces (1/2) • A 3-D surface is obtained by traversing an entity such as a line, polygon or curve, along a path in space the resulting surfaces are called sweep surfaces • Frequently used in Geometric modeling • ex) entity : point path : curve Generates curve

  46. Sweep surfaces (2/2) • Closed polygons and curves generates finite volume by sweeping transformation ex) square or rectangle swept along a - straight path yields a parallel piped - circle on straight path cylinder - Rotation is also possible

  47. Sweep • Solid swept by curve along trajectory

  48. Raw data Point cloud Range Image Polygon soup Surface Mesh Subdivision Parametric Implicit Solids Voxels Octree BSP tree CSG Sweep High-level structures Scene graph Skeleton Application specific 3D Object Representations

More Related