POV-Ray : Newsgroups : povray.binaries.images : Ping Pong Swimming Pool : Re: Ping Pong Swimming Pool Server Time
1 Aug 2024 16:32:02 EDT (-0400)
  Re: Ping Pong Swimming Pool  
From: Thomas de Groot
Date: 25 May 2008 11:12:33
Message: <483981e1@news.povray.org>
I couldn't stop myself  :-)

Thomas


#default {finish {ambient 0}}

// Units are in feet.
#declare inch=1/12;
#declare inches=inch;

camera {
location <25,6,-10>
look_at 0
right  x*image_width/image_height //added by Thomas de Groot 5/25/2008
// angle 10
}

// The grounds
difference {
plane {y, 0}
box {<-14,-16,-20>,<14,1,20>}
pigment {color rgb 1}
}

#declare garden_light = union {
cylinder {0, y*4*inches, 1/2*inches}
torus {4*inches, inch/4 translate y*4*inches}
torus {4*inches, inch/4 translate y*6*inches}
torus {4*inches, inch/4 translate y*8*inches}
cone {y*8.25*inches, 4*inches, y*9*inches, 2*inches}
cylinder {y*4*inches, y*8*inches, inch/4 translate z*4*inches rotate y*045}
cylinder {y*4*inches, y*8*inches, inch/4 translate z*4*inches rotate y*135}
cylinder {y*4*inches, y*8*inches, inch/4 translate z*4*inches rotate y*225}
cylinder {y*4*inches, y*8*inches, inch/4 translate z*4*inches rotate y*315}
cylinder {-z*4*inches,z*4*inches, inch/4 translate y*4*inches rotate y*045}
cylinder {-z*4*inches,z*4*inches, inch/4 translate y*4*inches rotate y*-45}
light_source {
y*6*inches color rgb <6,5,4>/6
area_light x*inch,y*inch,15,15
adaptive 1
circular orient
fade_distance 4
fade_power 2
looks_like {
sphere{
0, inch
pigment {color rgb <6,5,4>/5}
finish {ambient 1}
}
}
}
texture {
pigment {color rgb 0}
finish {specular 1}
}
}

#declare c = -22;
#while (c <= 22)
object {garden_light translate <-16,0,c>}
object {garden_light translate < 16,0,c>}
#declare c = c + 11;
#end

#declare c = -7;
#while (c <= 7)
object {garden_light translate <c,0,-22>}
object {garden_light translate <c,0, 22>}
#declare c = c + 7;
#end

// The pool itself
difference {
box {<-14,-16,-20>,<14,0,20>}
box {<-9,-15,-15>, <9,1,15>}
texture {
pigment {color rgb 1}
normal {bumps scale 1/(12*50)}
}
}

#declare tile = intersection {
box {<1/4-6,0,1/4-6>*inches,<6-1/4,1/4,6-1/4>*inches}
union {
#declare corner = <6-1/2,0,6-1/2>*inches;
sphere {corner, inch/4}
sphere {corner*<1,0,-1>, inch/4}
sphere {corner*<-1,0,1>, inch/4}
sphere {corner*<-1,0,-1>, inch/4}
cylinder {corner, corner*<1,0,-1>, inch/4}
cylinder {corner, corner*<-1,0,1>, inch/4}
cylinder {corner*<-1,0,-1>, corner*<1,0,-1>, inch/4}
cylinder {corner*<-1,0,-1>, corner*<-1,0,1>, inch/4}
box {corner, corner*<-1,0,-1>+y}
}
texture {
pigment {
gradient z
color_map {
[0.0 color rgb 0]
[0.2 color rgb y/4]
[0.5 color rgb z/2]
[1.0 color rgb z/3]
}
turbulence 2.5
}
finish {specular 1}
scale 1/2
}
}

#declare c = -14.5;
#while (c <= 14.5)
object {tile rotate -z*90 translate <-9,-6*inches,c>}
object {tile rotate -z*90 translate <-9,-18*inches,c>}
object {tile rotate -z*90 translate <-9,-30*inches,c>}
object {tile              translate <-9.5,0,c>}
object {tile              translate <-10.5,0,c>}
object {tile              translate <-11.5,0,c>}

object {tile rotate z*90 translate <9,-6*inches,c>}
object {tile rotate z*90 translate <9,-18*inches,c>}
object {tile rotate z*90 translate <9,-30*inches,c>}
object {tile             translate <9.5,0,c>}
object {tile             translate <10.5,0,c>}
object {tile             translate <11.5,0,c>}
#declare c = c + 1;
#end

#declare c = -8.5;
#while (c <= 8.5)
object {tile rotate -x*90 translate <c,-6*inches,15>}
object {tile rotate -x*90 translate <c,-18*inches,15>}
object {tile rotate -x*90 translate <c,-30*inches,15>}
object {tile              translate <c,0,15.5>}
object {tile              translate <c,0,16.5>}
object {tile              translate <c,0,17.5>}

object {tile rotate x*90 translate <c,-6*inches,-15>}
object {tile rotate x*90 translate <c,-18*inches,-15>}
object {tile rotate x*90 translate <c,-30*inches,-15>}
object {tile             translate <c,0,-15.5>}
object {tile             translate <c,0,-16.5>}
object {tile             translate <c,0,-17.5>}
#declare c = c + 1;
#end

#declare c1 = 0;
#while (c1 < 3)
#declare c2 = 0;
#while (c2 < 3)
object {tile translate <9.5+c1, 0, 15.5+c2>}
object {tile translate <9.5+c1, 0, 15.5+c2> scale < 1,1,-1>}
object {tile translate <9.5+c1, 0, 15.5+c2> scale <-1,1, 1>}
object {tile translate <9.5+c1, 0, 15.5+c2> scale <-1,1,-1>}
#declare c2 = c2 + 1;
#end
#declare c1 = c1 + 1;
#end

#declare pool_light = union {
difference {
sphere {0, 1/2}
sphere {0, 9/20}
texture {
pigment {color transmit 1}
finish {specular 1}
}
interior {
ior 1.5
}
scale <1,1/4,1>
}
light_source {
y/16
color rgb 1
fade_distance 1/2
fade_power 2
}
}

#declare c = -12.5;
#while (c <= 12.5)
object {pool_light rotate -z*90 translate <-9,-4,c>}
object {pool_light rotate -z*90 translate <-9,-12,c>}
object {pool_light rotate z*90 translate <9,-4,c>}
object {pool_light rotate z*90 translate <9,-12,c>}
#declare c = c + 8;
#end

#declare c = -8;
#while (c <= 8)
object {pool_light rotate x*-90 translate <c,-4,15>}
object {pool_light rotate x*-90 translate <c,-12,15>}
object {pool_light rotate x*90 translate <c,-4,-15>}
object {pool_light rotate x*90 translate <c,-12,-15>}
#declare c = c + 8;
#end

// water
plane {
y, -6*inches
texture {
pigment {color transmit 1}
finish {specular 1/2 reflection 1/4}
normal {ripples 1/16 scale 2.5}
}
interior {ior 4/3}
}

// beachball added by Thomas de Groot 5/25/2008:
sphere {
  <0,0.25,0>, 1
  texture {
    pigment {
      radial
      frequency 8
      color_map {
        [0.00 color rgb <1.0,0.4,0.2> ]
        [0.33 color rgb <0.2,0.4,1.0> ]
        [0.66 color rgb <0.4,1.0,0.2> ]
        [1.00 color rgb <1.0,0.4,0.2> ]
      }
    }
    finish{
      specular 0.3
    }
  }
  scale 1
  rotate <70, 10, 53>
  translate <-3, -6*inches, -2.5>
}
// end of beachball


Post a reply to this message


Attachments:
Download 'PinPong.png' (306 KB)

Preview of image 'PinPong.png'
PinPong.png


 

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