POV-Ray : Newsgroups : povray.newusers : CSG? : CSG? Server Time
6 Sep 2024 10:13:21 EDT (-0400)
  CSG?  
From: Saif Ansari
Date: 6 Jul 1998 19:06:23
Message: <35A149C5.7361@frontiernet.net>
I was writing up something and I came across an interesting "bug".  I
donno if its something I'm doing wrong or if its a feature or whatever. 
Any input would be appreciated.

I tried to make holes in a wall with difference.  Fairly simple, eh? 
Well, I tried the 'difference' CSG modifier and I got grainy lines, like
my surface of interactin between the cutting object and the object being
cut were incident on each other.  Unun.  I tried moveing the
light_source and camera around but it still didn't work.  I still got
interfierence lines in the windows.

The following code gave me clean windows, when I made the cutting blocks
transmit everything and 'merge'd it with the object to be cut.  What did
I do wrong?  I added the code that worked for you to look at...  Not
that I mind one over the other (actually, the merge took a *bit* longer
to render) just curious.  Anyone?

Thanks.

Saif

PS - Sorry about the condition of the code, I'm not very good at clean
code :(

#declare first_arc=
object{
       intersection{
       cylinder{ <3, 0, -.6> <3, 0, .6> 5 }
       box { <-3, 0, -.7> <0, 5, .7> }
       }
}

#declare full_arc=
object{
       union{
       #object { first_arc }
       #object { first_arc rotate y* 180 }
       }
}

#declare large_window=
union{
      #object { full_arc scale <2, 1, 1> }
      box { <-4, -5, -.6> <4, 0, .6> }
      pigment { rgbt <1, 1, 1, 1> }
}

#declare narrow_window=
union{
      #object { full_arc scale <.5, 1, 1> }
      box { <-1, -5, -.6> <1, 0, .6> }
      pigment { rgbt <1, 1, 1, 1> }
}

#declare x_1 = -20
#declare x_2 = 20

#declare Wall=

merge{

box { <-25, 0, -.5> <25, 15, .5> pigment { Gray95 } }
object { large_window translate <0, 8, 0> }

#while (x_1 <= -8)
    #object { narrow_window translate <x_1, 8, 0> }
    #declare x_1 = x_1 + 6
#end

#while (x_2 >= 8)
    #object { narrow_window translate <x_2, 8, 0> }
    #declare x_2 = x_2 - 6
#end

}


Post a reply to this message

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