#version 3.5; #include "colors.inc" global_settings { assumed_gamma 1.0 } //meters and degrees! #declare rake=35; #declare downtubelength=.14; #declare clearance=.125; #declare frameheight=.741; #declare framewidth=.271; #declare frametube= .02; #declare fbsetback=.185; #declare fbasel=.602; #declare framebaseplatesetback=.417; #declare visuallength=1.67; //extend top tube to back and intersect with frame base... #declare middletubesetback=.509; //distance back from front of frame of top of middle tube #declare tff_lx=.09; //horizontal length of top frame "fork" #declare rwradius=.271; //rear wheel radius #declare ct_top=-middletubesetback*x+frameheight*(1-middletubesetback/visuallength)*y; //location of top of middle tube #declare tff_x=-tff_lx-middletubesetback; #declare tff_y=frameheight/visuallength*(visuallength+tff_x); #declare tfback_y=frameheight/visuallength*(visuallength-fbsetback-fbasel); #declare tfback_x=-fbsetback-fbasel; #declare raxel_y=rwradius-clearance; #declare raxel_x=tfback_x-rwradius; //frame cylinder{.2*downtubelength*y,-.8*downtubelength*y,frametube*2 rotate z*rake translate y*frameheight} //fork tube cylinder{y*frameheight,-x*fbsetback-z*framewidth/2-y*frametube,frametube} //tubes droping fromm fork tube cylinder{y*frameheight,-x*fbsetback+z*framewidth/2-y*frametube,frametube} cylinder{0,-x*fbasel,frametube translate -x*fbsetback+z*framewidth/2} //base tubes cylinder{0,-x*fbasel,frametube translate -x*fbsetback-z*framewidth/2} box{y*frametube/2-z*framewidth/2,-y*frametube/2+z*framewidth/2-2*frametube*x //plate at front/base of frame translate -x*fbsetback} box{y*frametube/2-z*framewidth/2,-y*frametube/2+z*framewidth/2-2*frametube*x //plate at middle/base of frame translate -x*(fbsetback+framebaseplatesetback-frametube/2)} cylinder{ y*frameheight,ct_top,frametube} //top tube cylinder{ -x*(fbsetback+framebaseplatesetback),ct_top,frametube} //middle rising tube cylinder{ tff_x*x+tff_y*y+z*framewidth/2,ct_top,frametube} //frame top fork branch cylinder{ tff_x*x+tff_y*y-z*framewidth/2,ct_top,frametube} cylinder{ tff_x*x+tff_y*y-z*framewidth/2, +tfback_x*x+tfback_y*y-z*framewidth/2,frametube} //rear-top tubes cylinder{ tff_x*x+tff_y*y+z*framewidth/2, +tfback_x*x+tfback_y*y+z*framewidth/2,frametube} //rear axel mount box{tfback_x*x+tfback_y*y-frametube/2*z,(tfback_x+2*frametube)*x+frametube/2*z translate -z*framewidth/2} box{tfback_x*x+tfback_y*y-frametube/2*z,(tfback_x+2*frametube)*x+frametube/2*z translate +z*framewidth/2} cylinder{ tfback_x*x+tfback_y*y+z*framewidth/2,raxel_x*x+raxel_y*y+z*framewidth/2,frametube} cylinder{ tfback_x*x+z*framewidth/2,raxel_x*x+raxel_y*y+z*framewidth/2,frametube} cylinder{ tfback_x*x+tfback_y*y-z*framewidth/2,raxel_x*x+raxel_y*y-z*framewidth/2,frametube} cylinder{ tfback_x*x-z*framewidth/2,raxel_x*x+raxel_y*y-z*framewidth/2,frametube} background {color rgb <1,1,1> } camera { location vrotate(<0.7, 1, -4.0>*.8,y*50) look_at <-.4, 0.0, 0.0> } // superellipsoid { <.6,.6> scale 2*<.1,.01,.1> pigment{Blue}} light_source { <0, 4, -20> }