# CS 430/585 Computer Graphics I 3D Surfaces Week 9, Lecture 18 - PowerPoint PPT Presentation

PPT – CS 430/585 Computer Graphics I 3D Surfaces Week 9, Lecture 18 PowerPoint presentation | free to download - id: 431716-ZmYxM

The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
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 – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 40
Provided by: William831
Category:
Tags:
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
• Bicubic surfaces
• Bezier surfaces
• Normals to surfaces
• Surface rendering
• Blobby objects

1994 Foley/VanDam/Finer/Huges/Phillips ICG
3
• 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
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
• 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
• 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