Surface ModelingPolygon SurfacesPolygon TablesTypes of Curves: Parametric vs. Implicit RepresentationsWhy Parametric?Specifying CurvesAn Example: Beziér CurvesBeziér PatchesExample: The Utah TeapotSubdivision of Beziér SurfacesDeforming a PatchPatch Representation vs. Polygon MeshSweep RepresentationsConstructive Solid-Geometry Methods (CSG)A CSG Tree RepresentationExample Modeling Package: Alias StudioVolume ModelingMarching Cubes AlgorithmMarching Cube CasesExtracted Polygonal MeshProcedural Techniques: FractalsExample: L-systemsExample of a complex L-system modelParticle SystemsNext TimeSlide 1 Lecture 13 6.837 Fall ‘00 Surface ModelingTypes: Polygon surfacesCurved surfacesVolumesGenerating models: Interactive ProceduralSlide 2 Lecture 13 6.837 Fall ‘00 Polygon SurfacesSet of surface polygons that enclose an object interiorSlide 3 Lecture 13 6.837 Fall ‘00 Polygon TablesWe specify a polygon surface with a set of vertex coordinates and associated attribute parametersSlide 4 Lecture 13 6.837 Fall ‘00 Types of Curves: Parametric vs. Implicit Representations•Explicit •Explicit •Explicit •Explicit ImplicitCurve defined in terms of cartesian coordinates: f (x, y, z) = 0ParametricParametrically defined curve in three dimensions is given by three univariate functions:Q(u,) = (X(u), Y(u), Z(u)), where u varies from 0 to 1.To see why the parametric form is more useful, let’s look at a circle: parametric implicitSlide 5 Lecture 13 6.837 Fall ‘00 Why Parametric?Parametric curves are very flexibleThey are not required to be functionsCurves can be multi-valued with respect to any coordinate systemParameter count generally gives the object’s dimension Decouples dimension of object from the dimension of spaceSlide 6 Lecture 13 6.837 Fall ‘00 Specifying CurvesControl points - a set of points that influence the curve's shape Knots - control points that lie on the curve Interpolating spline - curve passes through the control points knots Approximating spline - control points merely influence the shapeSlide 7 Lecture 13 6.837 Fall ‘00 An Example: Beziér CurvesWe can generate points on the curve by repeated linear interpolation.Starting with the control polygon (in red), the edges are subdivided (as noted in blue). These points are then connected in order and the resulting edges subdivided. The recursion stops when only one edge remains. This allows us to approximate the curve at multiple resolutions.A Beziér curve can be defined in terms of a set of control points denoted in red.Consider, for example, a cubic, or curve of degree 3:Slide 8 Lecture 13 6.837 Fall ‘00 Beziér PatchesControl polyhedron with 16 points and the resulting bicubic patch:Slide 9 Lecture 13 6.837 Fall ‘00 Example: The Utah Teapot32 patchessingle shaded patchwireframe of the control pointsPatch edgesSlide 10 Lecture 13 6.837 Fall ‘00 Subdivision of Beziér Surfaces 2 8 32 128triangles per patchWe can now apply the same basic idea to a surface, to yield increasingly accurate polygonal representationsSlide 11 Lecture 13 6.837 Fall ‘00 Deforming a PatchThe net of control points forms a polyhedron in cartesian space, and the positions of the points in this space control the shape of the surface.The effect of lifting one of the control points is shown on the right.Slide 12 Lecture 13 6.837 Fall ‘00 Patch Representation vs. Polygon MeshIt’s fair to say that a polygon is a simple and flexible building block. However, a parametric representation of an object has certain key advantages:ConcisenessA parametric representation is exact and economic since it is analytical. With a polygonal object, exactness can only be approximated at the expense of extra processing and database costs.Deformation and shape changeDeformations of parametric surfaces is no less well defined than its undeformed counterpart, so the deformations appear smooth. This is not generally the case with a polygonal object.Slide 13 Lecture 13 6.837 Fall ‘00 Sweep RepresentationsSolid modeling packages often provide a number of construction techniques. A good example is a sweep, which involves specifying a 2D shape and a “sweep” that moves the shape through a region of space.Slide 14 Lecture 13 6.837 Fall ‘00 Constructive Solid-Geometry Methods (CSG)Another modeling technique is to combine the volumes occupied by overlapping 3D shapes using set operations. This creates a new volume by applying the union, intersection, or difference operation to two volumes.unionintersectiondifferenceSlide 15 Lecture 13 6.837 Fall ‘00 A CSG Tree RepresentationSlide 16 Lecture 13 6.837 Fall ‘00 Example Modeling Package: Alias StudioSlide 17 Lecture 13 6.837 Fall ‘00 Volume ModelingSlide 18 Lecture 13 6.837 Fall ‘00 Marching Cubes AlgorithmExtracting a surface from voxel data:1. Select a cell2. Calculate the inside/outside state of each vertex of the cell3. Create an index4. Use the index to look up the state of the cell in the case table (see next slide)5. Calculate the contour location (via interpolation) for each edge in the case tableSlide 19 Lecture 13 6.837 Fall ‘00 Marching Cube CasesSlide 20 Lecture 13 6.837 Fall ‘00 Extracted Polygonal MeshSlide 21 Lecture 13 6.837 Fall ‘00 Procedural Techniques: FractalsApply algorithmic rules to generate shapesSlide 22 Lecture 13 6.837 Fall ‘00 Example: L-systemsBiologically-motivated approach to modeling botanical structuresSlide 23 Lecture 13 6.837 Fall ‘00 Example of a complex L-system modelSlide 24 Lecture 13 6.837 Fall ‘00 Particle SystemsUseful for modeling natural objects, or irregularly shaped object, that exhibit a fluid-like appearance or behavior. In particular, objects that change over timeare very amenable to modeling within this framework.Random processes are used to generate objects within some defined region of space and to vary their parameters over time.Slide 25 Lecture 13 6.837 Fall ‘00 Next
View Full Document