POV-Ray : Newsgroups : povray.bugreports : ERROR in difference Server Time
29 Mar 2024 09:43:46 EDT (-0400)
  ERROR in difference (Message 1 to 2 of 2)  
From: deep125
Subject: ERROR in difference
Date: 15 Jul 2014 11:10:01
Message: <web.53c543831391fd7c27687edf0@news.povray.org>
Minimal code
==================

#version 3.7;
global_settings {assumed_gamma 1.0}


#declare rT =1;
#declare rB =1.5;


#declare rERROR =rT;         //Bad

//#declare rERROR =rT+.00001;      //Good
//#declare rERROR =rT-.00001;      //Good








light_source { <100,1000,-1000>, <1,1,1>}


#declare r1=cylinder { <0,0,0>,<2,0,0>,rT

    texture { pigment { color rgb<1,1,1>} }
}

#declare r2=cylinder { <0.5,0,0>,<1,0,0>,rB

    texture { pigment { color rgb<0,1,1>} }
}

#declare r3=cylinder { <0.4,0,0>,<1.1,0,0>,rERROR

    texture { pigment { color rgb<1,1,0>} }
}

#declare o1=difference
{

    object{r1}
    object{r2}

}

#declare o2=difference
{

    object{r2}
    object{r3}

}


#declare o3=difference
{

    object{r1}
    object{o2}

}


o3


camera {
        orthographic
       location <0,0,4>  angle  90 look_at <0,0,0>    // all front
       location <5,5,5>  angle 80 look_at <0,0,0>    // бок

}

=================

for (rERROR +.00001 ) or (rERROR -.00001 )   render is correct.


Post a reply to this message

From: clipka
Subject: Re: ERROR in difference
Date: 15 Jul 2014 11:42:40
Message: <53c54bf0$1@news.povray.org>
Am 15.07.2014 17:07, schrieb deep125:

> for (rERROR +.00001 ) or (rERROR -.00001 )   render is correct.

Correct in what sense? What are you expecting the scene to look like - 
and, also of importance, /why/ are you expecting it to look that way?

The fact that you declare o1 but never use it indicates that you're not 
/exactly/ sure what you're doing - so I'm not ashamed to say that I'm 
not really sure what you're doing either.


Fact is that when you set rERROR=rT, you have two objects with 
coincident surfaces (r1 and r3), which is known to always be a potential 
source of trouble, and you're using them in nested differences, which 
makes the issue all the more complicated.


I'm quite certain this is not an all-uppercase ERROR, but just another 
instance of a well-known /limitation/ known as the "coincident surface 
problem".


Post a reply to this message

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