CS 430/585 Computer Graphics I 3D Surfaces Week 9, Lecture 18

1 / 39
About This Presentation
Title:

CS 430/585 Computer Graphics I 3D Surfaces Week 9, Lecture 18

Description:

CS 430/585 Computer Graphics I 3D Surfaces Week 9, Lecture 18 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory –

Number of Views:141
Avg rating:3.0/5.0
Slides: 40
Provided by: William831
Category:

less

Transcript and Presenter's Notes

Title: CS 430/585 Computer Graphics I 3D Surfaces Week 9, Lecture 18


1
CS 430/585Computer Graphics I3D Surfaces Week
9, Lecture 18
  • David Breen, William Regli and Maxim Peysakhov
  • Geometric and Intelligent Computing Laboratory
  • Department of Computer Science
  • Drexel University
  • http//gicl.cs.drexel.edu

2
Overview
  • Quadratic and super-quadratic surfaces
  • Bicubic surfaces
  • Bezier surfaces
  • Normals to surfaces
  • Surface rendering
  • Blobby objects

1994 Foley/VanDam/Finer/Huges/Phillips ICG
3
Quadratic Surfaces
  • Sphere
  • Ellipsoid
  • Torus
  • General form

4
Superellipsoid Surfaces
  • Obtain from ordinary ellipsoids
  • Control parameters s1 and s2
  • If s1 s2 1 then regular ellipsoids
  • Has an implicit and parametric form

5
CSG with Superquadrics
6
CSG with Superellipsoids
7
Subdivision Surfaces
  • Coarse Mesh Subdivision Rule
  • Define smooth surface as limit of sequence of
    refinements

8
Biparametric Surfaces
  • Biparametric surfaces
  • A generalization of parametric curves
  • 2 parameters s, t (or u, v)
  • Two parametric functions

9
Bicubic Surfaces
  • Recall the 2D curve
  • G Geometry Matrix
  • M Basis Matrix
  • S Polynomial Terms s3 s2 s 1
  • For 3D, we allow the points in G to vary in 3D
    along t as well

10
Observations About Bicubic Surfaces
  • For a fixed t1, is a curve
  • Gradually incrementing t1 to t2, we get a new
    curve
  • The combination of these curves is a surface
  • are 3D curves

11
Bicubic Surfaces
  • Each is , where
  • Transposing , we get

12
Bicubic Surfaces
  • Substituting into ,
    we get Q(s, t)
  • The g11, etc. are the control points for the
    Bicubic surface patch

13
Bicubic Surfaces
  • Writing outgives

14
Plotting Isolines
15
Plotting Isolines
16
Bézier Surfaces
  • Bézier Surfaces(similar definition)

17
Bézier Surfaces
  • C0 and G0 continuity can be achieved between two
    patches by setting the 4 boundary control points
    to be equal
  • G1 continuity achieved when cross-wise CPs are
    co-linear

18
Bézier Surfaces Example
  • Utah Teapot modeled by 32 Bézier Patches with G1
    continuity

19
Faceting
20
Faceting
21
B-spline Surfaces
  • Representation for B-spline patches
  • C2 continuity across boundaries is automatic with
    B-splines

22
Normals to Surfaces
  • Normals used for
  • Shading
  • Interference detection in robotics
  • Calculating offsets for numerically controlled
    machining

23
Computing the Normals to Surfaces
  • For a bicubic surface, first, compute the s
    tangent vector

t
24
Computing the Normals to Surfaces
  • Next, compute the t tangent vector

t
25
Computing the Normals to Surfaces
  • Since s and t are tangent to the surface, their
    cross product is the normal vector to the
    surface!
  • xs - x component of s tangent
  • ys - y component of s tangent
  • zs - z component of s tangent

26
NURBS Surfaces
  • Similar to B-spline patches

27
Drawing Parametric Surfaces
  • Usually done patch by patch
  • Two choices
  • Draw/render directly from the parametric
    description
  • Approximate the surface with a polygon mesh, then
    draw/render the mesh

28
Direct Rendering
  • Use a scan-line algorithm
  • Evaluate pixel by pixel
  • Problem How to go from (x,y) screen space to
    point on the 3D patch
  • Easy for a planar polygon where we know max/min
    y, equations for edges, screen depth
  • Not as easy for parametric surfaces

29
Issues for Direct Rendering
  • Max/Min y coords may not lie on boundaries
  • Silhouette edges result from patch bulges
  • Need to track both silhouettes and boundaries
  • What if they intersect?
  • Note patch edges need not be monotonic in x or y
  • Idea Scan convert patch plane-by-plane, using
    scan planes instead of scan lines

30
Direct Scan Conversion of Patches
  • Basic idea
  • Find intersection of patch with XZ plane
  • Producing a planar curve
  • Draw the curve
  • De Boor, DCasteljeau
  • Note if doing rendering, one can compute
    pixel-by-pixel color values this way

Patch xX(u,v), yY(u,v), zZ(u,v)
31
Direct Scan Conversion of Patches Algorithm
Outline
  • Patch xX(u,v), yY(u,v), zZ(u,v)
  • u,v range from 0 to 1 this defines 4 bounds
  • Intersection of scan line Ys with boundary

32
Patch to Polygon Conversion
  • Two methods
  • Object Space Conversion
  • Techniques
  • Uniform subdivision
  • Non-uniform subdivision
  • Resolution depends on object space
  • Image Space Conversion
  • Resolution depends on pixels and screen

33
Object Space Conversion Uniform Subdivision
  • Basic Procedure
  • Cut parameter space into equal parts
  • Find new points on the surface
  • Recurse/Repeat until done
  • Split squares into triangles
  • Render

34
Object Space Conversion Non-Uniform Subdivision
  • Basic idea
  • Facet more in areas of high curvature
  • Use change in normals to surface to assess
    curvature
  • More derivatives
  • Break patch into sub-patches based on curvature
    changes

35
Image Space Conversion
  • Idea control subdivision based on screen
    criteria
  • Minimum pixel area
  • Stop when patch is basically one pixel
  • Screen flatness
  • Stop when patch converges to a polygon
  • Screen flatness of silhouette edges
  • Stop when edge is straight or size of pixel

36
How do I know if Ive found a silhouette edge?
  • If the ray that Im casting is tangent to the
    surface at the point it hits the surface!
  • N L 0
  • Where N is the normal at the point where L, the
    line of sight, hits the surface

37
Blobby Objects
  • Do not maintain shape, topology
  • Water drops
  • Molecules
  • Force fields
  • But can maintain other properties, like volume

38
Gaussian Bumps
  • Model object as a sum of Gaussian bumps/blobs
  • Where and T is a
    threshold.

39
Metaballs (Blinn Blobbies)
40
Ray-traced Metaballs
Write a Comment
User Comments (0)
About PowerShow.com