Surfaces Comp 575 Fall 2008 - PowerPoint PPT Presentation

Loading...

PPT – Surfaces Comp 575 Fall 2008 PowerPoint presentation | free to view - id: 14a554-NzFmM



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Surfaces Comp 575 Fall 2008

Description:

Trimming Curves. Sometimes we want 'holes' in the surface. Can define them using trimming curves. Define a NURBS curve on the NURBS surface ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 38
Provided by: pm5
Category:
Tags: comp | fall | surfaces | trimming

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Surfaces Comp 575 Fall 2008


1
Surfaces Comp 575 - Fall 2008
2
Parametric Bicubic Surfaces
  • An extension to curves by adding another dimension

t 1.0
t 0.8
t 0.6
t 0.4
t 0.2
t 0.0
s 0.6
s 0.8
s 0.0
s 0.2
s 0.4
s 1.0
3
Curve Equation
  • Remember, the equation of the curve is
  • Or, equivalently
  • Where G is the geometry vector, and is a constant

4
The Surface Equations
  • If we allow G to be a function, we get
  • i.e., the geometry can now change, based on t

5
The Surface Equations
  • For a fixed t1, Q(s, t1) is a curve, since G(t1)
    is a constant.
  • Taking a new t2 that is near in value to t1 will
    give another curve which is slightly different
    from the first.
  • Repeating the process for some number of
    parameters t, with 0 t lt 1 will give a group of
    curves that define a surface.

6
The Surface Equations
  • Each of the Gi(t) functions are cubics, and can
    be represented as
  • where

7
Surface Equations
  • Taking the transpose of this gives us
  • If we substitute this back into our original
    equation, and expand to include all four geometry
    terms, we get

8
Surface Equations
  • So,
  • With being the geometry matrix and M being
    the basis matrix.

9
Bezier Surfaces
  • The ends of each patch require 4 control points
    in the s direction.
  • The t direction gives rise to 4 control points
    also
  • Thus, there are 4x4 or 16 control points required
    for each patch.

10
Bezier Surface Example
11
Joining Bezier Surfaces
  • Multiple Bezier surfaces can be joined with C0
    continuity by
  • Making the four control points at the join common
    between the two patches

12
Joining Bezier Surfaces
  • To join with C1 continuity we must also enforce
    the following stipulations
  • The control points on either side of the join
    must be collinear
  • All of the pairs of line segments joining the
    three collinear control points must have lengths
    that have the same ratios

13
Joining Bezier Surfaces
  • For this example the following ratios must be
    equal

14
Displaying Surfaces
  • Surfaces are displayed in a manner similar to
    curves.
  • Iteratively evaluate the surface equation at s
    and t intervals, then draw polygons for those
    patches
  • Subdivide the surface until the patch size is
    small enough

15
NURBS Surfaces
  • NURBS
  • Non Uniform
  • - knots can have any spacing desired
  • Rational
  • the blending functions are the ratios of two
    polynomials
  • B-Spline
  • the surface type is B-spline
  • Very flexible and powerful
  • Also somewhat complex
  • Can represent conics exactly
  • Used extensively, particularly in CAD

16
NURBS Examples
http//www.geomagic.com
17
http//gallery.mcneel.com/
18
http//gallery.mcneel.com/
19
http//gallery.mcneel.com/
20
NURBS in OpenGL
  • gluNurbsSurface(GLUnurbs nurb,
  • Glint sKnotCount,
  • GLfloat sKnots,
  • Glint tKnotCount,
  • GLfloat tKnots,
  • Glint sStride,
  • Glint tStride,
  • GLfloat control,
  • Glint sOrder,
  • Glint tOrder,
  • GLenum type)

21
NURBS in OpenGL
gluNurbsSurface(GLUnurbs nurb, Glint
sKnotCount, GLfloat sKnots, Glint
tKnotCount, GLfloat tKnots,
Glint sStride, Glint
tStride, GLfloat control,
Glint sOrder, Glint
tOrder, GLenum type)
  • nurb specifies the NURBS object created with
    gluNewNurbsRenderer
  • sKnotCount number of knots in the s direction
  • sKnots the array of s knots
  • tKnotCount number of knots in the t direction
  • tKnots the array of t knots
  • sStride offset between control points in the s
    direction
  • tStride offset between control points in the t
    direction
  • control array of control points
  • sOrder order of the NURBS in s
  • tOrder order of the NURBS in t
  • type type of surface

22
Trimming Curves
  • Sometimes we want holes in the surface
  • Can define them using trimming curves
  • Define a NURBS curve on the NURBS surface
  • Draw the surface everywhere except inside the
    curve

23
(No Transcript)
24
(No Transcript)
25
Subdivision Surfaces
  • One problem with the surfaces we have discussed
    is the difficulty in changing resolution for a
    portion of the surface
  • If we want more detail at one part of the patch,
    we have to introduce a whole new patch
  • Subdivision surfaces allow local refinement of
    the control mesh
  • This gives more flexibility in the objects to be
    modeled

26
Subdivision Surfaces
  • Idea recursively subdivide the patch to finer
    and finer resolution

27
Standard Subdivision
  • Given initial control points, recursively
    subdivide until desired smoothness is reached

28
Adaptive Subdivision
  • Generally some areas of the surface have higher
    curvature, and thus should be subdivided further
    than other areas
  • Can apply an adaptive subdivision scheme to
    subdivide more where we want finer control of the
    surface

29
Adaptive Subdivision Surface Example
After one refinement
Original Mesh
After two refinements
The limit infinite refinement
from http//grail.cs.washington.edu/projects/subdi
vision/
30
Subdivision Surfaces
Geris Game (1997) Pixar Animation Studios
31
Subdivision Surface Example
http//mrl.nyu.edu/dzorin/sig98course/multires/sl
d005.htm
32
Allowing for Sharp Edges and Creases
  • Often we want to permit sharp edges
  • How can we smooth some of the surface, but not
    all?
  • Tag edges as sharp or non-sharp
  • If an edge is sharp, apply sharp subdivision
    rules
  • Otherwise apply normal subdivision rules

33
T-splines
  • Introduced by Dr. Sederberg in 2003
  • Allow T-junctions in the surfaces

34
T-Splines
35
T-spline Hole Filling
36
T-spline example
37
Summary
  • Surfaces allow for a higher level of realism
  • Used in all CAD packages
  • NURBS surfaces are the most popular type
  • Subdivision surfaces allow for increased surface
    detail, and for local adaptation
  • T-splines allow for even more flexibility
About PowerShow.com