// $Id: perstafel2.pov,v 1.1 2004/07/04 11:24:23 rsmith Exp $ // // Model van een nieuwe perstafel voor hamburgbladen // Renderen met: // preview: povray +W640 +H480 +AM2 +A0.1 +P +Iperstafel.pov // perfect: povray +W1024 +H768 +AM2 +A0.1 +P +Iperstafel.pov // Vervolgens: convert -quality 90 perstafel.png perstafel.jpg // jpeg2ps -r300 perstafel.jpg >perstafel.eps // Bij andere verhouding W,H bij de camera "right" aanpassen! #version 3.5; //global_settings {assumed_gamma 1.0} global_settings {assumed_gamma 1.0 radiosity {brightness 0.5}} background {rgb <1,1,1>} camera {location <2400,1500,-1400>*1.4 look_at <1400,-250,500> angle 42} light_source {<2400,1500,-1400>*1.4 rgb 1 } // 0 als geen doorsnede gemaakt moet worden, <>0 voor doorsnede #declare section=0; // 0 als geen exploded view gemaakt moet worden, <>0 voor exploded view #declare explode=1; #include "colors.inc" #include "metals.inc" #include "woods.inc" #declare rvsplaat = material { texture { T_Chrome_4C } }; #declare buis = material { texture { T_Chrome_3B } }; #declare platilon = texture { pigment {rgbf <1,1,0.8,0.2>} finish {phong 0.3 phong_size 50} }; #if (section) #declare cutaway = box {<2000,-1000, -200>,<3500, 1000, 500>}; #end // platilon folie, opgebouwd uit patches en polygonen #if (section) difference { #end merge { bicubic_patch { // A type 1 flatness 0.001 u_steps 5 v_steps 5 <0,0,0>, <0,0,100>, <0,0,0>, <0,0,100> <40,0,0>, <40,0,100>, <40,0,0>, <40,0,100> <60,0,0>, <60,0,100>, <60,40,0>, <60,40,100> <100,0,0>, <100,0,100>, <100,40,0>, <100,40,100> } bicubic_patch { // B type 1 flatness 0.001 u_steps 5 v_steps 5 < 0, 0,100>, < 0, 0,300>, < 0, 0,600>, < 0, 0,800> < 40, 0,100>, < 40, 0,300>, < 40, 0,600>, < 40, 0,800> < 60,40,100>, < 60,40,300>, < 60,40,600>, < 60,40,800> <100,40,100>, <100,40,300>, <100,40,600>, <100,40,800> } bicubic_patch { // C type 1 flatness 0.001 u_steps 5 v_steps 5 < 0, 0,800>, < 0, 0,900>, < 0,0,800>, < 0,0,900> < 40, 0,800>, < 40, 0,900>, < 40,0,800>, < 40,0,900> < 60,40,800>, < 60,40,900>, < 60,0,800>, < 60,0,900> <100,40,800>, <100,40,900>, <100,0,800>, <100,0,900> } bicubic_patch { // D type 1 flatness 0.001 u_steps 5 v_steps 5 <100,0,0>, <100,0,100>, <100,40,0>, <100,40,100> <900,0,0>, <900,0,100>, <900,40,0>, <900,40,100> <1700,0,0>, <1700,0,100>, <1700,40,0>, <1700,40,100> <2500,0,0>, <2500,0,100>, <2500,40,0>, <2500,40,100> } polygon { // E 5, <100,40,100>, <2500,40,100>, <2500,40,800>, <100,40,800>, <100,40,100> } bicubic_patch { // F type 1 flatness 0.001 u_steps 5 v_steps 5 <100,40,800>, <100,40,900>, <100,0,800>, <100,0,900> <900,40,800>, <900,40,900>, <900,0,800>, <900,0,900> <1700,40,800>, <1700,40,900>, <1700,0,800>, <1700,0,900> <2500,40,800>, <2500,40,900>, <2500,0,800>, <2500,0,900> } bicubic_patch { // G type 1 flatness 0.001 u_steps 5 v_steps 5 <2500,0,0>, <2500,0,100>, <2500,40,0>, <2500,40,100> <2540,0,0>, <2540,0,100>, <2540,40,0>, <2540,40,100> <2560,0,0>, <2560,0,100>, <2560,0,0>, <2560,0,100> <2600,0,0>, <2600,0,100>, <2600,0,0>, <2600,0,100> } bicubic_patch { // H type 1 flatness 0.001 u_steps 5 v_steps 5 <2500,40,100>, <2500,40,300>, <2500,40,600>, <2500,40,800> <2540,40,100>, <2540,40,300>, <2540,40,600>, <2540,40,800> <2560, 0,100>, <2560, 0,300>, <2560, 0,600>, <2560, 0,800> <2600, 0,100>, <2600, 0,300>, <2600, 0,600>, <2600, 0,800> } bicubic_patch { // I type 1 flatness 0.001 u_steps 5 v_steps 5 <2500,40,800>, <2500,40,900>, <2500,0,800>, <2500,0,900> <2540,40,800>, <2540,40,900>, <2540,0,800>, <2540,0,900> <2560,0,800>, <2560,0,900>, <2560, 0,800>, <2560, 0,900> <2600,0,800>, <2600,0,900>, <2600, 0,800>, <2600, 0,900> } polygon { 5, <-45,0,-45>, <2645,0,-45>, <2645,0,0>, <-45,0,0>, <-45,0,-45> } polygon { 5, <-45,0,900>, <2645,0,900>, <2645,0,950>, <-45,0,950>, <-45,0,900> } polygon { 5, <-45,0,-45>, <0,0,-45>, <0,0,950>, <-45,0,950>, <-45,0,-45> } polygon { 5, <2600,0,0>, <2645,0,0>, <2645,0,900>, <2600,0,900>, <2600,0,0> } texture { platilon } } #if (section) object {cutaway}} #end // Onderplaat #declare Dy=-200; #if (section) difference { #end merge { // RVS platen box { <-50,-202,-50>, <2650,-200,950> material { rvsplaat } translate y*Dy } box { <-50,-222,-50>, <2650,-220,950> material { rvsplaat } translate y*Dy #if (explode) translate -200*y #end } } #if (section) object {cutaway}} #end #if (section) difference { #end // kern box { <-50,-202,-50>, <2650,-220,950> texture {T_Wood16} translate y*Dy #if (explode) translate -100*y #end } #if (section) object { cutaway texture {T_Wood16} } } #end // doorsnede buis #declare tube = object { difference { merge { cylinder {<2,2,0>, <2,2,1>, 2} cylinder {<48,2,0>, <48,2,1>, 2} cylinder {<48,18,0>, <48,18,1>, 2} cylinder {<2,18,0>, <2,18,1>, 2} box {<2,0,0>,<48,2,1>} box {<2,18,0>,<48,20,1>} box {<0,2,0>,<2,18,1>} box {<48,2,0>,<50,18,1>} } box {<2,2,0>, <48,18,1>} } }; #declare greep = difference { cylinder {<0,0,0>,<-150,0,0>, 15} cylinder {<0.1,0,0>,<-150.1,0,0>, 14} }; #if (section) difference { #end merge { // korte kokers difference { object { tube scale z*1000 translate <-50,0,-50> } merge { box { <-1,-1,0>, <91,21,-50> rotate -45*y translate <-50,0,-50> } box { <-1,-1,0>, <91,21,50> rotate 45*y translate <-50,0,950> } } } difference { object { tube scale z*1000 translate <2600,0,-50> } merge { box { <1,-1,0>, <-91,21,-50> rotate 45*y translate <2650,0,-50> } box { <1,-1,0>, <-91,21,50> rotate -45*y translate <2650,0,950> } } } // lange kokers difference { object { tube scale z*2700 } merge { box { <1,-1,0>, <-91,21,-50> rotate 45*y translate <50,0,0> } box { <1,-1,0>, <-91,21,50> rotate -45*y translate <50,0,2700> } } rotate 90*y translate -50*x } difference { object { tube scale z*2700 } merge { box { <1,-1,0>, <-91,21,-50> rotate 45*y translate <50,0,0> } box { <1,-1,0>, <-91,21,50> rotate -45*y translate <50,0,2700> } } rotate -90*y translate <2650,0,900> } // handgrepen object { greep translate <0,35,-25> } object { greep translate <2750,35,-25> } object { greep translate <0,35,925> } object { greep translate <2750,35,925> } material {buis} #if (explode) translate 100*y #end } #if (section) object { cutaway material {buis} } } #end // rubber snoer #if (section) difference { #end merge { box {<-45,0,-45>, <2645,-6,-35>} box {<-45,0,935>, <2645,-6,945>} box {<-45,0,-45>, <-40,-6,935>} box {<2635,0,-45>, <2645,-6,935>} texture {pigment {Black}} #if (explode) translate -100*y #end } #if (section) object {cutaway}} #end