580 likes | 733 Views
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
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