1 / 31

Curves and Surfaces 2.0

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.

yovela
Download Presentation

Curves and Surfaces 2.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009

  2. 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. 3 Ways to Render • Generate a mesh of points on the surface • Use the mesh to render Vertexes and Polygons • Recursive subdivision down to sub-pixel polygons (RenderMan Style) • Render Pixels Directly from the curve function

  4. 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

  5. The left image shows the Control MeshThe right image shows the rendered polygon mesh • http://web.cs.wpi.edu/~matt/courses/cs563/talks/surface/bez_surf.html

  6. Interactive Bezier Patch • http://www.math.psu.edu/dlittle/java/parametricequations/beziersurfaces/index.html

  7. That's enough Surfaces for now! Back to the Curves! Joy!

  8. Rational Bezier Curves http://en.wikipedia.org/wiki/File:Rational_Bezier_curve-conic_sections.svg We are talking about control points with weights These guys can exactly represent conic shapes Downside is complexity

  9. 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..............

  10. NURBSNon-uniform Rational Bezier Spline • Yes Rational = weighted control points • Non Rational would be an URBS (no one uses URBS!!!)

  11. 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

  12. Knots & Knot Vectors • Where one control point looses its effect, and another new control point starts affecting the curve.

  13. http://www.shodor.org/interactivate/activities/GraphSketcher/?version=skip1&browser=unknownhttp://www.shodor.org/interactivate/activities/GraphSketcher/?version=skip1&browser=unknown NURB Basis Matrix 1/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

  14. NURBS don’t start at P0!!!! NURBS BEZIER

  15. 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

  16. 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!!!

  17. 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!

  18. B-Spline Surfaces • Bezier Surface Patches have the same pros/cons as Bezier curves • Simple to implement • Hard to join at C2 continuity

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

  20. Generating Edge Points Again the Extra Knots principle is used to generate start and End Points Note: If you are blending to another Spline you don’t need the End Points. - The overlap in the Control points will connect the curves! • http://www.doc.ic.ac.uk/~dfg/AndysSplineTutorial/BSplineSurface.html

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

  22. The Stupid Teapot • This Teapot consists of 32bi-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.

  23. Stupid Teapot facts! • The Teapot appears in: • Toy Story (The teapot scene) • Monsters Inc • The Simpsons 3D Episode

  24. 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

  25. Build your own teapot! • http://www.holmes3d.net/graphics/teapot/teapot.off • Pimping your teapot does NOT make it cool!

  26. Offline Rendering 200 Light Sources Radiosity done with 4.8 million photons. From “Ratatouille” • http://www.seanet.com/~myandper/gallery.htm

  27. http://www.seanet.com/~myandper/gallery.htm Monsters Inc Scene • 500 Million Triangles

  28. GameasutraSlashdot for Game Dev • http://www.gamasutra.com/

  29. References • http://en.wikipedia.org/wiki/NURBS#Technical_specifications • http://en.wikipedia.org/wiki/B-spline

  30. The EndAC/DC Tix Monday 25th May 9am • Coming in Feb 2010

More Related