Badminton
/* Badminton racket
* James Kermode October 1999
* Scale: 1 unit = 1 cm
*/
#include "colors.inc"
background { color White }
camera
{
location <0,-9,-70>
look_at <0,-9,0>
}
light_source
{
<-5,0,-10>
color White
}
#declare BadmintonRacketHead = union
{
torus
{
10,0.4
rotate 90*x
pigment
{
gradient y
color_map {[0.0 Silver][0.2 Black][0.3 Blue][0.8 Silver]}
scale <1,24.5,1>
translate <0,-10,0>
}
finish
{
metallic
phong 1
}
}
scale <1,1.225,1>
}
#declare BadmintonRacketStrings = union
{
#declare String = -20;
#while (String < 20)
cylinder
{
<String,-15,0>,<String,15,0>,0.05
pigment { Black }
}
cylinder
{
<-10,String,0>,<10,String,0>,0.05
pigment { Black }
}
#declare String = String + 1;
#end
clipped_by { cylinder { <0,0,-0.1>,<0,0,0.1>,10 scale <1,1.225,1> } }
}
#declare BadmintonRacketStem = union
{
cone
{
<0,0,0>,0.7
<0,-21.5,0>,0.5
}
pigment
{
gradient y
color_map {[0.0 Silver][0.6 Silver][1.0 Gray10] }
scale <1,21.5,1>
}
finish
{
metallic
phong 1
}
}
#declare BadmintonRacketHandle = union
{
cone
{
<0,4.5,0>,0.7
<0,0,0>,1.5
pigment { color Black }
finish { specular 0.9 roughness 0.02 }
}
cone
{
<0,0.5,0>,1.45
<0,-0.5,0>,1.55
pigment { color Black }
finish { phong 1 }
}
cylinder
{
<0,0,0>,<0,-15,0>,1.5
pigment
{
gradient y
color_map { [0.0 Gray20][0.95 Gray40]}
rotate z*15
scale <1,2,1>
}
finish { specular 0.1 roughness 0.8 diffuse 0.5 }
normal { bumps 1 }
}
cone
{
<0,-15,0>,1.5
<0,-16>,1.6
pigment { color Black }
finish { phong 1 }
}
scale <1.2,1,1>
}
#declare BadmintonRacket = union
{
object { BadmintonRacketHead translate <0,12.5,0> }
object { BadmintonRacketStrings translate <0,12.5,0> }
object { BadmintonRacketStem translate <0,0,0> }
object { BadmintonRacketHandle translate <0,-26,0> }
}
object { BadmintonRacket }