#include "colors.inc" #include "textures.inc" #include "shapes.inc" #include "stones.inc" camera { location <0.0, 0.0, -10.0> up <0.0, 1.0, 0.0> right <4/3, 0.0, 0.0> direction <0.0, 0.0, 1.0> look_at <0.0, 0.0, 0.0> } light_source { <10.0, 5.0, -30.0> color White } //light_source { <-10.0, -5.0, -30.0> color White } #declare Column_Cutout = union { cylinder { <0.0, 3.45, -1.0>, <0.0, -3.45, -1.0>, .1 } sphere { <0.0, 3.45, -1.0>, .1 } sphere { <0.0, -3.45, -1.0>, .1 } } #declare Column_Ball = sphere { <0.0, 0.0, -1.0>, .1 } #declare Column_Shaft = difference { cylinder { <0.0, 4.0, 0.0>, <0.0, -4.0, 0.0>, 1 } object { Column_Cutout } object { Column_Cutout translate <1.0, 0.0, 1.0> } object { Column_Cutout translate <-1.0, 0.0, 1.0> } object { Column_Cutout translate <0.0, 0.0, 2.0> } object { Column_Cutout translate } object { Column_Cutout translate } object { Column_Cutout translate <-sin( radians( 30.0 ) ), 0.0, 1-cos( radians( 30.0 ) )> } object { Column_Cutout translate <-sin( radians( 60.0 ) ), 0.0, 1-cos( radians( 60.0 ) )> } object { Column_Cutout translate } object { Column_Cutout translate } object { Column_Cutout translate <-sin( radians( 30.0 ) ), 0.0, 1+cos( radians( 30.0 ) )> } object { Column_Cutout translate <-sin( radians( 60.0 ) ), 0.0, 1+cos( radians( 60.0 ) )> } } #declare Column = union { object { Column_Shaft } object { Column_Ball translate } object { Column_Ball translate } object { Column_Ball translate } object { Column_Ball translate <-sin( radians( 15.0 ) ), 3.75, 1-cos( radians( 15.0 ) )> } object { Column_Ball translate <-sin( radians( 45.0 ) ), 3.75, 1-cos( radians( 45.0 ) )> } object { Column_Ball translate <-sin( radians( 75.0 ) ), 3.75, 1-cos( radians( 75.0 ) )> } object { Column_Ball translate } object { Column_Ball translate } object { Column_Ball translate } object { Column_Ball translate <-sin( radians( 15.0 ) ), -3.75, 1-cos( radians( 15.0 ) )> } object { Column_Ball translate <-sin( radians( 45.0 ) ), -3.75, 1-cos( radians( 45.0 ) )> } object { Column_Ball translate <-sin( radians( 75.0 ) ), -3.75, 1-cos( radians( 75.0 ) )> } object { Column_Ball translate } object { Column_Ball translate } object { Column_Ball translate } object { Column_Ball translate <-sin( radians( 15.0 ) ), 3.75, 1+cos( radians( 15.0 ) )> } object { Column_Ball translate <-sin( radians( 45.0 ) ), 3.75, 1+cos( radians( 45.0 ) )> } object { Column_Ball translate <-sin( radians( 75.0 ) ), 3.75, 1+cos( radians( 75.0 ) )> } object { Column_Ball translate } object { Column_Ball translate } object { Column_Ball translate } object { Column_Ball translate <-sin( radians( 15.0 ) ), -3.75, 1+cos( radians( 15.0 ) )> } object { Column_Ball translate <-sin( radians( 45.0 ) ), -3.75, 1+cos( radians( 45.0 ) )> } object { Column_Ball translate <-sin( radians( 75.0 ) ), -3.75, 1+cos( radians( 75.0 ) )> } } #declare Column_Base1 = difference { box { <-1.5, 0.0, -1.5>, <1.5, 0.25, 1.5> } cylinder { <-1.5, 0.0, -1.5>, <1.5, 0.0, -1.5>, .1 } cylinder { <1.5, 0.0, -1.5>, <1.5, 0.0, 1.5>, .1 } cylinder { <1.5, 0.0, 1.5>, <-1.5, 0.0, 1.5>, .1 } cylinder { <-1.5, 0.0, 1.5>, <-1.5, 0.0, -1.5>, .1 } } #declare Base2_Cutout = union { box { <-2.08333, 0.0, -.1>, <(-2.08333 + (1/6)), 0.25, 0.0> } box { <(-2.08333 + (1/6)), 0.0, -0.05>, <(-2.08333 + (2/6)), 0.375, 0.05> } box { <(-2.08333 + (2/6)), 0.0, -0.05>, <(-2.08333 + (3/6)), 0.25, 0.05> } box { <(-2.08333 + (3/6)), 0.0, -0.05>, <(-2.08333 + (4/6)), 0.375, 0.05> } box { <(-2.08333 + (4/6)), 0.0, -0.05>, <(-2.08333 + (5/6)), 0.25, 0.05> } box { <(-2.08333 + (5/6)), 0.0, -0.05>, <(-2.08333 + (6/6)), 0.375, 0.05> } box { <(-2.08333 + (6/6)), 0.0, -0.05>, <(-2.08333 + (7/6)), 0.25, 0.05> } box { <(-2.08333 + (7/6)), 0.0, -0.05>, <(-2.08333 + (8/6)), 0.375, 0.05> } box { <(-2.08333 + (8/6)), 0.0, -0.05>, <(-2.08333 + (9/6)), 0.25, 0.05> } box { <(-2.08333 + (9/6)), 0.0, -0.05>, <(-2.08333 + (10/6)), 0.375, 0.05> } box { <(-2.08333 + (10/6)), 0.0, -0.05>, <(-2.08333 + (11/6)), 0.25, 0.05> } box { <(-2.08333 + (11/6)), 0.0, -0.05>, <(-2.08333 + (12/6)), 0.375, 0.05> } box { <(-2.08333 + (12/6)), 0.0, -0.05>, <(-2.08333 + (13/6)), 0.25, 0.05> } box { <(-2.08333 + (13/6)), 0.0, -0.05>, <(-2.08333 + (14/6)), 0.375, 0.05> } box { <(-2.08333 + (14/6)), 0.0, -0.05>, <(-2.08333 + (15/6)), 0.25, 0.05> } box { <(-2.08333 + (15/6)), 0.0, -0.05>, <(-2.08333 + (16/6)), 0.375, 0.05> } box { <(-2.08333 + (16/6)), 0.0, -0.05>, <(-2.08333 + (17/6)), 0.25, 0.05> } box { <(-2.08333 + (17/6)), 0.0, -0.05>, <(-2.08333 + (18/6)), 0.375, 0.05> } box { <(-2.08333 + (18/6)), 0.0, -0.05>, <(-2.08333 + (19/6)), 0.25, 0.05> } box { <(-2.08333 + (19/6)), 0.0, -0.05>, <(-2.08333 + (20/6)), 0.375, 0.05> } box { <(-2.08333 + (20/6)), 0.0, -0.05>, <(-2.08333 + (21/6)), 0.25, 0.05> } box { <(-2.08333 + (21/6)), 0.0, -0.05>, <(-2.08333 + (22/6)), 0.375, 0.05> } box { <(-2.08333 + (22/6)), 0.0, -0.05>, <(-2.08333 + (23/6)), 0.25, 0.05> } box { <(-2.08333 + (23/6)), 0.0, -0.05>, <(-2.08333 + (24/6)), 0.375, 0.05> } box { <(-2.08333 + (24/6)), 0.0, -0.05>, <(-2.08333 + (25/6)), 0.25, 0.05> } } #declare Column_Base2 = difference { box { <-2.08333, 0.0, -2.08333>, <2.08333, 0.5, 2.08333> } object { Base2_Cutout translate <0.0, 0.0, -2.13333> } } object { Column_Base2 texture { T_Stone1 } finish { roughness .01 specular .75 } rotate <0.0, 0.0 0.0> }