> I have a collection of Bezier curves that forms a network of patches, I'd
> like to find out the technique(s) used to generate the patches from those
> Bezier curves network.
> Having tried out various modelling/animation software, they all seems
> happy to allow a user to just move the end points and the software uses some
> form of blending/blending-fuction to find the "inner/interior" four vertices
> of each Bezier patch base of the 4 boundary curve and if necessary, the
> neighbouring patches. It is this blending/interpolation algorithm/technique
> I am keen to find out.
I have recently done some work using cubic bezier patches (triangle and
quadratic). When i built the editor for the system I found out that for
ensuring C1 continuity across the borders of two patches (the borders
have no whole and are smooth) I actually have to restrict handling of
the controlpoints to the corners. The other points are then calculated
to fit the continuity.
I have found the following code to work pretty good for triangle patches:
define the three corner points and the normal at that point (they may be
modified by the user at will)
All control poitns with distance "1" (i.e: next neighbors) have to lie
on a plane which goes through the controlpoint on the corner and has the
defined normal. the excet position on the plane is not so important and
could be chose by the user (i just project them from their original
position onto the plane so that they stay more or less where they would
be if the patch is flat.
The center point in a trinagle patch is a little problematic, as it
requires to solve some complex eqations, but just using an average of
all controlpoints excet the corner works quite fine. (if anyone has a
good way to calculate the center point please let me know)
For quadratic patches this should work the same way, except that you
have no center point but the interior controls are assigned to the next
corner. In this case the mathematics should actually be exact.