POV-Ray : Newsgroups : povray.binaries.images : Smoothing bicubic_patchs. A pain. : Re: Smoothing bicubic_patchs. A pain. Server Time
27 Apr 2024 19:11:23 EDT (-0400)
  Re: Smoothing bicubic_patchs. A pain.  
From: Tor Olav Kristensen
Date: 22 Aug 2018 14:20:04
Message: <web.5b7da8179b869b6138c8b7240@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
> "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.
>...

=)

>...
> 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/?]

Yes, that was done with sphere sweeps. As I have not found a Bezier type spline
in POV-Ray, I used linear_spline sphere_sweeps with many points placed along a
Bezier curve (that I calculated with some self made Bezier functions).

From your later posts in this thread it seems like you have now figured out how
to do something similar.

Anyway, for others that may be interested, I've attached an image which shows
which contol points to use for these "cubic Bezier sphere sweeps". I've colored
the relevant "sweeps" red and their control points green.


> 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'm not sure if I follow you, but some of it sounds ok.


> 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.
>...

Yes, be very careful with what you do at the corners and along the edges.


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

Yes, that is also my understanding.

Here's more theory about this:
https://people.eecs.berkeley.edu/~sequin/CS284/LECT12/L4.html


> 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.

When experimenting with these Bezier curves and patches I find it easier to use
Bernstein polynomials than to use de Castejau's algorithm.

>...

--
Tor Olav
http://subcube.com


Post a reply to this message


Attachments:
Download 'control_points_for_cubic_bezier_splines_along_edges_of_bicubic_bezier_patches.jp.jpg' (253 KB)

Preview of image 'control_points_for_cubic_bezier_splines_along_edges_of_bicubic_bezier_patches.jp.jpg'
control_points_for_cubic_bezier_splines_along_edges_of_bicubic_bezier_patches.jp.jpg


 

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