POV-Ray : Newsgroups : povray.binaries.images : Smoothing bicubic_patchs. A pain. : Re: Smoothing bicubic_patchs. A pain. Server Time
2 May 2024 11:00:27 EDT (-0400)
  Re: Smoothing bicubic_patchs. A pain.  
From: Bald Eagle
Date: 17 Aug 2018 10:25:00
Message: <web.5b76d9aa9b869b61c437ac910@news.povray.org>
"Tor Olav Kristensen" <tor### [at] TOBEREMOVEDgmailcom> wrote:

> I assume that you are looking at my 'Bezier_Patches_Stitched' files.

Yes.   They were, in fact, the motivation for my original attempts at stitching
9 patches together.

> (The positions for these white corner points were specified "manually".)

Yes, that would make sense.

> The
> small vectors are also used to control the distances between these control
> points.

Mmmmmm... I'll have to think about that.

> AFAIK it is common to let the small vectors have the same direction as the large
> vectors and to let their lengths be 1/6 of the length of the large vectors.

That makes sense from what I've tried to do, and is consistent with your
diagrams / renders.

> But I think that one can choose other orientations and lengths for the small
> vectors (but I have not had time to experiment with this yet).

Yes, and I think that I may have tried to bite off more than I could chew at the
time.

How did you smoothly connect the corner points in
http://news.povray.org/web.5b7398619b869b61264be49d0%40news.povray.org ?
Is that a bezier spline sphere-sweep?
[Is it /beh-ZHEER/?]

I spent some time pondering the boundary conditions, and how to process 16
patches like the stitched renders.
What I've come up with is to
create an array of 25 corner points
create an array of 16 points, and "copy" the relevant corner points into the
appropriate places
calculate the linear vectors between the corners of each side
set the control points on those sides to 1/3 and 2/3 of the vector
Use those control points to interpolate the 4 inner control points in an
analogous manner

I hope to get a little bit more time tonight to try and implement that, and see
how it goes.

Then I can start to think about how to write a macro and set up a data structure
to instantiate arbitrarily selected patches, given the corner points.  It's the
lone corners and edges that might be tricky for me.


Now, having better grasped what you were doing here, I'd say that based on my
reading, this would give "G1 continuity".

I think that my first time approaching this, I was trying to use 3x3 patches to
give 4 control points and then do deCastejau to subdivide the super-pseudo
Bezier spline suggested by those 4 points so that I could interpolate the inner
control points of the edges in a "Bezier manner", if that makes sense.

Then having a series of X-alined splines, I could use all of those control
points to do the same with the z-aligned splines

But there may be an inherent error in trying to do it that way.


Post a reply to this message

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