|
|
Le 15.11.2007 17:24, Kyle nous fit lire :
> On Thu, 15 Nov 2007 00:44:59 EST, "Meothuru" <nomail@nomail> wrote:
>
>> IMO because the pigment is strechted on z-axis by
>> the scaling factor "7"
>
> Actually, that's not the case. The superellipsoid is scaled first, then the pigment
is applied.
>
>> Better use: Rounded_cylinder
>
> Yep, that's another means to an end.
>
>
> I'm still curious as to why the artefacts appear, though, even with a higher "n"
parameter of 0.25.
>
>
Confirmed.
Correction with the source very easy.
Details (in french) here:
http://jgrimbert.free.fr/pov/correct/superellipsoid.html
Short version: the box used for the computation of the
superellipsoid must be a bit bigger than the perfect {-1,1} box, due
to numerical precision. 1% is enough.
If not, some point computed during the evaluation of the ray
intersecting with the superellipsoid will be found to be outside of
the bounding 'perfect' box... and removed from the intersection list.
Coding version:
in source/super.cpp,
const DBL MIN_VALUE = -1.01;
const DBL MAX_VALUE = 1.01;
--
The superior man understands what is right;
the inferior man understands what will sell.
-- Confucius
Post a reply to this message
Attachments:
Download 'bogus1.png' (33 KB)
Preview of image 'bogus1.png'
|
|