COMPUTER GRAPHICS
CS 482 – FALL 2014
OCTOBER 8, 2014SPLINES
• CUBIC CURVES• HERMITE CURVES• BÉZIER CURVES• B-SPLINES• BICUBIC SURFACES• SUBDIVISION SURFACES
CUBIC CURVES
CS 482 – FALL 2014
LINEAR LIMITATIONS
OCTOBER 8, 2014: SPLINES PAGE 2
STRAIGHT LINE SEGMENTS MAY BE USED TO APPROXIMATE
CURVES, BUT...
EITHER THE APPROXIMATION HAS TOO MANY SHARP
ANGLES, OR...
…THE NUMBER OF LINE SEGMENTS REQUIRED IS PROHIBITIVELY LARGE.
CUBIC CURVES
CS 482 – FALL 2014
PARAMETERIZED CUBICS
OCTOBER 8, 2014: SPLINES PAGE 3
NOTICE THAT EACH EQUATION
HAS FOUR UNKNOWNS, SO FOUR PIECES OF INFORMATION
WOULD DEFINE EACH CUBIC EQUATION!
CUBICS ARE THE LOWEST ORDER POLYNOMIALS CAPABLE OF ILLUSTRATING MAXIMA, MINIMA, CONCAVITY, AND INFLECTION
POINTS.
BY DEFINING THE CUBIC CURVE PARAMETRICALLY, RESTRICTING THE PARAMETER t TO THE [0,1] INTERVAL, WE OBTAIN A CONCISE
STRUCTURE TO CONTAIN A GOOD APPROXIMATION TO A DESIRED CURVE.
xxxx dtctbtatx 23)(
yyyy dtctbtaty 23)(
zzzz dtctbtatz 23)(
HERMITE CURVES
CS 482 – FALL 2014
ENDPOINTS & TANGENT VECTORS
OCTOBER 8, 2014: SPLINES PAGE 4
THE HERMITE FORM OF THE CUBIC POLYNOMIAL CURVE IS
CONSTRAINED BY THE ENDPOINTS (P0 AND P1) AND THE TANGENT
VECTORS AT THE ENDPOINTS (P0´ AND P1´).
P0 P1
P0´
P1´
SIMILAR SOLUTIONS FOR THE Y- AND Z-COORDINATES
YIELD:
)0(
)0(
)1()0(2)1(3)0(3
)1()0()1(2)0(2
23)1(
)0(
)1(
)0(
xd
xc
xxxxb
xxxxa
cbax
cx
dcbax
dx
x
x
x
x
xxx
x
xxxx
x
xxxx dtctbtatx 23)(
'1
23'0
231
230
23
)()2(
)32()132()(
PttPttt
PttPtttP
HERMITE CURVES
CS 482 – FALL 2014
EXAMPLES
OCTOBER 8, 2014: SPLINES PAGE 5
P0 P1
P0´P1´
P0 P1
P0´
P1´
P0 P1
P0´ P1´
P0 P1
P0´
P1´
P1 P0
P1´P0´
THE BIG PROBLEM WITH THE HERMITE APPROACH IS THE REQUIREMENT THAT THE
TANGENT VECTORS AT THE ENDPOINTS MUST BE SPECIFIED IN ADVANCE.
BÉZIER CURVES
CS 482 – FALL 2014
ENDPOINTS & CONTROL POINTS
OCTOBER 8, 2014: SPLINES PAGE 6
THE BÉZIER FORM OF THE CUBIC POLYNOMIAL CURVE INDIRECTLY SPECIFIES THE TANGENT VECTORS AT ENDPOINTS P1 AND P4 BY SPECIFYING TWO INTERMEDIATE POINTS (P2 AND P3) THAT ARE NOT ON THE
CURVE.P1
P4
CALCULATIONS SIMILAR TO THOSE DERIVED FOR THE HERMITE FORM YIELD:
P2
P3
)(3)(3 344121 PPPPPP
43
32
22
13 )1(3)1(3)1()( PtPttPttPttP
4321
4321
4321
41
421875.0421875.0140625.0015625.0)75.0(
12500.037500.037500.012500.0)50.0(
015625.0140625.0421875.0421875.0)25.0(
)00.1()00.0(
PPPPP
PPPPP
PPPPP
PPPP
BÉZIER CURVES
CS 482 – FALL 2014
FIRST-ORDER DISCONTINUITY
OCTOBER 8, 2014: SPLINES PAGE 7
THE BÉZIER FORM HAS ZERO-ORDER CONTINUITY, BUT IT LACKS FIRST-ORDER CONTINUITY (UNLESS THE TRIPLE OF VERTICES
AROUND THE “KNOT” HAPPEN TO BE COLLINEAR).
DISCONTINUOUS FIRST DERIVATIVE
DISCONTINUOUS FIRST DERIVATIVE
P3
P1
P2
P4
P5
P6
P7
P8
P9
P10
B-SPLINES
CS 482 – FALL 2014
CONTROL POINTS ONLY
OCTOBER 8, 2014: SPLINES PAGE 8
TO ENSURE FIRST-ORDER (AND EVEN SECOND-ORDER) CONTINUITY AT THE “KNOTS” ADJOINING CONSECUTIVE CUBIC CURVE SEGMENTS,
A B-SPLINE APPROACH IS TAKEN, WITH THE DRAWBACK THAT THE CURVE PASSES THROUGH NONE OF THE CONTROL POINTS.
P1
P4
P2
P3
])1333()463()1[()( 43
323
223
13
61 PtPtttPttPttP
461
332
261
438427
3384235
2384121
13841
43
4481
34823
24823
1481
21
43841
3384121
2384235
138427
41
361
232
161
)1(
)()(
)(
)0(
PPPP
PPPPPPPPPP
PPPPP
PPPP
B-SPLINES
CS 482 – FALL 2014
SECOND-ORDER CONTINUITY
OCTOBER 8, 2014: SPLINES PAGE 9
P0
P3
P1
P2
P4
P5
P6
P7
P8
P9
THE B-SPLINE KNOTS HAVE FIRST-ORDER CONTINUITY (I.E., SMOOTH TANGENTS) AND SECOND-ORDER CONTINUITY (I.E., SMOOTH CONCAVITY), BUT REQUIRE THREE TIMES AS
MANY PARAMETERIZATIONS.
P10
P11
BICUBIC SURFACES
CS 482 – FALL 2014
APPROXIMATING SMOOTH SURFACES
OCTOBER 8, 2014: SPLINES PAGE 10
LINE SEGMENTS MAY BE USED TO APPROXIMATE SURFACE BOUNDARIES, BUT...
100 TRIANGLES 1000 TRIANGLES 69,451 TRIANGLES• DETERMINING THE SEGMENT ENDPOINT COORDINATES IS A BIG JOB!
• IT TAKES A LOT OF TRIANGLES TO YIELD A DECENT IMAGE, EVEN WITH SHADING!• THE RESULTING STORAGE AND PROCESSING COSTS COULD BE
PROHIBITIVE!
BICUBIC SURFACES
CS 482 – FALL 2014
PATCHES
OCTOBER 8, 2014: SPLINES PAGE 11
PATCHES MADE UP OF ORTHOGONAL CUBIC CURVES CAN BE USED TO APPROXIMATE SURFACES.
• HERMITE PATCHES REQUIRE PARTIAL DERIVATIVES AT EVERY VERTEX.• BÉZIER PATCHES REQUIRE COLLINEARITY BETWEEN ADJACENT PATCHES.• B-SPLINE PATCHES REQUIRE NINE TIMES AS MANY PARAMETERIZATIONS.
SUBDIVISION SURFACES
CS 482 – FALL 2014
USING BEZIER PATCHES
OCTOBER 8, 2014: SPLINES PAGE 12
PATCHES CAN BE REFINED BY CREATING A LARGER GRID OF CONTROL POINTS FROM THE ORIGINAL GRID OF CONTROL POINTS.
P1
P2
P3
P4
L1
L2
L3
R3
R2L4=R1
R4
ORIGINAL BÉZIER CURVE
SUBDIVIDED BÉZIER CURVESSUBDIVIDED BÉZIER CURVES
L1 = P1
R4 = P4
L3 = ½(L2+½(P2+P3))
R2 = ½(R3+½(P2+P3))
L2 = ½(P1+P2)
R3 = ½(P3+P4)
L4 = R1 = ½(L3+R2)
SUBDIVISION SURFACES
CS 482 – FALL 2014
APPLICATIONS
OCTOBER 8, 2014: SPLINES PAGE 13
• REVERSE ENGINEERING ON SPARSE DATA (E.G., LIMITED MEDICAL SCANS)• CONTROLLING SURFACE QUALITY ACCORDING TO NEEDS AND PROCESSING ABILITIES• TRANSMISSION AND COMPRESSION OF 3D MESH DATA