Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.
-
Upload
janel-lawson -
Category
Documents
-
view
215 -
download
0
Transcript of Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.
![Page 1: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/1.jpg)
Curves and Surfaces 2.0
CSE3AGR - Paul Taylor 2009
![Page 2: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/2.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/3.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/4.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/5.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/6.jpg)
Interactive Bezier Patch
• http://www.math.psu.edu/dlittle/java/parametricequations/beziersurfaces/index.html
![Page 7: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/7.jpg)
That's enough Surfaces for now!
Back to the Curves! Joy!
![Page 8: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/8.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/9.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/10.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/11.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/12.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/13.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/14.jpg)
![Page 15: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/15.jpg)
NURBS don’t start at P0!!!!
NURBS BEZIER
![Page 16: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/16.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/17.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/18.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/19.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/20.jpg)
NURBS Surfaces
• Again we are basically extruding the Curve functionality over a 3D surface.
![Page 21: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/21.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/22.jpg)
• http://www.sharecg.com/images/medium/8599.png
![Page 23: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/23.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/24.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/25.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/26.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/27.jpg)
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 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/28.jpg)
Monsters Inc Scene
• 500 Million Triangles
• http://www.seanet.com/~myandper/gallery.htm
![Page 30: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/30.jpg)
References
• http://en.wikipedia.org/wiki/NURBS#Technical_specifications
• http://en.wikipedia.org/wiki/B-spline
![Page 31: Curves and Surfaces 2.0 CSE3AGR - Paul Taylor 2009.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649f355503460f94c53838/html5/thumbnails/31.jpg)
The EndAC/DC Tix Monday 25th May 9am
• Coming in Feb 2010