CS G140 Graduate Computer Graphics - PowerPoint PPT Presentation

About This Presentation
Title:

CS G140 Graduate Computer Graphics

Description:

College of Computer and Information Science, Northeastern ... is a special case of the Cardinal spline. P(0) = p3. P(1) = p4. P'(0) = (1 - t)(p4 - p2 ) ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 60
Provided by: FELL3
Category:

less

Transcript and Presenter's Notes

Title: CS G140 Graduate Computer Graphics


1
CS G140Graduate Computer Graphics
  • Prof. Harriet Fell
  • Spring 2009
  • Lecture 6 February 11, 2009

2
Todays Topics
  • Bezier Curves and Splines
  • ---------------------------
  • Parametric Bicubic Surfaces
  • Quadrics

3
Curves
  • A curve is the continuous image of an interval in
    n-space.

Implicit f(x, y) 0
Parametric (x(t), y(t)) P(t)
Generative proc ? (x, y)
4
Curve Fitting
We want a curve that passes through control
points.
How do we create a good curve?
What makes a good curve?
5
Axis Independence
If we rotate the set of control points, we should
get the rotated curve.
6
Local Control
7
Variation Diminishing
Never crosses a straight line more than the
polygon crosses it.
8
Continuity
Not C2 continuity
G2 continuity
9
How do we Fit Curves?
The Lagrange interpolating polynomial is the
polynomial of degree n-1 that passes through the
n points, (x1, y1), (x2, y2), , (xn, yn), and
is given by
Lagrange Interpolating Polynomial from mathworld
10
Example 1
11
Polynomial Fit
P(x) -.5x(x-2)(x-3)(x-4)
12
Piecewise Fit
Pa(x) 4.1249 x (x - 1.7273) 0 ? x ?
1.5 Pb(x) 5.4 x (x - 1.7273) 1.5 ? x ?
2 Pc(x) 0 2 ? x ? 4
13
Spline Curves
14
Splines and Spline Ducks
Marine Drafting Weights http//www.frets.com/FRET
SPages/Luthier/TipsTricks/DraftingWeights/draftwei
ghts.html
15
Drawing Spline Today (esc)
16
Hermite Cubics
P(t) at3 bt2 ct d P(0) p P(1) q P'(0)
Dp P'(1) Dq
17
Hermite Coefficients
P(t) at3 bt2 ct d P(0) p P(1) q P'(0)
Dp P'(1) Dq
For each coordinate, we have 4 linear equations
in 4 unknowns
18
Boundary Constraint Matrix
19
Hermite Matrix
MH
GH
20
Hermite Blending Functions
21
Splines of Hermite Cubics
a C1 spline of Hermite curves
a G1 but not C1 spline of Hermite curves
The vectors shown are 1/3 the length of the
tangent vectors.
22
Computing the Tangent VectorsCatmull-Rom Spline
p3
p5
p2
p4
p1
23
Cardinal Spline
The Catmull-Rom spline P(0) p3 P(1) p4 P'(0)
½(p4 - p2 ) P'(1) ½(p5 - p3 )
is a special case of the Cardinal spline P(0)
p3 P(1) p4 P'(0) (1 - t)(p4 - p2 ) P'(1) (1
- t)(p5 - p3 ) 0 t 1 is the tension.
24
Drawing Hermite Cubics
  • How many points should we draw?
  • Will the points be evenly distributed if we use a
    constant increment on t ?
  • We actually draw Bezier cubics.

25
General Bezier Curves
26
Low Order Bezier Curves
n 2 b0,2 (t) (1 - t)2 b1,2 (t) 2t (1 - t)
b2,2 (t) t2 B(t) (1 - t) 2 p0 2t (1 -
t)p1 t2 p2 0 t 1
p0
p2
p1
27
Bezier Curves
n 3 b0,3 (t) (1 - t)3 b1,3 (t) 3t (1 -
t)2 b2,3 (t) 3t2(1 - t) b2,3 (t) t3
B(t) (1 - t) 3 p 3t (1 - t)2q 3t2(1 - t)r
t3s 0 t 1
28
Bezier Matrix
B(t) (1 - t) 3 p 3t (1 - t)2q 3t2(1 - t)r
t3s 0 t 1 B(t) a t 3 bt2 ct d 0 t
1
MB
GB
29
Geometry Vector
30
Properties of Bezier Curves
31
Geometry of Bezier Arches
r
q
B(t)
s
p
Pick a t between 0 and 1 and go t of the way
along each edge.
Join the endpoints and do it again.
32
Geometry of Bezier Arches
r
qr
qrs
q
rs
pqr
pqrs B(1/2)
pq
s
p
We only use t 1/2.
33
drawArch(P, Q, R, S) if (ArchSize(P, Q, R, S)
lt .5 ) Dot(P) else PQ (P Q)/2 QR
(Q R)/2 RS (R S)/2 PQR (PQ
QR)/2 QRS (QR RS)/2 PQRS (PQR
QRS)/2 drawArch(P, PQ, PQR, PQRS) drawArch(P
QRS, QRS, RS, S)
34
Putting it All Together
  • Bezier Arches and Catmull-Rom Splines

35
Time for a Break
36
Surface Patch
A patch is the continuous image of a square in
n-space.
P(u,v) 0 ? u, v ? 1
37
Bezier Patch Geometry
38
Bezier Patch
39
Bezier Patch Computation
40
Bezier Patch
41
Bezier Patch
P03
P02
P13
P12
P01
P23
P11
P22
P21
P00
P10
P32
P33
P31
P20
Quv(0,0) 9(P00 P01 P10 P11)
P30
42
Properties of Bezier Surfaces
  • A Bézier patch transforms in the same way as its
    control points under all affine transformations
  • All u constant and v constant lines in the
    patch are Bézier curves.
  • A Bézier patch lies completely within the convex
    hull of its control points.
  • The corner points in the patch are the four
    corner control points.
  • A Bézier surface does not in general pass through
    its other control points.

43
Rendering Bezier Patcheswith a mesh
1. Consider each row of control points as
defining 4 separate Bezier curves Q0(u)
Q3(u)
2. For some value of u, say 0.1, for each Bezier
curve, calculate Q0(u) Q3(u).
3. Use these derived points as the control points
for new Bezier curves running in the v direction
4. Generate edges and polygons from grid of
surface points.
Chris Bently - Rendering Bezier Patches
44
Subdividing Bezier Patch
Subdivide until the control points are coplanar.
45
Blending Bezier Patches
46
Teapot Data
double teapot_data -80.00, 0.00,
30.00, -80.00, -44.80, 30.00, -44.80,
-80.00, 30.00, 0.00, -80.00, 30.00,
-80.00, 0.00, 12.00, -80.00, -44.80,
12.00, -44.80, -80.00, 12.00, 0.00,
-80.00, 12.00, -60.00, 0.00, 3.00,
-60.00, -33.60, 3.00, -33.60, -60.00,
3.00, 0.00, -60.00, 3.00, -60.00,
0.00, 0.00, -60.00, -33.60, 0.00,
-33.60, -60.00, 0.00, 0.00, -60.00,
0.00, ,
47
Bezier Patch Continuity
If these sets of control points are colinear, the
surface will have G1 continuity.
48
Quadric Surfaces
ellipsoid
elliptic cylinder
49
Quadric Surfaces
1-sheet hyperboloid
2-sheet hyperboloid
50
Quadric Surfaces
cones
51
elliptic parabaloid
hyperbolic parabaloid
52
Quadric Surfaces
hyperbolic cylinder
parabolic cylinder
53
General Quadricsin General Position
54
General Quadric Equation
Ray Equations
55
Ray Quadric IntersectionQuadratic Coefficients
A axdxd bydyd czdzd 2dxdyd
eydzd fxdzd B 2ax0xd by0yd
cz0zd d(x0yd xdy0 ) e(y0zd
ydz0 ) f(x0zd xdz0 ) gxd hyd
jzd C ax0x0 by0y0 cz0z0
2dx0y0 ey0z0 fx0z0 gx0 hy0
jz0 k
56
Quadric Normals
Normalize N and change its sign if necessary.
57
MyCylinders
58
Student Images
59
Student Images
Write a Comment
User Comments (0)
About PowerShow.com