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: SPLINESPAGE 162 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: SPLINESPAGE 163 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.
HERMITE CURVES CS 482 – FALL 2014 ENDPOINTS & TANGENT VECTORS OCTOBER 8, 2014: SPLINESPAGE 164 THE HERMITE FORM OF THE CUBIC POLYNOMIAL CURVE IS CONSTRAINED BY THE ENDPOINTS (P 0 AND P 1 ) AND THE TANGENT VECTORS AT THE ENDPOINTS (P 0 ´ AND P 1 ´). P0P0P0P0 P1P1P1P1 P0´P0´ P1´P1´ SIMILAR SOLUTIONS FOR THE Y- AND Z- COORDINATES YIELD:
HERMITE CURVES CS 482 – FALL 2014 EXAMPLES OCTOBER 8, 2014: SPLINESPAGE 165 P0P0P0P0 P1P1P1P1 P0´P0´ P1´P1´ P0P0P0P0 P1P1P1P1 P0´P0´ P1´P1´ P0P0P0P0 P1P1P1P1 P0´P0´ P1´P1´ P0P0P0P0 P1P1P1P1 P0´P0´ P1´P1´ P1P1P1P1 P0P0P0P0 P1´P1´ P0´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: SPLINESPAGE 166 THE BÉZIER FORM OF THE CUBIC POLYNOMIAL CURVE INDIRECTLY SPECIFIES THE TANGENT VECTORS AT ENDPOINTS P 1 AND P 4 BY SPECIFYING TWO INTERMEDIATE POINTS (P 2 AND P 3 ) THAT ARE NOT ON THE CURVE. P1P1P1P1 P4P4P4P4 CALCULATIONS SIMILAR TO THOSE DERIVED FOR THE HERMITE FORM YIELD: P2P2P2P2 P3P3P3P3
BÉZIER CURVES CS 482 – FALL 2014 FIRST-ORDER DISCONTINUITY OCTOBER 8, 2014: SPLINESPAGE 167 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 P3P3P3P3 P1P1P1P1 P2P2P2P2 P4P4P4P4 P5P5P5P5 P6P6P6P6 P7P7P7P7 P8P8P8P8 P9P9P9P9 P 10
B-SPLINES CS 482 – FALL 2014 CONTROL POINTS ONLY OCTOBER 8, 2014: SPLINESPAGE 168 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. P1P1P1P1 P4P4P4P4 P2P2P2P2 P3P3P3P3
B-SPLINES CS 482 – FALL 2014 SECOND-ORDER CONTINUITY OCTOBER 8, 2014: SPLINESPAGE 169 P0P0P0P0 P3P3P3P3 P1P1P1P1 P2P2P2P2 P4P4P4P4 P5P5P5P5 P6P6P6P6 P7P7P7P7 P8P8P8P8 P9P9P9P9 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. P 10 P 11
BICUBIC SURFACES CS 482 – FALL 2014 APPROXIMATING SMOOTH SURFACES OCTOBER 8, 2014: SPLINESPAGE 170 LINE SEGMENTS MAY BE USED TO APPROXIMATE SURFACE BOUNDARIES, BUT TRIANGLES 1000 TRIANGLES69,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: SPLINESPAGE 171 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: SPLINESPAGE 172 PATCHES CAN BE REFINED BY CREATING A LARGER GRID OF CONTROL POINTS FROM THE ORIGINAL GRID OF CONTROL POINTS. P1P1P1P1 P2P2P2P2 P3P3P3P3 P4P4P4P4 L1L1L1L1 L2L2L2L2 L3L3L3L3 R3R3R3R3 R2R2R2R2 L 4 =R 1 R4R4R4R4 ORIGINAL BÉZIER CURVE SUBDIVIDED BÉZIER CURVES L 1 = P 1 R 4 = P 4 L 3 = ½(L 2 +½(P 2 +P 3 )) R 2 = ½(R 3 +½(P 2 +P 3 )) L 2 = ½(P 1 +P 2 ) R 3 = ½(P 3 +P 4 ) L 4 = R 1 = ½(L 3 +R 2 )
SUBDIVISION SURFACES CS 482 – FALL 2014 APPLICATIONS OCTOBER 8, 2014: SPLINESPAGE 173 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