POV-Ray : Newsgroups : povray.advanced-users : Fitting together bicubic patches : Fitting together bicubic patches Server Time
29 Jul 2024 00:28:21 EDT (-0400)
  Fitting together bicubic patches  
From: sascha
Date: 17 Jul 2003 13:22:41
Message: <3f16db61$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.