Presentation is loading. Please wait.

Presentation is loading. Please wait.

3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.

Similar presentations


Presentation on theme: "3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing."— Presentation transcript:

1 3D Object Representations 2011, 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  V 1 X V 2 = vector perpendicular V 1 and V 2 (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 “(c x, c y, c z )”  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 3D Object Representations 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

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 (Surfel)

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

26 3D Object Representations 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

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 Coarse mesh & subdivision rule  Define smooth surfaces as limit of sequence of refinements Subdivision (Smooth Curve) Subdivision Surface

30 Parametric Surface Boundary defined by parametric functions  x = f x (u, v)  y = f y (u, v)  z = f z (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 3D Object Representations 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

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

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 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 Surface of Revolution (SOR)

45

46 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

47

48 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 surfaces (2/2)

49 Sweep Solid swept by curve along trajectory

50 3D Object Representations 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

51 Scene Graph Union of objects at leaf nodes

52 Skeleton Graph of curves with radii

53 Application Specific

54 Taxonomy of 3D Representations

55 Computational Differences Efficiency  Combinatorial complexity (Ex: O( n log n))  Space/time trade-offs (Ex: Z-buffer)  Numerical accuracy/stability (Degree of polynomial) Simplicity  Ease of acquisition  Hardware Acceleration  Software creation and maintenance Usability  Designer interface vs. computational engine

56 Advanced Modeling  Procedural Modeling Fractal Modeling Grammar-based Modeling  Particle System  Physically Based Modeling


Download ppt "3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing."

Similar presentations


Ads by Google