POV-Ray : Newsgroups : povray.advanced-users : sphere_sweep artifacts Server Time
1 Nov 2024 11:17:41 EDT (-0400)
  sphere_sweep artifacts (Message 1 to 2 of 2)  
From: Shbon
Subject: sphere_sweep artifacts
Date: 24 Feb 2006 16:15:00
Message: <web.43ff7561fd619f1eaf9dd77d0@news.povray.org>
I'm getting a number of small artifacts on my 'simple' sphere_sweeps.
Reading the help file indicated 'self-shading' and suggested reducing
tolerance and/or using AM2. I tried these, but to no avail.

Searching through the POV-Ray newsgroups, I can see similar issues have been
raised before (E.g.
http://news.povray.org/povray.advanced-users/thread/%3C41ee5a09@news.povray.org%3E/?ttop=216592)
and partial workarounds have been suggested such as: rotate by a tiny
amount, move camera by a tiny amount, adjust spline values by a tiny amount
etc. I can see that applying these subtle changes affects the artifact (and
may eliminate it completely).

My problem is that after experimenting for a while, if you duplicate this
simple spline 50 times and rotate it about the y-axis (I'm trying to model
a wire basket), I seem to produce a random artifact somewhere every time.

Has anybody found a successful method of mitigating / minimising this
'feature' of sphere_sweep?

(I've already found out that closely packed spheres following a Myspline =
spline {...} works, but uses a lot of memory).


POV-Ray 3.6.1, Windows XP SP2, Pentium III 500MHz
Thanks
Shaun


An Example:

global_settings {assumed_gamma 1.0}

camera {location <0, 7 , -30> angle 66 right x*image_width/image_height
look_at <6 , 6.5 , 0>}

//For close-up of artifact
//camera {location <6.5 , 4.5 , -2> angle 30
//right x*image_width/image_height look_at <6.5, 4.4 , 0>}

light_source{<250,100,-500> color rgb 1}

#declare BCSplinePointU = array[8] {11,10,9,8,7,6,6,7};

//To remove artifact use this sightly different spline
//#declare BCSplinePointU = array[8] {11,10,9,8,7,6,5,7};

#macro BCSplinePointV(Index, MaxV, PointCount)
  MaxV-((Index-1)*MaxV/(PointCount-3))
#end

#declare BallCageVBar =
  sphere_sweep {
    cubic_spline 8

    #declare Count = 0;
    #while (Count < 8)
      <BCSplinePointU[Count],BCSplinePointV(Count, 15, 8)> .1
      #declare Count = Count + 1;
    #end
  }

object {BallCageVBar pigment {rgb 1}}


Post a reply to this message

From: Mike
Subject: Re: sphere_sweep artifacts
Date: 25 Mar 2006 13:40:01
Message: <web.44258df75c3d954649a12b420@news.povray.org>
Seeing the same thing myself for both sphere sweeps with b_spline and
cubic_spline: http://www.mydis.org/wp-uploads/keep6.png (see lower left and
weirdness on right) or http://www.mydis.org/wp-uploads/keep5.png

-m

"Shbon" <sha### [at] netscapenet> wrote:
> I'm getting a number of small artifacts on my 'simple' sphere_sweeps.
> Reading the help file indicated 'self-shading' and suggested reducing
> tolerance and/or using AM2. I tried these, but to no avail.
>
> Searching through the POV-Ray newsgroups, I can see similar issues have been
> raised before (E.g.
>
http://news.povray.org/povray.advanced-users/thread/%3C41ee5a09@news.povray.org%3E/?ttop=216592)
> and partial workarounds have been suggested such as: rotate by a tiny
> amount, move camera by a tiny amount, adjust spline values by a tiny amount
> etc. I can see that applying these subtle changes affects the artifact (and
> may eliminate it completely).
>
> My problem is that after experimenting for a while, if you duplicate this
> simple spline 50 times and rotate it about the y-axis (I'm trying to model
> a wire basket), I seem to produce a random artifact somewhere every time.
>
> Has anybody found a successful method of mitigating / minimising this
> 'feature' of sphere_sweep?
>
> (I've already found out that closely packed spheres following a Myspline =
> spline {...} works, but uses a lot of memory).
>
>
> POV-Ray 3.6.1, Windows XP SP2, Pentium III 500MHz
> Thanks
> Shaun
>
>
> An Example:
>
> global_settings {assumed_gamma 1.0}
>
> camera {location <0, 7 , -30> angle 66 right x*image_width/image_height
> look_at <6 , 6.5 , 0>}
>
> //For close-up of artifact
> //camera {location <6.5 , 4.5 , -2> angle 30
> //right x*image_width/image_height look_at <6.5, 4.4 , 0>}
>
> light_source{<250,100,-500> color rgb 1}
>
> #declare BCSplinePointU = array[8] {11,10,9,8,7,6,6,7};
>
> //To remove artifact use this sightly different spline
> //#declare BCSplinePointU = array[8] {11,10,9,8,7,6,5,7};
>
> #macro BCSplinePointV(Index, MaxV, PointCount)
>   MaxV-((Index-1)*MaxV/(PointCount-3))
> #end
>
> #declare BallCageVBar =
>   sphere_sweep {
>     cubic_spline 8
>
>     #declare Count = 0;
>     #while (Count < 8)
>       <BCSplinePointU[Count],BCSplinePointV(Count, 15, 8)> .1
>       #declare Count = Count + 1;
>     #end
>   }
>
> object {BallCageVBar pigment {rgb 1}}


Post a reply to this message

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