VIEWS: 14 PAGES: 36 POSTED ON: 8/17/2011 Public Domain
Models… 3D Models Where does the data come from? Sources of 3D d t S f data 1. 1 Three-Dimensional Directly specifying the Three Dimensional data y (-1, -1, -1) 1, 1, 1) ( 1 -1 -1) Fine for this: x = ( 1, 1, -1) (-1 1 -1) ( 1, 1, 1) z (-1, -1, 1) 1 1, ( 1, -1 1) ( 1, 1, 1) (-1 1 1) ( 1, 1, ... But not for this! Sources of 3D data 1. Directly specifying the Three-Dimensional data 2 Transforming data found in other forms into 2. surfaces or volumes – e.g. taking molecule data and transforming it into spheres and cylinders Sources of 3D data 1. Directly specifying the Three-Dimensional data 2 Transforming data found in other forms 2. 3. Writing programs that create such data – this is modelling. called procedural modelling g Procedural Modeling of Cities (Parish and Mueller, SIGGRAPH 2001) g g Procedural Modeling of buildings (Mueller et al., SIGGRAPH 2006) g g Image-based Procedural Modeling of Facades (Mueller et al., SIGGRAPH 2007) g Procedural Modelling of Natural Sceneries (Guerraz et al., CASA 2003) Sierpinski s Sierpinski’s Triangle: Self similarity Self-similarity common in nature p Fractal Landscape L-systems are defined as a tuple: G = {V, S, ω, P} V - The alphabet, a set of symbols (variables) S - A set of symbols containing elements that remain fixed (constants) ω - A string of symbols from V defining the initial state of the system (axiom or initiator) P - A set of rules defining the way variables can be replaced with combinations of constants and other variables Sierpinski triangle drawn using an L-system: variables: A B (draw forward) constants: "turn by constants + − (+ means "t rn left b angle“) start: A B−A−B),(B rules: (A → B A B) (B → A+B+A) angle: 60° (angle changes sign at each iteration) Evolution for n = 2, n = 4, n = 6, n = 9 L-systems L systems for plant modelling Prusinkiewicz Sources of 3D data 1. Directly specifying the Three-Dimensional data 2 Transforming data found in other forms 2. 3. Writing programs that create such data – this is modelling. called procedural modelling 4. Using a modelling program, e.g. Blender, Maya, Max CAD Softimage, etc. 3ds Max, Auto CAD, Softimage etc Sources of 3D data 1. Directly specifying the Three-Dimensional data 2 2. Transforming data found in other forms 3. Writing programs that create such data – this is modelling. called procedural modelling 4. Using a modelling program, e.g. Blender, Maya, Max CAD Softimage, etc. 3ds Max, Auto CAD, Softimage etc 5. Photogrammetric techniques – reconstruction object. from photos of a real object Photogrammetry Find corresponding points in a series of images Triangulate to find their location in space From photos, extract models using image information: y … later you can texture and even relight g Oh et al. SIGGRAPH 2001 Recover 3D model from a stereo pair of digital still images (Dimensional Imaging) Capture Processing Polygonisation Merging http://www.di3d.com/ g g Examples of Image-Based Modeling 1997 1999 http://www.debevec.org/Campanile/ htt // d b /C il / http://www.debevec.org/FiatLux/ htt // d b /Fi tL / Sources of 3D data 1. Directly specifying the Three-Dimensional data g 2. Transforming data found in other forms 3. Writing programs that create such data – this is called procedural modelling. p g 4. Using a modelling program, e.g. Blender, Maya, 3D Studio Max, Auto CAD, Softimage 5. Photogrammetric techniques – reconstruction from photos of a real object. 6. Use 3D scanner or digitizers, which gather depth information g g j The Digital Michelangelo project http://www-graphics.stanford.edu/projects/mich/ j The Parthenon project http://www.debevec.org/Parthenon/ Gives an awful lot of data!!!! Sources of 3D data 1. Directly specifying the Three-Dimensional data 2. Transforming data found in other forms 3. Writing programs that create such data – this is called modelling. procedural modelling 4. Using a modelling program, e.g. Blender, Maya, 3D Studio Max, Auto CAD, Softimage 5. Photogrammetric techniques – reconstruction from photos of a real object. 6. Use 3D scanner or digitizers, which gather depth information 7. 7 Other S Oth Sources: • Implicit surfaces, • scans, e.g. CT, Medical scans e g CT MRI Terminator 2, J d T t Day i t 2 Judgment D (2001) Implicit Surfaces – blobby objects that can merge and deform Usually defined by an equation of the form f(x,y,z)=0 Volumetric data can be derived from CT or MRI scans Representing 3D objects x2 + y2 + z2 = r2 Polygonal Implicit 3D Models x = sin 4θ y = cos 2θ Parametric ? Particles What representation? Graphics scenes contain all kinds of objects: terrain, trees, rocks buildings characters rain etc trees rocks, buildings, characters, rain, cloth etc.. No one method that will describe objects that will characteristics… be suited to their very different characteristics So, How do we ... Represent 3D objects in a computer? Construct these objects quickly? Manipulate them with the computer? The algorithms depend on the representation. Representation schemes R t ti h Two broad categories (but not everything fits neatly into one or the other): y p (B- Boundary Representations ( reps) d and Space-partitioning Space partitioning p Representations Boundary R B d t ti Representations B-reps B reps describe a 3D object as a set of surfaces that separate the object interior from the environment environment. Examples: Polygon Meshes Subdivision Surfaces Implicit Surfaces Parametric/spline patches Constructive Solid Geometry Polygonal Model Tessellation or polygonisation p yg p A polygon mesh is a B-rep or boundary representation model y p Geometry defined by the sub-space bounded by sets of planes and surfaces. Space-partitioning S titi i Space-partitioning representations are used to objects. describe interior properties of solid objects They typically partition a region containing an object small, non overlapping, solids, into a set of small non-overlapping contiguous solids such as cubes or tetrahedra. Examples: Voxels Quadtrees O t Octrees BSP-trees (Binary Space Partition) Kd-trees (k-dimensional) CSG ? p p g p p Space-partitioning is important in computer graphics where it is used to organise objects. g j p p Storing objects in space-partitioned data structures makes it easy to perform geometry queries: Determining which objects are close to each other (Collision Detection) Determining if a ray intersects with an object (Ray Tracing) Volumetric model. CSG – 3D Object is a collection of constructive solid geometry volume elements or voxels g p p which flag spatial occupancy y Objects defined 3D Obj t d fi d as b l ti boolean operations on solid primitives. in a discrete region. Operations in CSG Boolean Boolean oo ea Boolean Union Difference Intersection Materials M t i l Visual appearance of objects depends on their material properties The representation of materials depends on the rendering technique used Realistic techniques require physical parameters (albedo, reflectance) ( ) Often, intermediate information is used (“colour”) Eventually:y Volumetric, parameters are f(x,y,z) Surface based, parameters are f(u,v) (“Texture ”) maps”)