Create Presentation
Download Presentation

Download Presentation
## 3D Object Representations

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**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 • Animation**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**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!**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.**3D Scene Representation**• Scene is usually approximated by 3D primitives • Point • Line segment • Polygon • Polyhedron • Curved surface • Solid object • etc.**3D point**• Specifies a location • Represented by three coordinates • Infinitely small**3D Vector**• Specifies a direction and a magnitude • Represented by three coordinates • Magnitude • Has no location**3D Vector**• Dot(=Scalar) product of two 3D vectors**3D Vector**• Cross(=Vector) product of two 3D vectors • V1 X V2 = vector perpendicular V1 and V2 (dx2, dy2, dz2) (dx1, dy1, dz1)**3D Line Segment**• Linear path between two points • Use a linear combination of two points • Parametric representation**3D Ray**• Line segment with one endpoint at infinity • Parametric representation**3D Line**• Line segment with both endpoints at infinity • Parametric representation**3D Plane**• A linear combination of three points • Implicit representation , or • N is the plane “normal” • Unit-length vector • Perpendicular to plane**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**3D Sphere**• All points at distance “r” from point “(cx, cy, cz)” • Implicit representation • Parametric representation**3D Scenes**• Comprise set of geometric primitives**Other Geometric Primitives**• More detail on 3D modeling in course • Point • Line segment • Polygon • Polyhedron • Curved surface • Solid object • etc.**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**Point Cloud**• Unstructured set of 3D point samples • Acquired from range finer, computer vision, etc**Range Image**• Set of 3D points mapping to pixels of depth Image • Acquired from range scanner**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)**Polygon Soup**• Unstructured set of polygons • Many polygon models are just lists of polygons • Created with interactive modeling systems?**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**Curved Surfaces**• Motivation • Exact boundary representation for some objects • More concise representation than polygonal mesh**Mesh**• Connected set of polygons (usually triangles) • May not be closed**Subdivision Surface**Subdivision (Smooth Curve) Subdivision Surface • Coarse mesh & subdivision rule • Define smooth surfaces as limit of sequence of refinements**Parametric Surface**• Boundary defined by parametric functions • x = fx (u, v) • y = fy (u, v) • z = fz (u, v) • Example: ellipsoid**Parametric Surface**• Tensor product spline patchs • Each patch is defined by blending control points • Careful constrains to maintain continuity**Implicit Surfaces**• Boundary defined by implicit function • f(x, y, z) = 0 • Example • linear (plane) • ax + by + cz + d = 0 • Ellipsoid**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**Solid Modeling**• Represent solid interiors of objects • Surface may not be described explicitly**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.**Quadtrees & Octrees**• Refine resolution of voxels hierarchically • More concise and efficient for non-uniform objects <Enumeration vs Quadtree >**Binary Space Partitions (BSPs)**• Recursive partition of space by planes • Mark leaf cells as inside or outside object**Binary Space Partitions (BSPs)**• recursively divide space into pairs of subspaces • each separated by a plane of arbitrary orientation and position**Constructive Solid Geometry (CSG)**• Represent solid object as hierarchy of boolean operations • Union • Intersection • Difference**Constructive Solid Geometry (CSG)**• CSG Acquisition • Interactive modeling programs • CAD/CAM**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**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**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**Sweep**• Solid swept by curve along trajectory**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