POV-Ray : Newsgroups : povray.general : sphere sweep - possible bug with b_spline Server Time
5 Nov 2024 11:17:07 EST (-0500)
  sphere sweep - possible bug with b_spline (Message 1 to 1 of 1)  
From: Brendt Hess
Subject: sphere sweep - possible bug with b_spline
Date: 11 Apr 2003 02:48:55
Message: <3e966557$1@news.povray.org>
I was doing some POV 'sketching' (basically, drawing some outlines and 
points that I know I will need, with the intention of filling in the 
rest later).  For one section, I decided to use a sphere_sweep, starting 
and ending on two previously marked points.

When I placed in those sweeps, and did a quick test render, I was caught 
by surprise... the ends of the sweeps did not coincide with the 
previously plotted points!

After some head scratching, as a test, I changed from a b_spline to a 
cubic_spline in the sweep.... and the endpoints were exactly where I 
would have expected them to be.

Now... is this a documentation imprecision, a misunderstanding on my 
part as to how the b_spline sweep works, or a bug?

Below is a snippet of the code used.  This reproduces the error on my 
system (Athlon 850, Win98se, 256Mb RAM, POV3.5)

---------------------------------------------

#include "colors.inc"
// Command Line Switches:  FN +W800 +H800 +UA +AM2 +A0.2
// If the Width is <>
camera {
         location <0,0,-15.1>
         right x
         up y
         look_at <0,0,0>
         }

light_source {  <-9,8,-40> rgb<1,1,1>*1.5 shadowless area_light x*7, 
y*6, 3,3 }

#declare topy=2*1.618;
#declare rightx=2;
#declare Point = sphere {0,0.1 pigment { color Yellow }}

object {Point translate <rightx, topy,0>}
object {Point translate <-rightx, topy,0>}
object {Point translate <rightx * 0.725, topy * 1.09,0>}
object {Point translate <rightx * 0.45, topy * 1.14,0>}
object {Point translate <rightx * 0.175, topy * 1.1618,0>}
object {Point translate <-rightx * 0.725, topy * 1.09,0>}
object {Point translate <-rightx * 0.45, topy * 1.14,0>}
object {Point translate <-rightx * 0.175, topy * 1.1618,0>}

object {Point translate <-rightx, -topy,0>}
object {Point translate <rightx, -topy,0>}
object {Point translate <rightx * 0.725, topy * -1.09,0>}
object {Point translate <rightx * 0.45, topy * -1.14,0>}
object {Point translate <rightx * 0.175, topy * -1.1618,0>}
object {Point translate <-rightx * 0.725, topy * -1.09,0>}
object {Point translate <-rightx * 0.45, topy * -1.14,0>}
object {Point translate <-rightx * 0.175, topy * -1.1618,0>}

#declare Side=sphere_sweep {b_spline 7,
                 <rightx* 1.38, topy * 2, 0>, 0.1,
                 <rightx, topy, 0>, 0.1,
                 <rightx/1.38, topy * 0.5, 0>, 0.1,
                 <rightx/1.618, 0, 0>, 0.1,
                 <rightx/1.38, -topy * 0.5, 0>, 0.1,
                 <rightx, -topy, 0>, 0.1,
                 <rightx* 1.38, -topy * 2, 0>, 0.1
                 pigment { color Brown }
                 }
Side
object {Side rotate y*180}
------------------------------------------------------------


Post a reply to this message

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