POV-Ray : Newsgroups : povray.general : b-spline help : Re: b-spline help Server Time
29 Jul 2024 18:18:57 EDT (-0400)
  Re: b-spline help  
From: Thomas A  Fine
Date: 30 Nov 2010 16:52:48
Message: <4cf57230$1@news.povray.org>
In article <4cebdf3f$1@news.povray.org>,
Thomas A. Fine <fin### [at] head-cfaharvardedu> wrote:
>I thought (and maybe this is where I'm wrong) that a cubic b-spline curve
>was nothing more than a bunch of bezier curves strung together with
>endpoints joined (and actually removed, being represented by the midpoints
>of adjacent control points).  But this does not yield a curve that matches
>the original letter shape.  It's close, but the curves are too sharp near
>the control points and too flat near the mid-points.
>
>Is my assumption about the relationship between cubic b-splines and
>beziers wrong?  Or is povray's sphere_sweep b_spline just some other kind
>of curve?  Or am I on the right track, but just making some mistake in
>representing the data in the appropriate order?

As it turns out, I was wrong about what "cubic b-spline" means.  I'm
still not entirely clear, and it seems like it may mean different things
to different people, but I think what I had in mind was actually a
cubic bezier spline, which is not the same thing.

And furthermore, I don't even think it's possible.  Or if it is, I haven't
been able to wrap my head around it.  I think the problem is that cubic
b-splines are always C2 continuous, but quadratic b-splines are usually
only C1 continuous.  But I haven't seeen this explicitly confirmed anywhere.

So what I'm doing now is converting the TrueType quadratic b-spline into
a collection of cubic beziers, and converting each bezier into a separate
sphere_sweep.

This works!  Except that I'm finding sphere_sweep to be extremely unstable.
The curve segments randomly blow up in spectacular ways, spewing extra
pixels far and wide.  I'm not talking about the documented black specks on
the curve.  I'm talking about plotting the curve far far away from where the
curve should be plotted.  Is there a known bug here that I could fix by
upgrading my 3.6.1 macports install?

I'm thinking I might need to go with the excellent suggestion from bart of
just decomposing the thing into spheres and cylinders.  This works great
for 2-D drawing. Unfortunately, shading makes seams really obvious so I'll
need to use vastly more increments than I would need in 2-D drawing.  But
it's better than abstract pixel explosions.

	tom


Post a reply to this message

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