#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 <0, 1,-4> // position of camera look_at <0,.5,.1> // point center of view at this point angle 4 } #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> pigment {color Black} finish {reflection .1 specular .3 roughness .0015} 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}} } object {gbody} //de hals The equal-tempered scale has 12 intervals (half-steps) making up an octave //(factor of two). The ratio, r, of frequencies for a half-step therefore satisfies r12=2, //which means r=1.0595. The scale, notated with interval names, then corresponds to frequency m //ultiples of: // //tonic maj2nd maj3rd 4th 5th maj6th maj7th octave //1.000 1.1225 1.2599 1.3348 1.4983 1.6818 1.8877 2.0000 // min2nd min3rd dim5th aug5th dom7th // 1.0595 1.1892 1.4142 1.5874 1.7818 #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 telgat=0; #while (telgat<1000) box {<0,0,0>,<.001,.001,.001> rotate x*45 rotate y*45 scale <1,5,.5> translate } #declare telgat=telgat+1; #end */ } #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>} //distance between fret N+1 and N is 1/pow(2,1/12) times that between fret N and fret N-1 #declare aanzet = difference {lathe { cubic_spline // linear_spline | quadratic_spline | cubic_spline 6, // number of points <-.04,1>,<0, 0.2>, <.02, 0.1>, <.09, .05>, <.1, 0>,<.12,-.1> // the list of points 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,-.19>} #declare windknop = union { cylinder {<0,0,0>,<0,.01,0>,.003 texture {T_Chrome_2D}} cylinder {<0,-.002,0>,<0,0,0>,.004 texture {T_Chrome_2D}} difference {sphere {<0,.01,0>,.006 scale <1,.1,1> texture {T_Chrome_2D}} box {<-.05,.01,-.05>,<.05,.05,.05>} }} //object #declare knopblad = union{ prism { linear_sweep // or conic_sweep for tapering to a point linear_spline // linear_spline | quadratic_spline | cubic_spline 0, // height 1 0.013, // height 2 10, // number of points // the points < -.023,0>, <-.0325,.01>, <-.0385,.15>, <-.0325,.16>, <0,.165>, <.0325,.16>, <.0385,.15>, <.0325,.01>, <.023,.0>, <-.023,0> pigment {color Black} finish {reflection .1 specular .3 roughness .0015} } object {windknop translate <-.018,0.013,.02>} object {windknop translate <-.021,0.013,.06>} object {windknop translate <-.024,0.013,.1>} object {windknop translate <.018,0.013,.02>} object {windknop translate <.021,0.013,.06>} object {windknop translate <.024,0.013,.1>}} #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,-.135>} //nu de zes snaren, elke snaar bestaat uit vier delen: knopbrug, brugbrug, brugwind, windingen cylinder {<.028, .178,-.128>,<.018,.85,-.138>, 0.001/2.58 texture {T_Chrome_5E}} cylinder {<.017, .182,-.128>,<.0108,.85,-.138>, 0.0013/2.58 texture {T_Chrome_5E}} cylinder {<.006, .185,-.128>,<.0038,.85,-.138>, 0.0017/2.58 texture {T_Chrome_5E}} cylinder {<-.005, .187,-.128>,<-.0038,.85,-.138>, 0.0026/2.58 texture {T_Chrome_5E}} cylinder {<-.016, .19,-.128>,<-.0108,.85,-.138>, 0.0036/2.58 texture {T_Chrome_5E}} cylinder {<-.027, 0.193,-.128>,<-.018,.85,-.138>, 0.0046/2.58 texture {T_Chrome_5E}} //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 rotate y*10}