|
|
On Wed, 28 Apr 1999 13:38:03 -0400, Phil Clute <plc### [at] tiacnet>
wrote:
>Anyhow my question is: What is the math behind keeping those
>seams together, and from causing cracks in the patch?
>
>The reason I ask is because I wanted to try animating the patches.
>The ultimate goal is to make a face that can change expressions etc.
>But I'll settle for just a couple patches working in harmony for
>now.
Just to amplify a bit or Ron Parker's answer.
Suppose that the edge in question and the adjacent control points in
each patch are as follows:
--a-----e e-----i--
| | | |
| | | |
--b-----f f------j--
| | | |
| | | |
--c-----g g-----k--
| | | |
| | | |
--d-----h h-----l--
Then a, e and i must be collinear. So must b, f and j, c, g and k,
and d, g and ii. This can sometimes constrain a surface too much, so
there is an alternative method of guaranteeing some continuity. In
this case, the constraints are that a, e, i and f must be coplanar and
d, h, l and g must be coplanar and in this case b, c, j and k need not
be collinear with anything.
For what you describe yourself as wanting to do, you might want to
look into hierarchical b-splines, also known as h-splines. As b
splines, the interpatch continuity is automatic. B splines can also
be converted to beziers (so-called bicubic patches) with some
appropriate matrix math, but the process would probably not be
practical for speed and memory reasons without an external converter
or a patched pov that supports them directly.
If you want to see some examples of h spline techniques, check out the
Dragon Wing at:
http://www.cs.ubc.ca/nest/imager/contributions/forsey/dragon/top.html
Jerry Anning
clem "at" dhol "dot" com
Post a reply to this message
|
|