LTE5 IMBUTO (Code Link)
THE LTE5 IMBUTO is a very elegant Floor lamp whith a base in black painted cast iron, a stem in polished brass and cone-shaped reflector in metallic grey aluminium.
I started drawing the funnel and the light inside. I used BEZIER-based functions made by me.
semicircle_a = function(x1,y1,z,tx,ty,tz1,tz2){ semix = x1/2 semia = BEZIER(S1)([[tx+semix,ty,z+tz1],[tx+semix,ty+y1,z+tz2],[tx-semix,ty+y1,z+tz2],[tx-semix,ty,z+tz1]]) return semia } semicircle_b = function(x1,y1,z,tx,ty,tz1,tz2){ semix = x1/2 semib = BEZIER(S1)([[tx+semix,ty,z+tz1],[tx+semix,-y1+ty,z+tz2],[tx-semix,-y1+ty,z+tz2],[tx-semix,ty,z+tz1]]) return semib } var SEMISPHERE = function (r) { var domain = DOMAIN([[0, PI], [0, PI]])([50,50]); var mapping = function (v) { var a = v[0]; var b = v[1]; return [r*SIN(a)*COS(b), r/2*SIN(a)*SIN(b), r*COS(a)]; }; var model = MAP(mapping)(domain); return model; }; [..] curve1a_funnel = semicircle_a(3,2,0,0,0,0,0) curve1b_funnel = semicircle_b(3,2,0,0,0,0,0) [..] map1_funnel = MAP(BEZIER(S2)([curve1a_funnel,curve2a_funnel]))(domain2) map2_funnel = MAP(BEZIER(S2)([curve1b_funnel,curve2b_funnel]))(domain2) [..] funnel = STRUCT([map1_funnel,..,map5_funnel])
Then i draw the long gold body e and the base. I re-used the functions i wrote before.
curve1a_body = semicircle_a(0.2,0.15,18,0,0,0,0) curve1b_body = semicircle_b(0.2,0.15,18,0,0,0,0) curve2a_body = semicircle_a(2.2,1.3,18,0,0,0,0) curve2b_body = semicircle_b(2.2,1.3,18,0,0,0,0) [..] map1_body = COLOR([255/255,193/255,37/255])(MAP(BEZIER(S2)([curve3a_funnel,curve1a_body]))(domain2)) map2_body = COLOR([255/255,193/255,37/255])(MAP(BEZIER(S2)([curve3b_funnel,curve1b_body]))(domain2)) [..] body = STRUCT([map1_body,..,map6_body])
These are the final LTE5 IMBUTO model and the original model.