COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER...

13
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES • CUBIC CURVES • HERMITE CURVES • BÉZIER CURVES • B-SPLINES • BICUBIC SURFACES • SUBDIVISION SURFACES

Transcript of COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER...

Page 1: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

COMPUTER GRAPHICS

CS 482 – FALL 2014

OCTOBER 8, 2014SPLINES

• CUBIC CURVES• HERMITE CURVES• BÉZIER CURVES• B-SPLINES• BICUBIC SURFACES• SUBDIVISION SURFACES

Page 2: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES 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.

Page 3: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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)(

Page 4: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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

Page 5: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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.

Page 6: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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

Page 7: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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

Page 8: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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

Page 9: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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

Page 10: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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!

Page 11: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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.

Page 12: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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)

Page 13: COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.

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