31
Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009

Curves and Surfaces 2.0

  • Upload
    yovela

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

Curves and Surfaces 2.0. CSE3AGR - Paul Taylor 2009. Basic Surfaces. A surface patch is very similar to the Bezier curves we finished with last week Creating another abstraction!!! S( x,y ) = Fb1, Fb2 So each Point in 3D space exists on 2 curves b1 and b2. 3 Ways to Render. - PowerPoint PPT Presentation

Citation preview

Page 1: Curves and Surfaces 2.0

Curves and Surfaces 2.0

CSE3AGR - Paul Taylor 2009

Page 2: Curves and Surfaces 2.0

Basic Surfaces

• A surface patch is very similar to the Bezier curves we finished with last week

• Creating another abstraction!!!– S(x,y) = Fb1, Fb2– So each Point in 3D space exists on 2 curves b1

and b2

Page 3: Curves and Surfaces 2.0

3 Ways to Render

1) Generate a mesh of points on the surface- Use the mesh to render Vertexes and Polygons

2) Recursive subdivision down to sub-pixel polygons (RenderMan Style)

3) Render Pixels Directly from the curve function

Page 4: Curves and Surfaces 2.0

How to Generate Surface Points

• We can recursively subdivide our Bezier Curve• We can use a Control Mesh to define the

curves which create our Surface

Page 5: Curves and Surfaces 2.0

The left image shows the Control Mesh

The right image shows the rendered polygon mesh

• http://web.cs.wpi.edu/~matt/courses/cs563/talks/surface/bez_surf.html

Page 6: Curves and Surfaces 2.0

Interactive Bezier Patch

• http://www.math.psu.edu/dlittle/java/parametricequations/beziersurfaces/index.html

Page 7: Curves and Surfaces 2.0

That's enough Surfaces for now!

Back to the Curves! Joy!

Page 8: Curves and Surfaces 2.0

Rational Bezier Curves

http://en.wikipedia.org/wiki/File:Rational_Bezier_curve-conic_sections.svgWe are talking about control points with weightsThese guys can exactly represent conic shapesDownside is complexity

Page 9: Curves and Surfaces 2.0

Cubic Bezier-Splines

• Dot – to – dot– We did C0 and C1 Continuity with our Bezier Curves– But C2 Continuity alluded us!– Attaining C2 will require us to learn a 3rd Type of

Curve..............

Page 10: Curves and Surfaces 2.0

NURBSNon-uniform Rational Bezier Spline

• Yes Rational = weighted control points– Non Rational would be an URBS (no one uses

URBS!!!)

Page 11: Curves and Surfaces 2.0

Good things about NURBS

• Invariant with Translations and rotations on control points

• Being rational they can represent conics• Flexible• Relatively quick (in mathematical terms) to

calculate

Page 12: Curves and Surfaces 2.0

Knots & Knot Vectors

• Where one control point looses its effect, and another new control point starts affecting the curve.

Page 13: Curves and Surfaces 2.0

http://www.shodor.org/interactivate/activities/GraphSketcher/?version=skip1&browser=unknown

NURB Basis Matrix1/6(-x^3 +3x^2 -3x +1)1/6(3x^3 -6x^2 +4)1/6(-3x^3 +3x^2 +3x +1)1/6(x^3)

http://upload.wikimedia.org/math/c/a/0/ca03153859eff1142aa9a1c1b580b716.png

Page 14: Curves and Surfaces 2.0
Page 15: Curves and Surfaces 2.0

NURBS don’t start at P0!!!!

NURBS BEZIER

Page 16: Curves and Surfaces 2.0

Knots or Control Points?

• When modifying your NURBS there are two important ways

• Knots– Good for moving specific parts of your curve

• Control points– Good for changing the shape of the curve a bit

http://en.wikipedia.org/wiki/File:Spline01.gif

Page 17: Curves and Surfaces 2.0

Knot Insertion

• It is possible to insert a new knot (generating another control point without disturbing the curve!!!

• Knot insertion can be used to allow discontinuity in the curve too!!!

Page 18: Curves and Surfaces 2.0

Start and End Values

• Generating start and end points• 0,0,0,1,2,3,4,4,4• Now we have a curve in the form of a Bezier• You must limit the number of repeat knots to

the same as the Degree of the curve!

Page 19: Curves and Surfaces 2.0

B-Spline Surfaces

• Bezier Surface Patches have the same pros/cons as Bezier curves– Simple to implement– Hard to join at C2 continuity

Page 20: Curves and Surfaces 2.0

NURBS Surfaces

• Again we are basically extruding the Curve functionality over a 3D surface.

Page 21: Curves and Surfaces 2.0

Generating Edge Points

• http://www.doc.ic.ac.uk/~dfg/AndysSplineTutorial/BSplineSurface.html

Again the Extra Knots principle is used to generate start and End PointsNote: If you are blending to another Spline you don’t need the End Points.

- The overlap in the Control points will connect the curves!

Page 22: Curves and Surfaces 2.0

• http://www.sharecg.com/images/medium/8599.png

Page 23: Curves and Surfaces 2.0

The Stupid Teapot

• This Teapot consists of 32 bi-cubic Bezier Patches, specified by 306 vertices.

• 12 Patches define the Body of the pot, 4 for the spout, 8 for the lid, and the last 4 define the bottom.

Page 24: Curves and Surfaces 2.0

Stupid Teapot facts!

• The Teapot appears in:– Toy Story (The teapot scene)– Monsters Inc– The Simpsons 3D Episode

Page 25: Curves and Surfaces 2.0

Given it’s global use the teapot has even been called the 6th Platonic Solid

• http://design.osu.edu/carlson/history/images/small/CACMcover.512.jpg

Page 26: Curves and Surfaces 2.0

Build your own teapot!

• http://www.holmes3d.net/graphics/teapot/teapot.off

• Pimping your teapot does NOT make it cool!

Page 27: Curves and Surfaces 2.0

Offline Rendering

• http://www.seanet.com/~myandper/gallery.htm

200 Light SourcesRadiosity done with 4.8 million photons.From “Ratatouille”

Page 28: Curves and Surfaces 2.0

Monsters Inc Scene

• 500 Million Triangles

• http://www.seanet.com/~myandper/gallery.htm

Page 29: Curves and Surfaces 2.0

GameasutraSlashdot for Game Dev

• http://www.gamasutra.com/

Page 30: Curves and Surfaces 2.0

References

• http://en.wikipedia.org/wiki/NURBS#Technical_specifications

• http://en.wikipedia.org/wiki/B-spline

Page 31: Curves and Surfaces 2.0

The EndAC/DC Tix Monday 25th May 9am

• Coming in Feb 2010