The Sheep and the Goats
Render time: 00d06h2m29s


Click the above for a screen-size jpeg of the image.
Click here for the 3.75MB original

This is my first composition, and doesn't have much technical depth to it - the notes accompanying it are for me to help me adjust it at a later date, should I wish to, rather than a discursion for the casual reader.

Construction
     It is based on a collection of primitive tori and cylinders against a backdrop of Starfield1. If you examine the code, three tori are merged into a single shape (Shape_Out), eight of these are then combined with eight 3D-crosses made of similarly merged cylinders (Shape_In) (to give Cube).  The various translate and rotate arguments are to keep the centre of the shape at the origin - each declared shape is centred by default. Textures are declared in Shape_Out and Shape_In.
     The generating code then builds up a cross out of Cubes (note that they overlap invisibly at the base of the cross). They are then merged and translated to the point locus (which is centred on the centre part of the crossbar). As a background, a plane textured with Starfield1.

Context
     I was originally going to build up a second cube of 26 Cubes (three by three by three, with no centre), and set up a Swiss cross to check I was getting my positioning correct (I wasn't). It struck me then that a long cross would be rather more aesthetically pleasing than a monolithic cube, where the lightness of the shape is lost. While coding this, various subconscious musings about the cross as a stylised human and it's significance in Christina mythology, as well as the wish to make a slightly deeper piece than a simple cross in the centre of the foreground combined into my final design plan.
     The Sheep and the Goats refers of course to the parable of the same name from Matthew 25:31-46. If you look at the picture first, it is clearly enough a super-human figure, towering over the viewer. The stark dark starscape evokes the end of the world (in that I think I was rather influenced by the ending of the world in The Last Battle by C.S. Lewis).  Looking deeper, you observe that the viewer is positioned well to the figure's left , and that the only light source in the image is coming from near the viewer (exactly where the viewer is, actually), rather subtly subverting a piece of Christian iconography.


The POV-Ray code used to generate the image is as follows (it uses standard v3.6 includes only). it may not be the most efficient implementation, but it works:


#include "colors.inc"
#include "metals.inc"
#include "stars.inc"

#declare Major = .345 ;
#declare Minor = .010 ;
#declare Locus = <0,(4*Major)-.08,7.5>;
#declare Origin = <0,0,0>;
#declare Camera = <1.5*Major,0,0>;
#declare Vanish_Point = <0,0,1000>;
#declare Rotate = <000,000,000>;
#declare Bands = merge {
torus { Major, Minor rotate <000,000,090> }
torus { Major, Minor rotate <090,000,090> }
torus { Major, Minor rotate <000,000,000> } } ;
#declare Bars = merge {
cylinder { <0,0,-Major> , <0,0,Major>, Minor rotate <000,000,090> }
cylinder { <0,0,-Major> , <0,0,Major>, Minor rotate <090,000,000> }
cylinder { <0,0,-Major> , <0,0,Major>, Minor rotate <000,090,000> }
} ;
#declare Shape_Out = merge { object { Bands rotate <045,000,000>} object { Bands rotate <000,045,000>} object { Bands rotate <000,000,045>} } ;
#declare Shape_In = merge { object { Bars rotate <045,000,000>} object { Bars rotate <000,045,000>} object { Bars rotate <000,000,045>} } ;
#declare Cube = union {
merge { object {Shape_Out translate <0, 0 ,0>}
object {Shape_Out translate <0, 2*Major ,0>}
object {Shape_Out translate <2*Major, 0 ,0>}
object {Shape_Out translate <2*Major, 2*Major ,0>}
object {Shape_Out translate <0, 0 ,2*Major>}
object {Shape_Out translate <0, 2*Major ,2*Major>}
object {Shape_Out translate <2*Major, 0 ,2*Major>}
object {Shape_Out translate <2*Major, 2*Major ,2*Major>}
texture { T_Silver_4D } }
// pigment { Blue } }
merge {object {Shape_In translate <0, 0 ,0>}
object {Shape_In translate <0, 2*Major ,0>}
object {Shape_In translate <2*Major, 0 ,0>}
object {Shape_In translate <2*Major, 2*Major ,0>}
object {Shape_In translate <0, 0 ,2*Major>}
object {Shape_In translate <0, 2*Major ,2*Major>}
object {Shape_In translate <2*Major, 0 ,2*Major>}
object {Shape_In translate <2*Major, 2*Major ,2*Major>}
texture { T_Brass_3E scale .4} }
translate <-Major,-Major,-Major> }

////////////////////////////////////////////////////////////////
camera { location Camera look_at Vanish_Point }
light_source { Camera color rgb <1, 1, 1> }
////////////////////////////////////////////////////////////////

plane { <0, 0, 1>, 50 texture { Starfield1 } }
merge { object {Cube }
object {Cube translate <-4*Major,0,0> }
object {Cube translate <4*Major,0,0> }
object {Cube translate <0,-4*Major,0> }
object {Cube translate <0,4*Major,0> }
object {Cube translate <0,-8*Major,0> }
object {Cube translate <0,-10*Major,0> }
translate Locus rotate Rotate }