EMAIL: zerozerozerozero@wyan.org NAME: Michael Chelmecki TOPIC: MINIMALISM COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. TITLE: Angst in the Paints COUNTRY:United States WEBPAGE: RENDERER USED: povray 3.6 TOOLS USED: IrfanView - convert to JPEG, gamma correct RENDER TIME: 17m 19s HARDWARE USED: AMD K6, Mr. Coffee IMAGE DESCRIPTION: I was taken with the notion of a "minimalist" work of art displayed in a gallery setting full of excessive and pretentious ornamentation. Legitimate students of art history are likely to find the "dorionicoryzantine" columns particularly offensive. The "art work" itself is the most deliberately overly simplistic yet convoluted construct since the introduction of "Trickle Down Economics". Primarily, the image was an excuse to have fun fiddling about with CSG in POV-Ray. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: Straight POV-Ray - Lots of #while loops using basic CSG font used: Liffey Script SF (Baln.ttf), Arial (arial.ttf) 40% "according to plan" - 50% trial and error - 10% lucky accidents Here's the POV source code: (Poorly organized and commented due to last minute finish - sorry) // povray file for minartga - Minamalism, Art Gallery A.K.A. "Angst in the Paints" global_settings { assumed_gamma 2.2 } #include "shapes.inc" sky_sphere { pigment {rgb<.8,.8,1>}} camera { location <5,8, -40> direction <0, 0, 3.4> up <0, 1, 0>right x*image_width/image_height look_at <.70, 4.8, 0>} light_source { <5,15, -15> colour rgb<.8,1,1> }light_source { <-3,15, -15> colour rgb<1,.9,.9> } #declare MGld =texture{ pigment{color rgb<.8,.75,.3> } finish{ambient .05 diffuse .55 reflection .4 phong 1 phong_size 30 metallic} rotate<90,0,0>} #declare BWht =texture{ pigment{color rgb<1,1,1> } finish{ambient .5 diffuse .3 reflection .05 phong 1 phong_size 30 }} #declare BLBl =texture{ pigment{color rgb<.9,.9,1> } finish{ambient .5 diffuse .3 reflection .05 phong 1 phong_size 30 }} #declare BBlk =texture{ pigment{color rgb<.1,.1,.1> } finish{ambient .5 diffuse .3 reflection .05 phong 1 phong_size 10 }} #declare RdPt =texture{ pigment{color rgb<.7,.1,.07> } finish{ambient .4 diffuse .55 reflection .02 phong .2 phong_size 30 }} //Floor box{<-200,0,-200>,<200,-.1,200> texture{pigment{checker rgb<.95,.95,.95> rgb<.8,.9,.8>} finish{ambient .6 diffuse .25 reflection .05}}} cylinder{<-200,.6,0>,<-2.5,.6,0>,.07 texture{BWht}} box{<-200,.6,.1>,<-2.5,-.1,-.07> texture{BWht}} cylinder{< 200,.6,0>,< 2.5,.6,0>,.07 texture{BWht}} box{< 200,.6,.1>,< 2.5,-.1,-.07> texture{BWht}} difference {box{<-500,0,0>,<500,200,20>} cylinder{<0,-.1,0>,<0,7,0>,2.2} #declare dca=-75; #while (dca<80) cylinder{<0,-.1,2.0>,<0,7,2.0>,.3 rotate y*dca} intersection{intersection{sphere{<0,0,0>,2.3} sphere{<0,2.3,0>,2.15 scale<1,1,3>} scale<.32,1,1> translate<0,7,0> rotate y*dca} box{<-9,7.30,.02>,<9,9.15,9>} } #declare dca=dca+15; #end difference{cylinder{<0,7.1,0>,<0,7.2,0>,2.3}box{<-3,-.1,.1>,<3,8,-3>} } sphere{<0,7,0>,2.2} box{<-1,-.1,-1>,<1,7,1> rotate<0,45,0> translate<-.95,0,0>} box{<-1,-.1,-1>,<1,7,1> rotate<0,45,0> translate<.95,0,0>} texture{BWht}} #declare AEP=-90; #while (AEP<90) sphere{<0,0,0>,.05 translate<0,2.26,0> rotate <0,0,AEP> translate <0,7,0> texture{BWht}} #declare AEP=AEP+2; #end #declare AEP=-90; #while (AEP<90) sphere{<0,0,0>,.05 translate<0,3.1,0> rotate <0,0,AEP> translate <0,7,0> texture{BWht}} #declare AEP=AEP+1.47; #end //Central Ornament #declare CPtlA = union{ sphere{<0,0,0>,.05 scale<1,1.7,1> translate <0,.07,0>} sphere{<0,0,0>,.05 scale<1,1.7,1> translate <0,.07,0> rotate<0,0,-25>} sphere{<0,0,0>,.05 scale<1,1.7,1> translate <0,.07,0> rotate<0,0, 25>} } #declare CPtl = difference{object {CPtlA} object {CPtlA scale<.9,.9,.9> translate <0,.001,-.05>}} #declare COrn = union{sphere{<0,0,0>,.02} #declare PPos=0; #while (PPos<360) object {CPtl rotate<0,0,PPos+36>} #declare PPos=PPos+72; #end scale <1.8,1.8,1.4>}//end COrn object{COrn translate <0,9.62,0> texture{BWht}} #declare LVn = union{ #declare VEC=0; #while (VEC<290) sphere{<0,0,0>,.02 scale<2,1,2> translate< .2+.004*VEC,0,0> rotate <0,0,sin(VEC/80)*.07*VEC>} sphere{<0,0,0>,.02 scale<2,1,2> translate<-.2-.004*VEC,0,0> rotate <0,0,-sin(VEC/80)*.07*VEC> } #declare VEC=VEC+1; #end } #declare OPos=24; #while(OPos<90) object{COrn scale <.6,.6,.7> translate<0,2.62,0> rotate<0,0,-OPos> translate <0,7,0> texture{BWht}} object{COrn scale <.6,.6,.7> translate<0,2.62,0> rotate<0,0, OPos> translate <0,7,0> texture{BWht}} object{LVn translate<0,2.62,0> rotate<0,0,-OPos> translate <0,7,0> texture{BWht}} object{LVn translate<0,2.62,0> rotate<0,0, OPos> translate <0,7,0> texture{BWht}} #declare OPos=OPos+18; #end //icanthus leaf #declare iclf = union{ #declare ilma=15; #while (ilma<100) union{sphere{<0,0,0>,.025-.015*sin((ilma-15)/45) } cylinder{<0,0,0>,<.18-.19*(ilma/120),.05,0>,.005} cylinder{<0,0,0>,<-.18+.19*(ilma/120),.05,0>,.005} translate <0,0,.2> rotate <-ilma,0,0>} #declare ilma=ilma+2; #end scale <.7,1.6,.7> } // begin identical column elements #declare idce= union{ box{<-.5,0,-.5>,<.5,.15,.5>} box{<-.5,6.85,-.5>,<.5,7,.5>} box{<-.4,0,-.4>,<.4,.3,.4>} box{<-.4,6.7,-.4>,<.4,7,.4>} union{ #declare szo=0; #while (szo<.96) cylinder{<-.4,.1,-.5+szo>,<-.4,.1,-.5+szo+.12>,.2} cylinder{<.4,.1,-.5+szo>,<.4,.1,-.5+szo+.12>,.2} #declare szo=szo+.2; #end box{<-.4,.3,-.5>,<.4,.1,.5>} #declare isa=0; #declare isr= .19; #while(isa<670) sphere{<0,0,-.52,>,.02 translate<0,isr,0> rotate <0,0,0+isa> translate <-.4,.1,0>} sphere{<0,0,-.52,>,.02 translate<0,isr,0> rotate <0,0,0-isa> translate < .4,.1,0>} #declare isa=isa+.05; #declare isr=isr-.00001; #end cylinder{<-.4,.29,-.52>,<.4,.29,-.52>,.02} cylinder{<-.25,.16,-.52>,<.25,.16,-.52>,.02} cylinder{<0,-.1,0>,<0,.22,0>,.48} translate<0,7.0,0>} union{ #declare ilma=15; #while (ilma<105) union{sphere{<0,0,0>,.025-.015*sin((ilma-15)/45) } cylinder{<0,0,0>,<.2-.19*(ilma/120),.05,0>,.005} cylinder{<0,0,0>,<-.2+.19*(ilma/120),.05,0>,.005} translate <0,0,.2> rotate <-ilma,0,0>} #declare ilma=ilma+2; #end scale <.7,1.6,.7> } #declare iclfa = 0; #while (iclfa<360) object{iclf translate<0,7.28,-.44> rotate<0,iclfa,0> translate<0,-.05,-.12>} object{iclf translate<0,7.28,-.44> rotate<0,iclfa+18,0> translate<0, .15,-.12>} #declare iclfa=iclfa+36; #end cylinder{<0,7,0>,<0,7.34,0>,.34 translate<0,0,-.13>} cone{<0,7,0>,.25,<0,7.72,0>,.32 translate<0,0,-.13>} difference{sphere{<0,0,0>,.4 translate<0,7.9,-.13>}torus{.4,.02 translate<0,7.9,-.13>} #declare llp=0; #while (llp<180) torus{.4,.02 rotate<0,0,90> rotate<0,llp,0> translate<0,7.9,-.13> } #declare llp=llp+22.5; #end} torus{.17,.04 translate<0,8.25 ,-.13>} }//end idce #declare Clmn1 = union{ object{idce} #declare ceh=.15; #while (ceh<6.7) sphere{<0,0,0>,.3 translate<0,ceh,.05> rotate <0,-ceh*850,0>} #declare ceh=ceh+.01; #end texture{BWht}} #declare Clmn2 = union{ object{idce} #declare ceh=.15; #while (ceh<6.7) sphere{<0,0,0>,.3 translate<0,ceh,.05> rotate <0,ceh*850,0>} #declare ceh=ceh+.01; #end texture{BWht}} object{Clmn1 translate<-2.6,0,-.3>} object{Clmn2 translate< 2.6,0,-.3>} #declare Scrl=union{ #declare SCRA=0; #while (SCRA<=720) union{sphere{<0,0,-.6>,.08} sphere{<0,0,.6>,.08} sphere{<0,0,-.5>,.08} sphere{<0,0,.5>,.08}sphere{<0,0,-.4>,.08} sphere{<0,0,.4>,.08} sphere{<0,0,-.3>,.08} sphere{<0,0,.3>,.08}sphere{<0,0,-.2>,.08} sphere{<0,0,.2>,.08} sphere{<0,0,-.1>,.08} sphere{<0,0,.1>,.08}sphere{<0,0,0>,.08} translate <0,SCRA*.00035,0> rotate <0,0,SCRA>} union{cylinder{<0,0,-.6-SCRA*.0006>,<0,0,.6+SCRA*.0006>,.06} sphere{<0,0,-.6-SCRA*.0006>,.06} sphere{<0,0,.6+SCRA*.0006>,.06} translate <0,720*.00035,0> rotate <0,0,720> translate<-.0016*SCRA,0,0>} #declare SCRA=SCRA+1; #end texture{BWht}} #declare Cap = union{object{Scrl translate<1.2,4.5,0> rotate<0,30,0>}object{Scrl translate<1.2,4.5,0> rotate<0,150,0>} object{Scrl translate<1.2,4.5,0> rotate<0,270,0>} } object{Cap} object{Cap translate <0,-4.27,0>} torus{1.0,.15 translate <0,4.6,0> texture{BWht}} torus{.95,.15 translate <0,4.4,0> texture{BWht}} torus{1.0,.15 translate <0,.33,0> texture{BWht}} torus{.95,.15 translate <0,.13,0> texture{BWht}} #declare MSI=.2; #declare MSP=MSI*-3; #while (MSP<=MSI*3) #declare PMP=30; #while (PMP<=270) difference{ intersection{box{<0,0,-.1>,<1.2,4,.1>}sphere{<0,0,0>,.62 scale <1,5.2,.3> translate<.6,2,0>}} sphere{<0,0,0>,.62 scale <.7,6.55,.55> translate<1.2,4,0>} translate <0,.5,MSP> rotate<0,PMP,0> texture{BWht}} #declare PMP=PMP+120; #end #declare MSP=MSP+MSI; #end //Sign cylinder{<.9,0,0>,<.9,4.6,0>,.1 rotate<0,90,0> texture{BWht} } cylinder{<.9,0,0>,<.9,4.6,0>,.1 rotate<0,210,0> texture{BWht} } cylinder{<.9,0,0>,<.9,4.6,0>,.1 rotate<0,330,0> texture{BWht} } difference{ box{<-.78,-1.2,-.1>,<.78,1.2,.1> texture{MGld} } box{<-.69,-1.10,-.2>,<.69,1.10,-.05> texture{BLBl} } #declare FDA=0; #while(FDA<180) cylinder{<-2,0,-.1>,<2,0,-.1>,.04 rotate<0,0,FDA>texture{MGld}} #declare FDA=FDA+5; #end translate <4,4.8,0>} //Sign text text { ttf "Baln.ttf" "L'essense" .8, 0 scale<.44,.35,.2> translate <3.45,5.55,-.07> texture{BBlk}} text { ttf "Baln.ttf" "de L'angst" .8, 0 scale<.38,.35,.2> translate <3.4,5.25,-.07> texture{BBlk}} text { ttf "Baln.ttf" "Existencial" .8, 0 scale<.41,.35,.2> translate <3.4,4.95,-.07> texture{BBlk}} text { ttf "Baln.ttf" "par" .8, 0 scale<.41,.35,.2> translate <3.7,4.7,-.07> texture{BBlk}} text { ttf "Baln.ttf" "Guy Bubon" .8, 0 scale<.35,.35,.2> translate <3.4,4.35,-.07> texture{BBlk}} text { ttf "Baln.ttf" "25,000" .8, 0 scale<.37,.35,.2> translate <3.7,3.9,-.07> texture{BBlk}} text { ttf "Arial.ttf" "C" .8, 0 scale<.25,.27,.2> translate <3.46,3.88,-.07> texture{BBlk}} //Fudge Euro Currency Symbol (Non ASCII Character in most fonts) box{<-.07,-.015,0>,<.07,.015,.2> translate <3.5,3.995,-.07>texture{BBlk}} box{<-.07,-.015,0>,<.07,.015,.2> translate <3.5,3.95,-.07>texture{BBlk}} //Easel union{ cylinder{<0,0,0>,<0,-3.0,0>.05 texture{MGld}} cone{<0,-2.99,0>,.07,<0,-3.2,0>.02 texture{BBlk} } rotate <0,0,20> rotate<0,30,0> translate<0,7.8,0> } union{ cylinder{<0,0,0>,<0,-3.0,0>.05 texture{MGld}} cone{<0,-2.99,0>,.07,<0,-3.2,0>.02 texture{BBlk} } rotate <0,0,20> rotate<0,150,0> translate<0,7.8,0> } union{ cylinder{<0,0,0>,<0,-3.0,0>.05 texture{MGld}} cone{<0,-2.99,0>,.07,<0,-3.2,0>.02 texture{BBlk} } rotate <0,0,20> rotate<0,270,0> translate<0,7.8,0> } difference{cylinder{<-1.2,0,0>,<1.2,0,0>,.12} cylinder{<-2,.06,-.06>,<2,.06,-.06>,.08} texture{MGld} translate <0,5.5,-.5>} //"Painting" union{box{<-1,0,0>,<1,2.5,-.13>texture{BWht} } #declare SMA=-70; #while (SMA<=75) sphere{<0,0,0>,.06 scale <1,1,.05> translate <0,.65+.03*sin(SMA/3)*cos(SMA/7),-.13> rotate<0,0,SMA> translate <0,.4,0>texture{RdPt}} #declare SMA=SMA+2; #end #declare SMA=-180; #while (SMA<=180) sphere{<0,0,0>,.06 scale <1,1,.05> translate <0,.12+.008*sin(SMA/3)*cos(SMA/7),-.13> rotate<0,0,SMA> translate <-.3,1.6,0>texture{RdPt}} #declare SMA=SMA+10; #end #declare SMA=-180; #while (SMA<=180) sphere{<0,0,0>,.06 scale <1,1,.05> translate <0,.13+.007*sin(SMA/7)*cos(SMA/2),-.13> rotate<0,0,SMA> translate <.35,1.55,0>texture{RdPt}} #declare SMA=SMA+10; #end rotate<11,0,0> translate <0,5.5,-.5> }