|
|
OK, I was (*gasp*) without the internet most of last week, so I worked on
this scene too long. Anyway, here's my serve-return:
#default {finish {ambient 0}}
camera {
location <-5,7,-20>
look_at 0
}
light_source {
<1,1,-1>*10 color rgb 1
spotlight point_at y*3 radius 15 falloff 25
area_light x*2,y*2,25,25 circular orient adaptive 0
}
plane {
y, 0
pigment {checker color rgb 1, color rgb 0 scale 2}
finish {specular 1 reflection 1/3 diffuse 1}
}
#include "shapes.inc"
#macro rail(tall)
#declare temprail = difference{
object{ Round_Box_Union(<0, 0, 0>, <.25, tall, -.25>, .0125)}
cylinder{<.25, 0, -.25>, <.25, tall, -.25>, .125}
}
object{temprail}
#end
#declare paneltex = material{texture{
finish{diffuse .8 specular .2 reflection .05 ambient 0}
pigment{rgb <1, 1, 1>}
}
}
#declare libcirclea =
union{
difference{
cylinder {0, .25*y, .75+.375}
torus{.75+.375, .125 translate .25*y}
torus{.375+.75, .0125 translate (.125)*y}
torus{.25+.75, .0125 translate (.25)*y}
torus{.125+.75, .0125 translate .25*y}
torus{.75, .0125 translate .125*y}
}
torus{.375+.75-.0125, .0125 translate (.125-.012)*y}
torus{.375+.75-.125-.0125, .0125 translate (.25-.012)*y}
torus{.125+.75+.0125, .0125 translate (.25-.0125)*y}
torus{.75+.0125, .0125 translate (.125-.0125)*y}
}
#declare libcircleb = cylinder {-.01*y, .251*y, .75}
#declare libcirclec = torus{.75, .125 translate .25*y}
#declare libcircled = torus{.125+.75-.0125, .0125 translate (.25-.012)*y}
#declare libcirclee = torus{.75-.0125, .0125 translate (.125-.012)*y}
#declare qfoil = // Four leaves, 3.5 units tall, 3.5 units across.
difference{
union{
object {libcirclea translate -1*x}
object {libcirclea translate 1*x}
object {libcirclea translate -1*z}
object {libcirclea translate 1*z}
}
object {libcircleb translate -1*x}
object {libcircleb translate 1*x}
object {libcircleb translate -1*z}
object {libcircleb translate 1*z}
object {libcirclec translate -1*x}
object {libcirclec translate 1*x}
object {libcirclec translate -1*z}
object {libcirclec translate 1*z}
object {libcircleb}
rotate -90*x
}
#declare panel =
union{
union{
object{qfoil translate 10.875*y}
object{rail(13) translate -2.125*x}
object{rail(13) scale -1*x translate 2.125*x}
object{rail(4.25) scale -1*x rotate 90*z translate 13*y translate
2.125*x}
object{rail(4.25) scale -1*x rotate -90*z translate .25*y translate
-2.125*x }
object{Round_Box_Union(<0, 0, 0>, <1, 13, .1>, .0125) translate
-2.125*x }
object{Round_Box_Union(<1, 0, 0>, <4.25, 13, .1>, .0125) translate
-2.125*x }
scale .5
material{paneltex}
}
}
union{
#declare i=0;
#while (i<1/(2.125/(3.14*30)))
object{panel translate 15*z rotate 180*y+(2.125/(3.14*30))*360*i*y}
#declare i=i+1;
#end
translate <6, 0 ,-10>
}
Post a reply to this message
Attachments:
Download 'pingpongb.jpg' (49 KB)
Preview of image 'pingpongb.jpg'
|
|