POV-Ray : Newsgroups : povray.text.scene-files : Re: General question about relative efficiency of CSG op's (see posting on povray.general) Server Time
22 Dec 2024 18:15:42 EST (-0500)
  Re: General question about relative efficiency of CSG op's (see posting on povray.general) (Message 1 to 1 of 1)  
From: LibraryMan
Subject: Re: General question about relative efficiency of CSG op's (see posting on povray.general)
Date: 22 Nov 2002 13:39:29
Message: <3DDE79E4.AFBF96A4@att.net>
#declare wall_brick =  
        box { <0.001, 0.001, -0.01>, <0.159, 0.079, 0.264> texture {
T_Grnt19b }}


#declare Row_Odd = union {
        object { wall_brick translate x*0.16 }
        object { wall_brick }
        object { wall_brick translate x*0.32 }
        object { wall_brick translate x*0.48 }
        object { wall_brick translate x*0.64 }
        object { wall_brick translate x*0.8 }
        object { wall_brick translate x*0.96 }
        object { wall_brick translate x*1.12 }
        object { wall_brick translate x*1.28 }
        object { wall_brick translate x*1.44 }
        }
#declare Row_Even = union {
        object { wall_brick scale <0.5, 1, 1>  translate <0, 0.08, 0>  }
        object { wall_brick translate <0.08, 0.08, 0> }
        object { wall_brick translate <0.24, 0.08, 0> }
        object { wall_brick translate <0.4, 0.08, 0> }
        object { wall_brick translate <0.56, 0.08, 0> }
        object { wall_brick translate <0.72, 0.08, 0> }
        object { wall_brick translate <0.88, 0.08, 0> }
        object { wall_brick translate <1.04, 0.08, 0> }
        object { wall_brick translate <1.2, 0.08, 0> }
        object { wall_brick translate <1.36, 0.08, 0> }
        object { wall_brick scale <0.5, 1, 1> translate <1.52, 0.08, 0>
}
        }

#declare inter_arc2 = difference {
        union {
        box { <0, 0, -0.008>, <1.6, 1.2, 0.262> texture { T_Grnt19b }
	}
        object { Row_Odd }
        object { Row_Even }
        object { Row_Odd translate y*0.16 }
        object { Row_Even translate y*0.16 }
        object { Row_Odd translate y*0.24 }
        object { Row_Even translate y*0.24 }
        object { Row_Odd translate y*0.32 }
        object { Row_Even translate y*0.32 }
        object { Row_Odd translate y*0.40 }
        object { Row_Even translate y*0.40 }
        object { Row_Odd translate y*0.48 }
        object { Row_Even translate y*0.48 }
        object { Row_Odd translate y*0.56 }
        object { Row_Even translate y*0.56 }
        object { Row_Odd translate y*0.64 }
        object { Row_Even translate y*0.64 }
        object { Row_Odd translate y*0.72 }
        object { Row_Even translate y*0.72 }
        object { Row_Odd translate y*0.8 }
        object { Row_Even translate y*0.8 }
        object { Row_Odd translate y*0.96 }
        object { Row_Even translate y*0.96 }
        object { Row_Odd translate y*1.04 }
        object { Row_Odd translate y*1.04 }
        }
        cylinder { <-0.4, 0, -0.0101>, <-0.4, 0, 0.301> 1 texture {
T_Grnt19b }}
        cylinder { <-0.4, 0, -0.0101>, <-0.4, 0, 0.301> 1 texture {
T_Grnt19b } translate x*2.4 }
}                                                                                     
          
//object { inter_arc2 }
//object { inter_arc2 translate x*1.6 }

#declare inter_arc = 
difference {
box { <0, 0, -0.01>, <1.6, 1.2, 0.264> texture { T_Grnt19b }
	}
cylinder { <-0.4, 0, -0.0101>, <-0.4, 0, 0.301> 1 texture { T_Grnt19b }
	}
cylinder { <-0.4, 0, -0.0101>, <-0.4, 0, 0.301> 1 texture { T_Grnt19b }
translate x*2.4
	}
cylinder { <0.0, 0.08, -0.01>, <1.6, 0.08, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.16, -0.01>, <1.6, 0.16, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.24, -0.01>, <1.6, 0.24, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.32, -0.01>, <1.6, 0.32, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.4, -0.01>, <1.6, 0.4, -0.01> 0.002 texture {
T_Grnt19b}}
cylinder { <0.0, 0.48, -0.01>, <1.6, 0.48, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.56, -0.01>, <1.6, 0.56, -0.01> 0.002 texture {
T_Grnt19b }}		
cylinder { <0.0, 0.64, -0.01>, <1.6, 0.64, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.72, -0.01>, <1.6, 0.72, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.8, -0.01>, <1.6, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.88, -0.01>, <1.6, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.96, -0.01>, <1.6, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 1.04, -0.01>, <1.6, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 1.12, -0.01>, <1.6, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 1.2, -0.01>, <1.6, 1.2, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.2, 1.2, -0.01>, <1.2, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.36, 1.2, -0.01>, <1.36, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.04, 1.2, -0.01>, <1.04, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.88, 1.2, -0.01>, <0.88, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.72, 1.2, -0.01>, <0.72, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.56, 1.2, -0.01>, <0.56, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.4, 1.2, -0.01>, <0.4, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.24, 1.2, -0.01>, <0.24, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.08, 1.2, -0.01>, <0.08, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.52, 1.2, -0.01>, <1.52, 1.12, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.28, 1.12, -0.01>, <1.28, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.12, 1.12, -0.01>, <1.12, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.44, 1.12, -0.01>, <1.44, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.96, 1.12, -0.01>, <0.96, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.8, 1.12, -0.01>, <0.8, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.64, 1.12, -0.01>, <0.64, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.48, 1.12, -0.01>, <0.48, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.32, 1.12, -0.01>, <0.32, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.16, 1.12, -0.01>, <0.16, 1.04, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.2, 1.04, -0.01>, <1.2, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.36, 1.04, -0.01>, <1.36, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.04, 1.04, -0.01>, <1.04, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.88, 1.04, -0.01>, <0.88, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.72, 1.04, -0.01>, <0.72, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.56, 1.04, -0.01>, <0.56, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.4, 1.04, -0.01>, <0.4, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.24, 1.04, -0.01>, <0.24, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.08, 1.04, -0.01>, <0.08, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.52, 1.04, -0.01>, <1.52, 0.96, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.44, 0.96, -0.01>, <1.44, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.28, 0.96, -0.01>, <1.28, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.12, 0.96, -0.01>, <1.12, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.96, 0.96, -0.01>, <0.96, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.8, 0.96, -0.01>, <0.8, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.64, 0.96, -0.01>, <0.64, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.48, 0.96, -0.01>, <0.48, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.32, 0.96, -0.01>, <0.32, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.16, 0.96, -0.01>, <0.16, 0.88, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.52, 0.88, -0.01>, <1.52, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.36, 0.88, -0.01>, <1.36, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.2, 0.88, -0.01>, <1.2, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.04, 0.88, -0.01>, <1.04, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.88, 0.88, -0.01>, <0.88, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.72, 0.88, -0.01>, <0.72, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.56, 0.88, -0.01>, <0.56, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.4, 0.88, -0.01>, <0.4, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.24, 0.88, -0.01>, <0.24, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.08, 0.88, -0.01>, <0.08, 0.8, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.44, 0.8, -0.01>, <1.44, 0.72, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.28, 0.8, -0.01>, <1.28, 0.72, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.12, 0.8, -0.01>, <1.12, 0.72, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.96, 0.8, -0.01>, <0.96, 0.72, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.64, 0.8, -0.01>, <0.64, 0.72, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.48, 0.8, -0.01>, <0.48, 0.72, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.32, 0.8, -0.01>, <0.32, 0.72, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.04, 0.72, -0.01>, <1.04, 0.64, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.56, 0.72, -0.01>, <0.56, 0.64, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.4, 0.72, -0.01>, <0.4, 0.64, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.96, 0.64, -0.01>, <0.96, 0.56, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.64, 0.64, -0.01>, <0.64, 0.56, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.48, 0.64, -0.01>, <0.48, 0.56, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <1.04, 0.56, -0.01>, <1.04, 0.48, -0.01> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.08, 0.264>, <1.6, 0.08, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.16, 0.264>, <1.6, 0.16, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.24, 0.264>, <1.6, 0.24, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.32, 0.264>, <1.6, 0.32, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.4, 0.264>, <1.6, 0.4, 0.264> 0.002 texture {
T_Grnt19b}}
cylinder { <0.0, 0.48, 0.264>, <1.6, 0.48, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.56, 0.264>, <1.6, 0.56, 0.264> 0.002 texture {
T_Grnt19b }}		
cylinder { <0.0, 0.64, 0.264>, <1.6, 0.64, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.72, 0.264>, <1.6, 0.72, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.8, 0.264>, <1.6, 0.8, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.88, 0.264>, <1.6, 0.88, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.96, 0.264>, <1.6, 0.96, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 1.04, 0.264>, <1.6, 1.04, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 1.12, 0.264>, <1.6, 1.12, 0.264> 0.002 texture {
T_Grnt19b }}
cylinder { <0.0, 0.96, 0.196>, <1.6, 0.96, 0.196> 0.002 pigment { Red }}
cylinder { <0.0, 1.04, 0.196>, <1.6, 1.04, 0.196> 0.002 pigment { Red }}
cylinder { <0.0, 1.12, 0.196>, <1.6, 1.12, 0.196> 0.002 pigment { Red }}
cylinder { <0.0, 1.2, 0.196>, <1.6, 1.2, 0.196> 0.002 pigment { Red }}
}

object { inter_arc }
object { inter_arc translate x*1.6 }

--Library Man  
P.S.  I alternately comment out the different versions of inter_arc for
testing purposes


Post a reply to this message

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