53
Geometric Modeling Geometric Modeling CECS461 Computer Graphics II University of Missouri at Columbia

Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Geometric ModelingGeometric Modeling

CECS461 Computer Graphics II University of Missouri at Columbia

Page 2: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

OverviewOverview3D Shape Primitives:3D Shape Primitives:p• Points

– Vertices.

p• Points

– Vertices.Vertices.• Curves

– Lines polylines curves

Vertices.• Curves

– Lines polylines curvesLines, polylines, curves.• Surfaces

– Triangle meshes splines subdivision surfaces

Lines, polylines, curves.• Surfaces

– Triangle meshes splines subdivision surfacesTriangle meshes, splines, subdivision surfaces, implicit surfaces, particles.

• Solids

Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles.

• Solids

CECS461 Computer Graphics II University of Missouri at Columbia

So dsSo ds

Page 3: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Basic ShapesBasic Shapes

CECS461 Computer Graphics II University of Missouri at Columbia

Page 4: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Fundamental ShapesFundamental Shapes

CECS461 Computer Graphics II University of Missouri at Columbia

Page 5: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Fundamental ShapesFundamental Shapes

CECS461 Computer Graphics II University of Missouri at Columbia

Page 6: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Fundamental ShapesFundamental Shapes

CECS461 Computer Graphics II University of Missouri at Columbia

Page 7: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

CurvesCurves• Lines.• Lines.Lines.• Polynomials.

L

Lines.• Polynomials.

L• Lagrange curves.• Hermite curves.• Lagrange curves.• Hermite curves.• Bezier curves.• B-Splines.• Bezier curves.• B-Splines.B Splines.• NURBS.

S bdi i i h

B Splines.• NURBS.

S bdi i i hCECS461 Computer Graphics II University of Missouri at Columbia

• Subdivision schemes.• Subdivision schemes.

Page 8: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Mathematical FormulationsMathematical Formulations

CECS461 Computer Graphics II University of Missouri at Columbia

Page 9: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Linear interpolationLinear interpolation

CECS461 Computer Graphics II University of Missouri at Columbia

Page 10: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

SurfacesSurfaces• Planes• Planes• Triangle meshes.• Tensor-product surfaces.• Triangle meshes.• Tensor-product surfaces.Tensor product surfaces.

– Hermite surface, Bezier surface, B-spline surfaces, NURBS.

• No-tensor product surfaces.

Tensor product surfaces.– Hermite surface, Bezier surface, B-spline surfaces, NURBS.

• No-tensor product surfaces.p– Sweeping surface, ruling surface, etc.

• Subdivision surfaces.

p– Sweeping surface, ruling surface, etc.

• Subdivision surfaces.• Implicit surfaces.• Particle systems.• Implicit surfaces.• Particle systems.

CECS461 Computer Graphics II University of Missouri at Columbia

Particle systems.Particle systems.

Page 11: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Parametric PolynomialsParametric Polynomials

CECS461 Computer Graphics II University of Missouri at Columbia

Page 12: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

PolynomialsPolynomials

• No intuitive insight.• No intuitive insight.• Difficult for piecewise smooth curves.• Difficult for piecewise smooth curves.

CECS461 Computer Graphics II University of Missouri at Columbia

Page 13: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Cubic PolynomialsCubic Polynomials

CECS461 Computer Graphics II University of Missouri at Columbia

Page 14: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Cubic PolynomialsCubic Polynomials

CECS461 Computer Graphics II University of Missouri at Columbia

Page 15: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

How to define a curve?How to define a curve?• Specify a set of points for interpolation and/or • Specify a set of points for interpolation and/or p y p p

approximation for some ui

p y p papproximation for some ui

• Specify the derivatives at some locations for some ui• Specify the derivatives at some locations for some ui

• A combination of both.• A combination of both.

CECS461 Computer Graphics II University of Missouri at Columbia

Page 16: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Lagrange CurveLagrange Curve• The curve interpolates all the control points.• The curve interpolates all the control points.The curve interpolates all the control points.• Unwanted oscillation.

The curve interpolates all the control points.• Unwanted oscillation.

CECS461 Computer Graphics II University of Missouri at Columbia

Page 17: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Lagrange CurveLagrange Curveaa

)()()( ,

,

0,

,

uLaaa

uLaaa

uc nnyn

xnn

yn

xn

,, aa znzn

)(

)(,0

j

n

ijj

n

uu

uL

)()(

,0ji

n

ijj

i

uuuL

CECS461 Computer Graphics II University of Missouri at Columbia

Page 18: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Kronecker delta functionKronecker-delta function

jiji

uL ijjni ,0

,1)(

ji,0

CECS461 Computer Graphics II University of Missouri at Columbia

Page 19: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Cubic Hermite CurveCubic Hermite Curve

CECS461 Computer Graphics II University of Missouri at Columbia

Page 20: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Cubic PolynomialsCubic Polynomials

CECS461 Computer Graphics II University of Missouri at Columbia

Page 21: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Cubic Hermite CurveCubic Hermite Curve• Constraints: two end-points and two tangents at• Constraints: two end-points and two tangents atConstraints: two end points and two tangents at

end-points.Constraints: two end points and two tangents at end-points.

CECS461 Computer Graphics II University of Missouri at Columbia

Page 22: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Cubic Hermite CurveCubic Hermite Curve• Solve the linear equation:• Solve the linear equation:Solve the linear equation:Solve the linear equation:

CECS461 Computer Graphics II University of Missouri at Columbia

Page 23: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Cubic Hermite CurveCubic Hermite Curve

CECS461 Computer Graphics II University of Missouri at Columbia

Page 24: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Cubic Hermite CurveCubic Hermite Curve

CECS461 Computer Graphics II University of Missouri at Columbia

Page 25: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Why Cubic CurvesWhy Cubic Curves• The lowest-degree polynomials to be able to interpolate two• The lowest-degree polynomials to be able to interpolate two

specified endpoints with specified derivatives at each endpoint.

Th l d h l i 3D

specified endpoints with specified derivatives at each endpoint.

Th l d h l i 3D• The lowest-degree curves that are nonplanar in 3D.• The lowest-degree curves that are nonplanar in 3D.

• Lower degree has too little flexibility.• Lower degree has too little flexibility.

• Higher-degree is unnecessarily complex, exhibit undesiredwiggles.

• Higher-degree is unnecessarily complex, exhibit undesiredwiggles.

CECS461 Computer Graphics II University of Missouri at Columbia

Page 26: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Geometric RepresentationsGeometric Representations• Continuous representation• Continuous representationContinuous representation

– Explicit representation– Implicit representation

Continuous representation– Explicit representation– Implicit representation– Implicit representation

• Discrete representationT i l h

– Implicit representation• Discrete representation

T i l h– Triangle meshes– Points/Particles– Triangle meshes– Points/Particles

CECS461 Computer Graphics II University of Missouri at Columbia

Page 27: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Deformable SurfaceDeformable Surface

Continuous Models Discrete Models

Implicit Representation Particle SystemsDiscrete MeshesExplicit

Representation

Subdivision Surface

Algebraic Surface

Level-Set

NURBS

Superquadric

CECS461 Computer Graphics II University of Missouri at Columbia

B-Splines

Page 28: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

SurfacesSurfaces• Triangle meshes.• Triangle meshes.g• Tensor-product surfaces.

– Hermite surface, Bezier surface, B-spline surfaces,

g• Tensor-product surfaces.

– Hermite surface, Bezier surface, B-spline surfaces,Hermite surface, Bezier surface, B spline surfaces, NURBS.

• Non-tensor product surfaces.

Hermite surface, Bezier surface, B spline surfaces, NURBS.

• Non-tensor product surfaces.p– Sweeping surface, ruling surface, etc.

• Subdivision surfaces.

p– Sweeping surface, ruling surface, etc.

• Subdivision surfaces.• Implicit surfaces.• Particle systems• Implicit surfaces.• Particle systemsCECS461 Computer Graphics II University of Missouri at Columbia

Particle systems.Particle systems.

Page 29: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Triangle MeshesTriangle Meshes

CECS461 Computer Graphics II University of Missouri at Columbia

Page 30: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Quadratic SurfacesQuadratic Surfaces• Implicit representation• Implicit representationImplicit representation

=0S h

Implicit representation=0

S h• Sphere• Sphere

• Ellipsoid• Ellipsoid

CECS461 Computer Graphics II University of Missouri at Columbia

Page 31: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Tensor Product SurfaceTensor Product Surface• From curves to surfaces• From curves to surfaces• A simple curve example (Bezier)• A simple curve example (Bezier)

where u [0,1]where u [0,1]where u [0,1]

• Consider pi is a curve pi(v)• In particular, if pi is also a bezier curve, where

where u [0,1]

• Consider pi is a curve pi(v)• In particular, if pi is also a bezier curve, whereIn particular, if pi is also a bezier curve, where

v [0,1]In particular, if pi is also a bezier curve, where v [0,1]

CECS461 Computer Graphics II University of Missouri at Columbia

Page 32: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

From curve to surfaceFrom curve to surface• Then we have• Then we haveThen we haveThen we have

CECS461 Computer Graphics II University of Missouri at Columbia

Page 33: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Bezier SurfaceBezier Surface

CECS461 Computer Graphics II University of Missouri at Columbia

Page 34: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

B Splines SurfaceB-Splines Surface• B-Spline curves• B-Spline curves

T d t B liT d t B li

n

i kii uBpuc0 , )()(

• Tensor product B-splines• Tensor product B-splines

where u [0,1], and v [0,1]

f hi

where u [0,1], and v [0,1]

f hi• Can we get NURBS surface this way?• Can we get NURBS surface this way?

CECS461 Computer Graphics II University of Missouri at Columbia

Page 35: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

B Splines SurfaceB-Splines Surface

CECS461 Computer Graphics II University of Missouri at Columbia

Page 36: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Tensor Product PropertiesTensor Product Properties• Inherit from their curve generators.• Inherit from their curve generators.Inherit from their curve generators.• Continuity across boundaries

I t l ti d i ti t l

Inherit from their curve generators.• Continuity across boundaries

I t l ti d i ti t l• Interpolation and approximation tools.• Interpolation and approximation tools.

CECS461 Computer Graphics II University of Missouri at Columbia

Page 37: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

NURBS SurfaceNURBS Surface

CECS461 Computer Graphics II University of Missouri at Columbia

Page 38: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Surface of RevolutionSurface of Revolution

CECS461 Computer Graphics II University of Missouri at Columbia

Page 39: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Surface of RevolutionSurface of Revolution• Geometric construction• Geometric constructionGeometric construction

– Specify a planar curve profile on y-z plane– Rotate this profile with respect to z-axis

Geometric construction– Specify a planar curve profile on y-z plane– Rotate this profile with respect to z-axis– Rotate this profile with respect to z-axis

• Procedure-based model– Rotate this profile with respect to z-axis

• Procedure-based model

CECS461 Computer Graphics II University of Missouri at Columbia

Page 40: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Sweeping SurfaceSweeping Surface

CECS461 Computer Graphics II University of Missouri at Columbia

Page 41: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Sweeping SurfaceSweeping Surface• Surface of revolution is a special case of a• Surface of revolution is a special case of aSurface of revolution is a special case of a

sweeping surface.• Idea: a profile curve and a trajectory curve

Surface of revolution is a special case of a sweeping surface.

• Idea: a profile curve and a trajectory curve• Idea: a profile curve and a trajectory curve.• Move a profile curve along a trajectory curve to

t i f

• Idea: a profile curve and a trajectory curve.• Move a profile curve along a trajectory curve to

t i fgenerate a sweeping surface.generate a sweeping surface.

CECS461 Computer Graphics II University of Missouri at Columbia

Page 42: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Subdivision SchemeSubdivision SchemeOverview:Overview:Overview:

St t f i iti l t l l

Overview:

St t f i iti l t l l• Start from an initial control polygon.• Recursively refine it by some rules.• A smooth surface in the limit

• Start from an initial control polygon.• Recursively refine it by some rules.• A smooth surface in the limit• A smooth surface in the limit.• A smooth surface in the limit.

pxJpxs )(),(

CECS461 Computer Graphics II University of Missouri at Columbia

Page 43: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Chaikin’s corner cutting scheme g

CECS461 Computer Graphics II University of Missouri at Columbia

Page 44: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Chaikin’s corner cutting scheme g

CECS461 Computer Graphics II University of Missouri at Columbia

Page 45: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Chaikin’s corner cutting scheme g

CECS461 Computer Graphics II University of Missouri at Columbia

Page 46: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Chaikin’s corner cutting scheme g

CECS461 Computer Graphics II University of Missouri at Columbia

Page 47: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Catmull Clark SchemeCatmull-Clark Scheme

CECS461 Computer Graphics II University of Missouri at Columbia

Page 48: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Catmull-Clark Scheme

Initial mesh Step 1

CECS461 Computer Graphics II University of Missouri at Columbia

Step 2 Limit surface

Page 49: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Catmull-Clark SchemeCatmull Clark Scheme

CECS461 Computer Graphics II University of Missouri at Columbia

Page 50: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Midedge schemeMidedge scheme

CECS461 Computer Graphics II University of Missouri at Columbia

Page 51: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

Midedge schemeMidedge scheme

(a) (b)

(d)(c)

CECS461 Computer Graphics II University of Missouri at Columbia

(d)(c)

Page 52: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

PointsPoints• Very popular primitives for modeling,• Very popular primitives for modeling,Very popular primitives for modeling,

animation, and rendering.Very popular primitives for modeling, animation, and rendering.

CECS461 Computer Graphics II University of Missouri at Columbia

Page 53: Geometric ModelingGeometric Modelingfaculty.missouri.edu/.../lecture-notes/modeling... · • Geometric constructionGeometric construction – Specify a planar curve profile on y-z

PointsPoints

CECS461 Computer Graphics II University of Missouri at Columbia