This file generates a crown, based on a single segment (1/8th of the whole). This segment is repeated rotating by 45 degrees each time. The floor is reflective, and multiple point lights, as well as a directional light create all the shadows.

Ray File:

SBT-raytracer 1.0

camera {
position=( 5.45747,3.76998,-3.59695 );
viewdir=( -0.764302,-0.392387,0.511737 );
updir=( -0.331679,0.919753,0.209865 );
fov=45;
}
point_light {
position=( 2.47975,3.75486,-4.72242 );
color=( 0.631513,0.625613,1 );
constant_attenuation_coeff= 0.25;
linear_attenuation_coeff = 0.003372407;
quadratic_attenuation_coeff = 0.000045492;
}
point_light {
position=( 7.30154,3.91592,-0.313475 );
color=( 1,1,0.490585 );
constant_attenuation_coeff= 0.25;
linear_attenuation_coeff = 0.003372407;
quadratic_attenuation_coeff = 0.000045492;
}
directional_light {
direction=( -0.764302,-0.392387,0.511737 );
color=( 1,1,1 );
}

rotate( 0,1,0,5.49778714,
translate( 0,0,-1.2, {
scale( 1,1.5,0.2, {
box {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
}

translate( .5,.5,-.5,
polymesh {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
points = ( (0,0,0),(-1,0,0),(-1,0,1),(0,0,1),(-.5,0.866025404,0),(-.5,0.866025404,1) );
faces = ( (0,1,2),(2,3,0),(0,4,3),(4,5,3),(2,5,1),(5,4,1),(0,1,4),(3,5,2) );
})})

scale( .2,1.5,.2,
translate( 2.5,.5,0,
rotate( 1,0,0,1.57079633,
cylinder {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
})))

translate( 0,1.866025404,0,
scale( 0.2,
sphere {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};

}))
}))




rotate( 0,1,0,4.71238898,
translate( 0,0,-1.2, {
scale( 1,1.5,0.2, {
box {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
}

translate( .5,.5,-.5,
polymesh {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
points = ( (0,0,0),(-1,0,0),(-1,0,1),(0,0,1),(-.5,0.866025404,0),(-.5,0.866025404,1) );
faces = ( (0,1,2),(2,3,0),(0,4,3),(4,5,3),(2,5,1),(5,4,1),(0,1,4),(3,5,2) );
})})

scale( .2,1.5,.2,
translate( 2.5,.5,0,
rotate( 1,0,0,1.57079633,
cylinder {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
})))

translate( 0,1.866025404,0,
scale( 0.2,
sphere {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};

}))
}))




rotate( 0,1,0,3.92699082,
translate( 0,0,-1.2, {
scale( 1,1.5,0.2, {
box {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
}

translate( .5,.5,-.5,
polymesh {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
points = ( (0,0,0),(-1,0,0),(-1,0,1),(0,0,1),(-.5,0.866025404,0),(-.5,0.866025404,1) );
faces = ( (0,1,2),(2,3,0),(0,4,3),(4,5,3),(2,5,1),(5,4,1),(0,1,4),(3,5,2) );
})})

scale( .2,1.5,.2,
translate( 2.5,.5,0,
rotate( 1,0,0,1.57079633,
cylinder {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
})))

translate( 0,1.866025404,0,
scale( 0.2,
sphere {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};

}))
}))




rotate( 0,1,0,3.14159265,
translate( 0,0,-1.2, {
scale( 1,1.5,0.2, {
box {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
}

translate( .5,.5,-.5,
polymesh {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
points = ( (0,0,0),(-1,0,0),(-1,0,1),(0,0,1),(-.5,0.866025404,0),(-.5,0.866025404,1) );
faces = ( (0,1,2),(2,3,0),(0,4,3),(4,5,3),(2,5,1),(5,4,1),(0,1,4),(3,5,2) );
})})

scale( .2,1.5,.2,
translate( 2.5,.5,0,
rotate( 1,0,0,1.57079633,
cylinder {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
})))

translate( 0,1.866025404,0,
scale( 0.2,
sphere {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};

}))
}))




rotate( 0,1,0,2.35619449,
translate( 0,0,-1.2, {
scale( 1,1.5,0.2, {
box {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
}

translate( .5,.5,-.5,
polymesh {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
points = ( (0,0,0),(-1,0,0),(-1,0,1),(0,0,1),(-.5,0.866025404,0),(-.5,0.866025404,1) );
faces = ( (0,1,2),(2,3,0),(0,4,3),(4,5,3),(2,5,1),(5,4,1),(0,1,4),(3,5,2) );
})})

scale( .2,1.5,.2,
translate( 2.5,.5,0,
rotate( 1,0,0,1.57079633,
cylinder {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
})))

translate( 0,1.866025404,0,
scale( 0.2,
sphere {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};

}))
}))




rotate( 0,1,0,1.57079633,
translate( 0,0,-1.2, {
scale( 1,1.5,0.2, {
box {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
}

translate( .5,.5,-.5,
polymesh {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
points = ( (0,0,0),(-1,0,0),(-1,0,1),(0,0,1),(-.5,0.866025404,0),(-.5,0.866025404,1) );
faces = ( (0,1,2),(2,3,0),(0,4,3),(4,5,3),(2,5,1),(5,4,1),(0,1,4),(3,5,2) );
})})

scale( .2,1.5,.2,
translate( 2.5,.5,0,
rotate( 1,0,0,1.57079633,
cylinder {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
})))

translate( 0,1.866025404,0,
scale( 0.2,
sphere {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};

}))
}))




rotate( 0,1,0,0.785398163,
translate( 0,0,-1.2, {
scale( 1,1.5,0.2, {
box {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
}

translate( .5,.5,-.5,
polymesh {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
points = ( (0,0,0),(-1,0,0),(-1,0,1),(0,0,1),(-.5,0.866025404,0),(-.5,0.866025404,1) );
faces = ( (0,1,2),(2,3,0),(0,4,3),(4,5,3),(2,5,1),(5,4,1),(0,1,4),(3,5,2) );
})})

scale( .2,1.5,.2,
translate( 2.5,.5,0,
rotate( 1,0,0,1.57079633,
cylinder {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
})))

translate( 0,1.866025404,0,
scale( 0.2,
sphere {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};

}))
}))




translate(0,0,-1.2, {
scale( 1,1.5,0.2, {
box {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
}

translate( .5,.5,-.5,
polymesh {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
points = ( (0,0,0),(-1,0,0),(-1,0,1),(0,0,1),(-.5,0.866025404,0),(-.5,0.866025404,1) );
faces = ( (0,1,2),(2,3,0),(0,4,3),(4,5,3),(2,5,1),(5,4,1),(0,1,4),(3,5,2) );
})})

scale( .2,1.5,.2,
translate( 2.5,.5,0,
rotate( 1,0,0,1.57079633,
cylinder {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};
})))

translate( 0,1.866025404,0,
scale( 0.2,
sphere {
material={
ambient = (.8,.8,.8);
diffuse = (.5,.5,.5);
specular = (.9,.9,.9);
shininess = 20;
};

}))
})

polymesh {
name="";
material={
diffuse=( 0.3,0.3,0.3);
ambient=( 0.2,0.2,0.2);
specular=( 0.6,0.6,0.6);
emissive=( 0,0,0);
shininess=128;
transmissive=( 0,0,0 );
};
points=( ( -7.68088,-1.19552,7.61871 ),( -7.68088,-1.48112,7.61871 ),( 7.55654,-1.48112,7.61871 ),( -7.68088,-1.19552,7.61871 ),( 7.55654,-1.48112,7.61871 ),( 7.55654,-1.19552,7.61871 ),( -7.68088,-1.19552,-7.61871 ),( 7.55654,-1.19552,-7.61871 ),( 7.55654,-1.48112,-7.61871 ),( -7.68088,-1.19552,-7.61871 ),( 7.55654,-1.48112,-7.61871 ),( -7.68088,-1.48112,-7.61871 ),( -7.68088,-1.19552,7.61871 ),( -7.68088,-1.19552,-7.61871 ),( -7.68088,-1.48112,-7.61871 ),( -7.68088,-1.19552,7.61871 ),( -7.68088,-1.48112,-7.61871 ),( -7.68088,-1.48112,7.61871 ),( 7.55654,-1.19552,7.61871 ),( 7.55654,-1.48112,7.61871 ),( 7.55654,-1.48112,-7.61871 ),( 7.55654,-1.19552,7.61871 ),( 7.55654,-1.48112,-7.61871 ),( 7.55654,-1.19552,-7.61871 ),( -7.68088,-1.19552,7.61871 ),( 7.55654,-1.19552,7.61871 ),( 7.55654,-1.19552,-7.61871 ),( -7.68088,-1.19552,7.61871 ),( 7.55654,-1.19552,-7.61871 ),( -7.68088,-1.19552,-7.61871 ),( -7.68088,-1.48112,7.61871 ),( -7.68088,-1.48112,-7.61871 ),( 7.55654,-1.48112,-7.61871 ),( -7.68088,-1.48112,7.61871 ),( 7.55654,-1.48112,-7.61871 ),( 7.55654,-1.48112,7.61871 ) );
faces=( ( 0,1,2),( 3,4,5),( 6,7,8),( 9,10,11),( 12,13,14),( 15,16,17),( 18,19,20),( 21,22,23),( 24,25,26),( 27,28,29),( 30,31,32),( 33,34,35) );
}