POV-Ray : Newsgroups : povray.binaries.images : Basket-weaving (fun with spline objects) : Re: Basket-weaving (fun with spline objects) Server Time
20 Aug 2024 02:18:43 EDT (-0400)
  Re: Basket-weaving (fun with spline objects)  
From: Chris Colefax
Date: 17 Jan 2001 18:40:13
Message: <3a662d5d@news.povray.org>
John M. Dlugosz <joh### [at] dlugoszcom> wrote:
> Chris, you sure make it look easy!
>
> I still don't understand what causes this.  Look at this low-count version
> (attached).  I jumped to the conclusion that the ripples are caused by
> having too few torus segments, and each ripple is one such segment.  But,
> they are regularly spaced, not bunched in the curved part.  So that's not
> it, is it?
>
> When reading your tutorial, I had also assumed that the purpose of using
the
> torii was as a curve-fit for one segment, but now I don't understand how
> that can be, since a torus only has one curve everywhere (making it
> ellipitical, as I had been thinking, would distort the cross-section of
the
> pipe, too).

No, the torus pipe macro does not attempt to do any curve fitting.  Instead,
it simply joins each pair of adjacent spline points with a circular arc,
maintaining the continuity of curvature from one arc to the next (regardless
of the spline's curvature).  For the very first arc, we need a tangent, a
starting direction.  By default, the initial tangent of the spline is used,
and with a suitable spline steps value this can create reasonably accurate,
fast rendering, completely smooth splines (example #1 in the attached
image).

The next two examples use the same number of spline steps, but with
different initial torus tangent options.  Depending on how this is specified
and the number of spline steps, rippling can occur as in the middle example.
This rippling is precisely the effect I used in the previous renderings in
this thread, and this is why I wrote the torus pipe spline macro to behave
as it does.

If you want to use the torus pipe spline macro to smoothly follow a spline,
I'd suggest starting with a spline steps value equal to the number of spline
segments, and increasing it from there in multiples of the number of
segments.  Otherwise, I'd again suggest blob splines (see the squid recently
posted under "More fun with spline objects") as an alternative.


Post a reply to this message


Attachments:
Download 'torus_spline_examples.jpg' (16 KB)

Preview of image 'torus_spline_examples.jpg'
torus_spline_examples.jpg


 

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