|
|
sascha <sas### [at] userssourceforgenet> wrote in
news:3f2773bf@news.povray.org:
I've been playing around with bezier curves and math, and after some
thinking, I think I may have found a solution.
However it seems kind of obvious so I wonder if I'm missing something.
Understanding that C1 continuity is defined that 3 control points, that is
the two curve control points, and the two connecting points (one point)
they surround, must all lie on the same tangent line.
Applying this to the 5 point patch structure (contructed of 4 point
patches) I came across these findings:
#1. The center point, and the 10 control points that immediately surround
it, must all lie on the same plane, due to the fact that under the
constraint mentioned above, their positions all become interdependant.
#2. the center point must lie on the intersection of lines drawn between
its 10 surrounding points. Consequently, lines drawn between these 10
surrounding control points must all intersect at a single point.
For the bezier lines eminating from the center point you said you were
having trouble with, this takes care of 2 control points on each.
The rest of the relationships are difficult to explain verbally, so I shall
give you a diagram I made, where green lines are drawn between points that
must lie on the same line for continuity.
http://zenpsycho.com/images/pentdiag.gif
what remains is the problem of continuity with adjacent patches, due to the
fact that each edge now has 7 points, which must seamlessly connect with a
patch with 4 control points, and also, the center control point on each
edge must lie on the same line as its surrounding two edge points. I wonder
if this is mathematical conflict, or if it can be solved.
If I'm incorrect about any of this, let me know, I love learning about this
stuff.
Thanks
> Let's use the five-point patch as an exaple. I'd like to subdivid it
> in a way where a center (of the patch) connects to the center of each
> edge-curve-segment - this way I'll get 5 4-sided patches (see the
> paper by Martin Hash I mentioned in my previous porting for a
> diagram).
>
> Subdividing the edge-bezier-curves is a simple de Casteljau operation
> - I've had some problems with finding the patch center, put the paper
> posted by Rune has the solution for that (at least I think so). The
> only problem that needs to be solved is finding the control-points for
> the 5 new curves that origin from the center. And - all in all - I'm
> not sure that those five new patches will connect 100 percent
> smoothly.
>
> All I can do is playing around with patches by trail and error, but it
> would be better to have a sort of a mathematical proove, but that's
> beyond my means...
>
> -sascha
>
Post a reply to this message
|
|