12 anelli orizzontali
Gli anelli sono distribuiti nel piano con un angolo di 30°

#include "colors.inc"
#declare gradi=0;
#while(gradi < 360)
torus
{
1, 0.25
pigment{ color Yellow }
translate <+5,0,0>
rotate <0,gradi,0>
}
#declare gradi=gradi+30;
#end
light_source{
<0,+5,-12>,
color White
}
camera{
location <0,+5,-12>
look_at <0,-1,0>
}
12 anelli verticali
Gli anelli sono ruotati opportunamente per disporli in verticale.
Osserva lo sfasamento di -15° rispetto alla serie precedente…

#include "colors.inc"
#declare gradi=-15;
#while(gradi < 360)
torus
{
1, 0.25
pigment{ color Cyan }
rotate <90,90,0>
translate <+5,0,0>
rotate <0,gradi,0>
}
#declare gradi=gradi+30;
#end
light_source{
<0,+5,-12>,
color White
}
camera{
location <0,+5,-12>
look_at <0,-1,0>
}
Catena
Sovrapponendo le due serie di anelli si ottiene la catena.

#include "colors.inc"
#declare gradi1=0;
#declare gradi2=-15;
#while(gradi1 < 360)
torus
{
1, 0.25
pigment{ color Yellow }
translate <+5,0,0>
rotate <0,gradi1,0>
}
#declare gradi1=gradi1+30;
torus
{
1, 0.25
pigment{ color Cyan }
rotate <90,90,0>
translate <+5,0,0>
rotate <0,gradi2,0>
}
#declare gradi2=gradi2+30;
#end
light_source{ <0,+5,-12>, color White }
camera{ location <0,+5,-12> look_at <0,-1,0> }
Catena di 24 anelli
Il codice si può semplificare ulteriormente ruotando il singolo anello di 90° a ogni passo.

#include "colors.inc"
#declare gradi=0;
#declare angolo=0;
#while(gradi < 360)
torus
{
1, 0.25
pigment{ color White
rotate<angolo,angolo,0>
translate<+5,0,0>
rotate<0,gradi,0>
}
#declare gradi=gradi+15;
#declare angolo=angolo+90;
#end
light_source{ <0,+5,-12>, color White }
camera { location<0,+5,-12> look_at<0,-1,0> }