next up previous
Next: ff_par_surf Up: ff_par_surf Previous: ff_par_surf

3. Other constructions of parametric surfaces

Example 11. A family of curves made into a surface: Take a family of planar curves expressible by a formula that has a constant that determines the individual curve. If you put $ z$ for the constant, you get a 3-dimensional surface that contains all the curves in the family as horizontal slices. For a parametric version, the family of curves should be made parametric with a parameter $ t$; put $ u$ for the constant and set $ z = u$.

For example, the parabola $ y = x ^ 2$ in R$ ^ 2$ can be parameterized by $ x = t, y = t ^ 2$. Then $ x = t + c, y = t ^
2 - c ^ 2$ is a parabola with vertex at $ (c, - c ^ 2)$. As $ c$ changes, you get a family of parabolas. Then for a surface you get

P$ (t,u) = (t + u, t ^ 2 - u ^ 2, u)$, say for $ -1
\leq t \leq 1, -1 \leq u \leq 1$.



Example 12. A linearly blended Coons patch: Suppose that we have four curves in R$ ^ 3$, parameterized over unit intervals and connected end-to-end, and we want to fill in a surface between them. We can think of these curves as being given by a function Q$ (t,u)$ that is defined only on the boundary of the unit square in parameter space. In other words, Q$ (t,u)$ is defined only when one of $ t$ and $ u$ is 0 or 1 and the other is between 0 and 1; one boundary curve is Q$ (t,0)$, and other boundary curves are given similarly. We want to find a nice function P$ (t,u)$ defined on the whole unit square and agreeing with Q$ (t,u)$ on the boundary.

One idea is to take a linear blending of the two boundary curves Q$ (t,0)$ and Q$ (t,1)$. However, the resulting surface goes straight across between these two boundary curves and does not follow the other two boundary curves. Similarly, a linear blending of Q$ (0,u)$ and Q$ (1,u)$ does not work. Combining these two linear blendings by adding them also does not work, because the value at the $ (0,0)$ corner is $ 2$   Q$ (0,0)$, etc.

A solution turns out to be to add the two linear blendings and subtract off the bilinear patch determined by the corner values. Therefore, we let

P$ (t,u) = \left ( (1-u)\mbox{\bf Q}(t,0) + u\mbox{\bf Q}(t,1) \right ) +
\left ( (1-t)\mbox{\bf Q}(0,u) + t\mbox{\bf Q}(1,u) \right )$
$ + \left (
(1-t)(1-u)\mbox{\bf Q}(0,0) + (1-t)u\mbox{\bf Q}(0,1) + t(1-u)\mbox{\bf Q}(1,0) + tu\mbox{\bf Q}(1,1) \right )$.

A compact version written using a matrix of point-valued functions is

P$ (t,u) = \left[\begin{array}{ccc}(1-t)&t&1\end{array}\right]\left[\begin{array}...
...t,1)&0\end{array}\right]\left[\begin{array}{c}(1-u)\\  u\\  1\end{array}\right]$.


next up previous
Next: ff_par_surf Up: ff_par_surf Previous: ff_par_surf
Kirby A. Baker 2002-03-01