#include "colors.inc" // Standard Color definitions #include "textures.inc" // Standard Texture definitions #include "CONSTS.INC" // Various constants and alias definitions #include "FINISH.INC" // Some basic finishes #include "GLASS.INC" // Glass textures #include "GOLDS.INC" // Gold textures #include "METALS.INC" // Metallic pigments, finishes, and textures #include "RAD_DEF.INC" // Some common radiosity settings #include "SHAPES.INC" // Standard objects from POV-Ray's earlier days #include "SHAPES2.INC" // Useful, but seldom used shapes #include "SHAPESQ.INC" // Pre-defined quartic shapes #include "STONES.INC" // Binding include-file for STONES1 and STONES2 #include "STONES1.INC" #include "WOODS" global_settings { adc_bailout 0.003 ambient_light <1.2,1.2,1.2> assumed_gamma 1.5 irid_wavelength <0.25, 0.18, 0.14> max_intersections 64 max_trace_level 32 number_of_waves 10 } background { color SkyBlue } // An area light (creates soft shadows) // WARNING: This special light can significantly slow down rendering times! light_source { 0*x // light's position (translated below) color rgb 1.0 // light's color // nLightsWide mLightsHigh area_light <4, 0, 0> <0, 0, 4> // lights spread out across this distance (x * z) 4, 4 // total number of lights in grid (4x*4z = 16 lights) adaptive 0 // 0,1,2,3... jitter // adds random softening of light translate <7, 30, -40> // position of light } // create a point "spotlight" (cylindrical directed) light source light_source { 0*x // light's position (translated below) color rgb <1,1,1> // light's color spotlight // this kind of light source cylinder // this variation translate <7, 30, -30> // position of light point_at <7, 0, 3> // direction of spotlight radius 30 // hotspot (inner, in degrees) tightness 50 // tightness of falloff (1...100) lower is softer, higher is tighter falloff 8 // intensity falloff radius (outer, in degrees) } // create a point "spotlight" (conical directed) light source light_source { 0*x // light's position (translated below) color rgb <1,1,1> // light's color spotlight // this kind of light source translate <10, 10, -10> // position of light point_at <0, 0.5, 0> // direction of spotlight radius 3 // hotspot (inner, in degrees) tightness 50 // tightness of falloff (1...100) lower is softer, higher is tighter falloff 5 // intensity falloff radius (outer, in degrees) } // set viewer's position in the scene camera { location <.9, 1,-15> // position of camera look_at <0,.9,30> // point center of view at this point angle 10 } #declare gitaar = union { #declare gbodyform = prism { cubic_spline 0, 0.12, 19, <-.15,-0.01>, < 0.0, 0.0>, <.05,.001>, <.15,.04> <.19,0.13>, <.145,.25>, <.13, .32>, <.145,0.42>, <.11,.48>, < 0,.5>, <-.11,.48>, <-.145,0.42>, <-.13, .32>, <-.145,.25>, <-.19,0.13>, <-.15,.04> , <-.05,.001>, <0, 0.0> , <.15,-0.01> texture {pigment {color Black} finish {reflection .2 specular .3 roughness .02}} normal {bumps 0.3 } sturm rotate x*-90 } #declare goudringbr = difference {cylinder {<0,0,0>,<0,0,.0002>,.051} cylinder {<0,0,-.02>,<0,0,.02>,.05}} #declare goudringsm = difference {cylinder {<0,0,0>,<0,0,.0002>,.051} cylinder {<0,0,-.02>,<0,0,.02>,.0505}} #declare gbody = union {difference { object {gbodyform} object {gbodyform scale <.98,.98,.98> translate <0,.003,-.001>} cylinder {<0,.35,-.15>,<0,.35,-.03>,.05}} object {goudringsm texture {T_Copper_4B} scale <1.1,1.1,1> translate <0,.35,-.123>} object {goudringsm texture {T_Copper_4B} scale <1.108,1.105,1> translate <0,.35,-.123>} object {goudringsm texture {T_Copper_4B} scale <1.12,1.115,1> translate <0,.35,-.123>} object {goudringbr texture {T_Copper_4B} scale <1.127,1.12,1> translate <0,.35,-.1213>} object {goudringsm texture {T_Copper_4B} scale <1.137,1.125,1> translate <0,.35,-.123>} object {goudringsm texture {T_Copper_4B} scale <1.4,1.35,1> translate <0,.35,-.1213>} object {goudringsm texture {T_Copper_4B} scale <1.45,1.355,1> translate <0,.35,-.1213>} box {<-.1,.2,-.01>,<.1,.4,-.02> texture {T_Wood13 scale .01}} } #declare plaatje = difference { prism { linear_sweep // or conic_sweep for tapering to a point cubic_spline // linear_spline | quadratic_spline | cubic_spline 0, // height 1 0.003, // height 2 12, // number of points // the points < 0.0, -0.02>, < 0.05, 0.-.02>, < .08, -0.01>, < .08, 0.08>, <.05,.14>,<0.01,.16>,<0,.08>,<0,.01>, <0, 0>, <0.01,-.02>,<.05, -.020>, < .09, -0.01> pigment {color Black} rotate x*-90 } cylinder {<-.03,.13,-.004>,<-.03,.13,.004>,.06 pigment {color Black}}} object {plaatje translate <.03,.22,-.07>} #declare knoponder = union { sphere {<0,0,0>,.005 pigment {color Black}} sphere {<0,-.01,0>,.005 pigment {color Black}} torus {.005,.0001 rotate x*90 translate <0,-.01,0> pigment {color White}}} object {knoponder translate <0,0,-.05>} object {gbody} #declare ntex=seed (235634); #declare hals = union {difference { cone{<0,0,0>,.03,<0,.46,0>,.0225 pigment {color Black} finish {reflection .1 specular .3 roughness .0015}} box {<-0.1,0,-.1>,<.1,.48,0>texture {T_Wood2 scale 1 rotate z*90} normal {ripples .2 scale <.01,.5,5> }} } #declare SL=.65; #declare dy = .04; #declare frettel = 1; #while (frettel <20) #declare dy = dy/1.0595; #declare SL = SL - dy; #declare nwidth = .0225 + (.65-SL)*0.015; cylinder {<-nwidth,SL-.19,0>,,.001 texture {T_Chrome_4D rotate x*90} } #declare frettel=frettel+1; #end } object {hals scale <1,1,.7> translate <0,.395,-.13>} #declare aanzet = difference {lathe { cubic_spline 6, <-.04,1>,<0, 0.2>, <.02, 0.1>, <.09, .05>, <.1, 0>,<.12,-.1> pigment {color Black} finish {reflection .1 specular .3 roughness .0015} scale <.8,1.2,.2>} box {<-.2,-.01,-.2>,<.2,.05,.2>} box {<-.09,.1,-.1>,<.1,1.1,.1>} box {<-.2,-.01,-.2>,<0,.2,.2>}} object {aanzet scale <1,1.88,1> rotate z*-90 rotate x*-180 rotate y*-90 translate <0,.495,-.22>} #declare R2 = seed(77465); #declare windknop1=difference { union { sphere {<0,0,0>,.4 texture {T_Chrome_4D}} cylinder{<0,.2,0>,<0,.8,0>,.2 texture {T_Chrome_4D}} torus {.2,.06 translate <0,.7,0> texture {T_Chrome_4D}} #declare tteller=0; #while (tteller <10) torus {.25, 0.23/2.58 rotate z*rand(R2)*30 rotate y*rand(R2)*360 translate <0,.2+tteller*.04,0> texture {T_Copper_2A}} #declare tteller=tteller+1; #end} cylinder {<-.3,.4,0>,<.3,.4,0>,.05 texture {T_Chrome_4D}} scale <.02,.02,.03>} #declare windknop2=difference { union { sphere {<0,0,0>,.4 texture {T_Chrome_4D}} cylinder{<0,.2,0>,<0,.8,0>,.2 texture {T_Chrome_4D}} torus {.2,.06 translate <0,.7,0> texture {T_Chrome_4D}} #declare tteller=0; #while (tteller <10) torus {.25, 0.18/2.58 rotate z*rand(R2)*30 rotate y*rand(R2)*360 translate <0,.2+tteller*.04,0> texture {T_Copper_3A}} #declare tteller=tteller+1; #end} cylinder {<-.3,.4,0>,<.3,.4,0>,.05 texture {T_Chrome_4D}} scale <.02,.02,.03>} #declare windknop3=difference { union { sphere {<0,0,0>,.4 texture {T_Chrome_4D}} cylinder{<0,.2,0>,<0,.8,0>,.2 texture {T_Chrome_4D}} torus {.2,.06 translate <0,.7,0> texture {T_Chrome_4D}} #declare tteller=0; #while (tteller <10) torus {.25, 0.13/2.58 rotate z*rand(R2)*30 rotate y*rand(R2)*360 translate <0,.2+tteller*.04,0> texture {T_Copper_3C}} #declare tteller=tteller+1; #end} cylinder {<-.3,.4,0>,<.3,.4,0>,.05 texture {T_Chrome_4D}} scale <.02,.02,.03>} #declare windknop4=difference { union { sphere {<0,0,0>,.4 texture {T_Chrome_4D}} cylinder{<0,.2,0>,<0,.8,0>,.2 texture {T_Chrome_4D}} torus {.2,.06 translate <0,.7,0> texture {T_Chrome_4D}} #declare tteller=0; #while (tteller <10) torus {.25, 0.085/2.58 rotate z*rand(R2)*30 rotate y*rand(R2)*360 translate <0,.2+tteller*.04,0> texture {T_Chrome_5E}} #declare tteller=tteller+1; #end} cylinder {<-.3,.4,0>,<.3,.4,0>,.05 texture {T_Chrome_4D}} scale <.02,.02,.03>} #declare windknop5=difference { union { sphere {<0,0,0>,.4 texture {T_Chrome_4D}} cylinder{<0,.2,0>,<0,.8,0>,.2 texture {T_Chrome_4D}} torus {.2,.06 translate <0,.7,0> texture {T_Chrome_4D}} #declare tteller=0; #while (tteller <10) torus {.25, 0.065/2.58 rotate z*rand(R2)*30 rotate y*rand(R2)*360 translate <0,.2+tteller*.04,0> texture {T_Chrome_5E}} #declare tteller=tteller+1; #end} cylinder {<-.3,.4,0>,<.3,.4,0>,.05 texture {T_Chrome_4D}} scale <.02,.02,.03>} #declare windknop6=difference { union { sphere {<0,0,0>,.4 texture {T_Chrome_4D}} cylinder{<0,.2,0>,<0,.8,0>,.2 texture {T_Chrome_4D}} torus {.2,.06 translate <0,.7,0> texture {T_Chrome_4D}} #declare tteller=0; #while (tteller <10) torus {.25, 0.05/2.58 rotate z*rand(R2)*30 rotate y*rand(R2)*360 translate <0,.2+tteller*.04,0> texture {T_Chrome_5E}} #declare tteller=tteller+1; #end} cylinder {<-.3,.4,0>,<.3,.4,0>,.05 texture {T_Chrome_4D}} scale <.02,.02,.03>} #declare draaiknopje = union {intersection { difference { cylinder {<0,-.2,0>,<0,.2,0>,1 scale <1,1,.4>} sphere {<0,5,0>,4.9} sphere {<0,-5,0>,4.9}} sphere {<0,0,0>,1 scale <.97,.97,.5>} } sphere {<0,0,.5>,.2} sphere {<0,0,.7>,.2} sphere {<0,0,.9>,.2} sphere {<0,0,1.1>,.2}sphere {<0,0,1.3>,.2}sphere {<0,0,1.5>,.2} texture {T_Chrome_4D}translate <0,0,-1.5> scale <.02,.02,.02> } #declare blokje = prism { linear_sweep // or conic_sweep for tapering to a point quadratic_spline 0, // height 1 1, // height 2 7, // number of points < -0.2, -1.0>, < 0, 0>, < .5, 1>, < 1.5, 1>, < 1, 0>, <0.0, 0>, <-.2, 0.5> } #declare knoptotrechts = union {object {draaiknopje rotate y*90 rotate z*180 rotate x*73} object {blokje translate <-1,-.5,0> rotate y*-20 scale <.02,.02,.02> texture {T_Chrome_4D} rotate z*180 translate <-.01,0.005,-.005> } } #declare knoptotrechts2 = union {object {draaiknopje rotate y*90 rotate z*180 rotate x*34} object {blokje translate <-1,-.5,0> rotate y*-20 scale <.02,.02,.02> texture {T_Chrome_4D} rotate z*180 translate <-.01,0.005,-.005> } } #declare knoptotrechts3 = union {object {draaiknopje rotate y*90 rotate z*180 rotate -x*33} object {blokje translate <-1,-.5,0> rotate y*-20 scale <.02,.02,.02> texture {T_Chrome_4D} rotate z*180 translate <-.01,0.005,-.005> } } #declare knoptotlinks = union {object {draaiknopje rotate y*90 rotate x*15} object {blokje translate <-1,-.5,0> rotate y*-20 scale <.02,.02,.02> texture {T_Chrome_4D} translate <.01,0.005,-.005> }} #declare knoptotlinks2 = union {object {draaiknopje rotate y*90 rotate x*95} object {blokje translate <-1,-.5,0> rotate y*-20 scale <.02,.02,.02> texture {T_Chrome_4D} translate <.01,0.005,-.005> }} #declare knoptotlinks3 = union {object {draaiknopje rotate y*90 rotate x*-15} object {blokje translate <-1,-.5,0> rotate y*-20 scale <.02,.02,.02> texture {T_Chrome_4D} translate <.01,0.005,-.005> }} #declare knopblad = union{ prism { linear_sweep linear_spline 0, 0.013, 10, < -.023,0>, <-.0325,.01>, <-.0385,.15>, <-.0325,.16>, <0,.165>, <.0325,.16>, <.0385,.15>, <.0325,.01>, <.023,.0>, <-.023,0> texture {pigment {color Black} finish {reflection .1 specular .3 roughness .0015}} normal {bumps .9} } object {windknop1 translate <-.022,0.013,.03>} object {windknop2 translate <-.022,0.013,.07>} object {windknop3 translate <-.022,0.013,.11>} object {windknop4 translate <.022,0.013,.03>} object {windknop5 translate <.022,0.013,.07>} object {windknop6 translate <.022,0.013,.11>} object {knoptotlinks translate <-.025,-0.013,.03>} object {knoptotlinks2 translate <-.025,-0.013,.07>} object {knoptotlinks3 translate <-.025,-0.013,.11>} object {knoptotrechts translate <.025,-0.013,.03>} object {knoptotrechts2 translate <.025,-0.013,.07>} object {knoptotrechts3 translate <.025,-0.013,.11>} box {<-.1,-.1,-.014>,<.1,.1,-.015> pigment {image_map {gif "fender.gif" map_type 0 once filter 255,1} scale <.05,.05,.05>} rotate x*90 translate <-.03,0,.11> } } #declare kam1 = superellipsoid {<.3, 1> scale <.0225,.001,.004> translate <0,.853,-.13> pigment {color rgb <.8,1,.2>} finish {reflection .1 specular .1 roughness .015} } object {knopblad rotate x*-80 translate <0,.85,-.118>} object {kam1} #declare kam2 = superellipsoid {<.1, .2> scale <.035,.001,.004> pigment {color rgb <.8,1,.2>} finish {reflection .1 specular .1 roughness .015} rotate z*10} //maken knopjes zwart #declare knopje = sphere {<0,0,0>,.004 scale <1,1,.8> pigment {color Black} finish {reflection .1 specular .3 roughness 0.2} } #declare rijknopjes = union { object {knopje translate <0,0,0>} object {knopje translate <.011,0,0>} object {knopje translate <.022,0,0>} object {knopje translate <.033,0,0>} object {knopje translate <.044,0,0>} object {knopje translate <.055,0,0>}} #declare kam2 = union {superellipsoid {<.1, .2> scale <.035,.001,.004> pigment {color rgb <.8,1,.2>} finish {reflection .1 specular .1 roughness .015} } object {rijknopjes translate <-.028, -.012,-.003>} rotate z*8 } //maken kam 2, vorm van boven naar beneden #declare houtkam = intersection { merge { box {<0.0775,-.1,0>,<-.0775,.08,.025>} prism { linear_sweep // or conic_sweep for tapering to a point cubic_spline // linear_spline | quadratic_spline | cubic_spline -.1, // height 1 0.08, // height 2 9, // number of points // the points < .05,0.025>, <0,0.025>, < -.05,0.025>, <-.05,.025>, <0,.035>, <.05,.025>, <0.05,0.025>, <0,.025> , <-.05,0.025> sturm } texture {T_Wood8 scale .1}} prism { linear_sweep // or conic_sweep for tapering to a point cubic_spline // linear_spline | quadratic_spline | cubic_spline -.01, // height 1 0.04, // height 2 10, // number of points // the points <.02,0>, < 0,0>, < -.0775,0>, <-.0775,.001>, <-.05,.005>, <0.05,.005>, <.0775,.001>, <0.0775,0>, <0,0>, <-.02,0> texture {T_Wood8 scale .1} rotate x*90} } #declare houtkamtot = union { object {houtkam rotate x*-90 rotate z*180 rotate y*180} object {kam2 translate <0,-.0075,-0.003>}} object {houtkamtot translate <0,.20,-.12>} //nu de zes snaren, elke snaar bestaat uit vier delen: knopbrug, brugbrug, brugwind, windingen cylinder {<.028, .178,-.128>,<.018,.855,-.133>, 0.001/2.58 texture {T_Chrome_5E}} cylinder {<.017, .182,-.128>,<.0108,.855,-.133>, 0.0013/2.58 texture {T_Chrome_5E}} cylinder {<.006, .185,-.128>,<.0038,.855,-.133>, 0.0017/2.58 texture {T_Chrome_5E}} cylinder {<-.005, .187,-.128>,<-.0038,.855,-.133>, 0.0026/2.58 texture {T_Copper_3C}} cylinder {<-.016, .19,-.128>,<-.0108,.855,-.133>, 0.0036/2.58 texture {T_Copper_3A}} cylinder {<-.027, 0.193,-.128>,<-.018,.855,-.133>, 0.0046/2.58 texture {T_Copper_2A}} cylinder {<.018,.855,-.133>,<.0205,.88,-.133>, 0.001/2.58 texture {T_Chrome_5E}} cylinder {<.0108,.855,-.133>,<.021,.925,-.125>, 0.0013/2.58 texture {T_Chrome_5E}} cylinder {<.0038,.855,-.133>, <.021,.96,-.12>,0.0017/2.58 texture {T_Chrome_5E}} cylinder {<-.0038,.855,-.133>,<-.020,.96,-.12>, 0.0026/2.58 texture {T_Copper_3C}} cylinder {<-.0108,.855,-.133>,<-.020,.925,-.125>, 0.0036/2.58 texture {T_Copper_3A}} cylinder {<-.018,.855,-.133>, <-.02,.88,-.133>,0.0046/2.58 texture {T_Copper_2A}} //e-snaar dikte 0.01/2.58 //b-snaar dikte 0.013/2.58 //g-snaar dikte 0.017/2.58 mm .010/.013/.017/.026/.036/.046 //d-snaar dikte 0.026/2.58 mm //a-snaar dikte 0.036/2.58 mm //E-snaar dikte 0.046/2.58 mm #declare rijknopjes = union { object {knopje translate <0,0,0>} object {knopje translate <.011,0,0>} object {knopje translate <.022,0,0>} object {knopje translate <.033,0,0>} object {knopje translate <.044,0,0>} object {knopje translate <.055,0,0>}} #declare kam2 = union {superellipsoid {<.1, .2> scale <.035,.001,.004>}} object {rijknopjes translate <-.028, -.012,-.003> rotate z*8} #declare kam1 = superellipsoid {<.3, 1> scale <.0225,.001,.004> translate <0,.853,-.13> pigment {color rgb <.8,1,.2>} finish {reflection .1 specular .1 roughness .015}} object {knopblad rotate x*-80 translate <0,.85,-.118>} object {kam1} } //einde definite gitaar object {gitaar translate <1,.5,0> rotate y*20 rotate x*-10} object {gitaar translate <.8,0.1,-13>} object {gitaar rotate y*60 translate <0,.5,-4>}