POV-Ray : Newsgroups : povray.general : Transparency problem with rolled up plane : Re: Transparency problem with rolled up plane Server Time
30 Jul 2024 02:19:28 EDT (-0400)
  Re: Transparency problem with rolled up plane  
From: Alain
Date: 11 Jan 2010 20:48:53
Message: <4b4bd505$1@news.povray.org>

> Hello,
>
> I've a transparency problem with a rolled up plane, which I created by lots of
> very narrow boxes:
>
> #declare tube = merge{
>                        box {<0,0,0>,<0.2,7.5,0.075>  pigment {rgb<0,0,1>}}
>                        box {<0.2,0>,<0.366,7.5,0.075>  pigment
> {rgb<0.2,0.2,0.3>}}
>                       }
>
>
>     #declare i = 0;
>
>     #while ( i<= 2000)
>        object {tube translate<2.3+i/2500,0,0>  rotate<0,i/909*360,0>}
>         declare i = i + 1;
>
>     #end
>
> Adding a factor of transparency by "transmit" in "pigment" doesn't work. Even if
> I add a transmit factor of 0.9 the rolled up plane stays as it is with a factor
> of 0.0
>
> What's the reason for the behaviour of this object?
>
>
>
>
>
>

Your "Tube" object been a merge (or union) of textured objects, any 
texture given to the final object would be ignored. Remove the texture 
from that part, or have them transparent.

You probably have a max_trace_level problem.
If you wrap your loop in a merge, you may get closer to what you want as 
the inside surfaces will get removed.
It will be prety long to render such a merge.

#declare tube = merge{
                       box {<0,0,0>, <0.201,7.5,0.075> pigment {rgb<0,0,1>}}
// the 0.201 is to prevent coincident surfaces between the two //components.
                       box {<0.2,0>, <0.366,7.5,0.075> pigment
{rgb<0.2,0.2,0.3>}}
                      }
/////////////////////////
merge{// this remover the inner surfaces.
    #declare i = 0;

    #while ( i <= 2000)
       object {tube translate<2.3+i/2500,0,0> rotate <0,i/909*360,0>}
        declare i = i + 2;

    #end
	}

You may need to increase the max_trace_level like:
global_settings{max_trace_leve 20}

You may try using a blob object with many cylinder components like:
blob{threshold 0.1
   #declare i = 0;
   #while ( i <= 2000)
     cylinder{0, <0, 7.5, 0.075>, 0.1, 0.3
         translate<2.0+i/250,0,0>
         rotate <0,i/909*380,0>
         }
   #declare i = i + 1;
   #end
   pigment{rgbf<1, 0.3, 0.7, 0.9>}
   rotate <-120, 25, 0>
   }



Alain


Post a reply to this message

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