|
![](/i/fill.gif) |
I'd like to fit togehter two coon's-patches (a coon's patch is a bicubic
patch with the inner 4 control points missing):
Take a look at my "ascii-art" :-) below (use a fixed width font like
courier)
Control-Point numbering for bezier patches:
0--1--2--3
| | | |
4--5--6--7
| | | |
8--9--10-11
| | | |
12-13-14-15
Two coon's patches...
0--1--2--3 0--1--2--3
| | | |
4 7 4 7
| A | | B |
8 11 8 11
| | | |
12-13-14-15 12-13-14-15
...fitted together...
*--*--*--*--*--*--*
| | |
* * *
| | |
* * *
| | |
*--*--*--*--*--*--*
Fitting together patch A and B is easy, the joining-points have to match
(A3 = B0, A7 = B4, A11 = B8 and A15 ? B12) and
the tangents must be colinear (meaning the vector A2-A3 must have the
same direction as the vector B0-B1 and the vector
A14-A15 must have the same direction as vector B12-B13).
But to render the patches I first have to calculate the missing inner
controlpoints for the bezier-patch (points 5,6,9 and 10).
One solution is to form parallelograms, e.g. to get point 5 form a
parallelogram using points 0, 1 and 4:
p5 = p4 + p1 - p0
like:
0-----1
\ \
4-----5
but this leads to difficulties in u/v mapping and if I like to subdivide
a patch...
Has anybody got a better solution than forming parallelograms ?
Post a reply to this message
|
![](/i/fill.gif) |