Boolean Ring

// Pov-RAY Program, Boolean Ring 

#include "colors.inc"

background { color White*0.95 }
camera { orthographic
location <3, 8, -10>
look_at <3, 0, -1>
}

light_source { <2, 4, -3> color White}

#declare sp = 0.41 ; //space between cells

#declare Iz = 0;
#while(Iz <= 7)

#declare Index = 0;
#while(Index <= 7)
#declare ci = bitwise_xor(Index, Iz)/4 ; // color index
superellipsoid { <0.5, 0.5> // 1= circle, 0 = squqre
pigment {Red*ci}
scale <sp, 0.1, sp>
translate <Index,0,Iz>
}
#declare Index = Index + 1;
#end
#declare Iz = Iz + 1;
#end

#declare Iz = 0;
#while(Iz <= 7)

#declare Index = 0;
#while(Index <= 7)
#declare ci = bitwise_and(Index, Iz)/4 ; // color index
superellipsoid { <0.5, 0.5> // 1= circle, 0 = squqre
pigment {Red*ci}
scale <sp, 0.1, sp>
translate <Index,0,Iz-8.5>
}
#declare Index = Index + 1;
#end
#declare Iz = Iz + 1;
#end