Bezier Curves and Patches




CS216

Chris Pollett

Feb 4, 2010

Outline

Introduction

De Casteljau Revisited

Correctness of De Casteljau's Method

Theorem Let `\vec q(u)` and `\vec p_i^r` be as above. Then, for all `u`, `\vec q(u) = \vec p_0^k(u)`.

The theorem follows from the `r=k` case of the following claim:

Claim Let `0\leq r \leq k` and `0\leq i \leq k-r`. Then:
`\vec p_i^r(u) = \sum_(j=0)^r B_j^r(u)\vec p_(i+j)`
.

The proof is by induction on `r`. For `r=0`, the equation above reduces to `\vec p_i = \vec p_i^0(u) = B_0^0(u)\vec p_i^0 = 1\cdot p_i^0` as desired. Assume the result holds of `r`. To see the `r+1` we calculate:
`\vec p_i^(r+1)(u) = (1 - u) \vec p_i^r(u) + u\vec p_(i+1)^r(u)`
Applying the induction hypothesis to `p_i^r(u)` and `p_(i+1)^r(u)`
`\vec p_i^(r+1)(u) = (1 - u) \sum_(j=0)^r B_j^r(u)\vec p_(i+j) + u\sum_(j=0)^r B_j^r(u)\vec p_(i+j+1)`.
Combining these two sums gives
`\vec p_i^(r+1)(u) = \sum_(j=0)^(r+1) ((1 - u)B_j^r(u) + u B_(j-1)^r(u) )p_(i+j).
Finally, from Pascal's Triangle we know that `((r),(j)) + ((r),(j-1)) = ((r+1),(j))`, from which it follows that
`(1-u)B_j^r(u) + uB_(j-1)^r(u) = B_j^(r+1)(u)`,
which establishes the claim.

Recursive Subdivision Revisited

Degree Elevation

Generalizing Degree Elevation

Bezier Surface Patches

A picture of the degree three Bezier patch and its sixteen control points

More on Bezier Patches