Bruno Munari

Industrial Design

Falkland Code

      		






/** * @author Alessio Ciccarelli */ // function to create a surface with a bezier surface function bezier_surface (controlpoints,dim,domain) { var surface = BEZIER(dim)(controlpoints); var mapping = ROTATIONAL_SURFACE(surface); return MAP(mapping)(domain); } // function to create a tube function tube(r,h){ var domaint = DOMAIN([[0,1],[0,2*PI]])([16,16]); var tube = CYL_SURFACE([r,h])(16); var basetmp = BEZIER(S0)([[r,0,0],[r,0,0],[0,0,0]]); var mappingbase = ROTATIONAL_SURFACE(basetmp); var base = MAP(mappingbase)(domaint) var baset = T([2])([h])(base); return STRUCT([tube,base,baset]); } var domain = DOMAIN([[0,1],[0,2*PI]])([32,32]); // creating the external surfaces var c0 = [[0.25,0,10],[0.5,0,9.75],[0.75,0,9.5]]; var c1 = [[0.75,0,9.5],[0.5,0,9],[1.25,0,8.5]]; var c2 = [[1.25,0,8.5],[0.5,0,7.75],[1,0,7]]; var c3 = [[1,0,7],[0.5,0,6],[1.25,0,5]]; var c4 = [[1.25,0,5],[0.5,0,4.25],[1,0,3.5]]; var c5 = [[1,0,3.5],[0.5,0,3],[1,0,2.5]]; var c6 = [[1,0,2.5],[0.5,0,1.25],[1,0,0]]; var surface0 = bezier_surface(c0,S0,domain); var surface1 = COLOR([255,255,255])(bezier_surface(c1,S0,domain)); var surface2 = COLOR([255,255,255])(bezier_surface(c2,S0,domain)); var surface3 = COLOR([255,255,255])(bezier_surface(c3,S0,domain)); var surface4 = COLOR([255,255,255])(bezier_surface(c4,S0,domain)); var surface5 = COLOR([255,255,255])(bezier_surface(c5,S0,domain)); var surface6 = COLOR([255,255,255])(bezier_surface(c6,S0,domain)); // creating the lamp's outlines var circle1 = COLOR([(210/255),(210/255),(210/255)])(T([2])([9.5])(CIRCLE(0.75)(32))); var circle2 = COLOR([(210/255),(210/255),(210/255)])(T([2])([8.5])(CIRCLE(1.25)(32))); var circle3 = COLOR([(210/255),(210/255),(210/255)])(T([2])([7])(CIRCLE(1)(32))); var circle4 = COLOR([(210/255),(210/255),(210/255)])(T([2])([5])(CIRCLE(1.25)(32))); var circle5 = COLOR([(210/255),(210/255),(210/255)])(T([2])([3.5])(CIRCLE(1)(32))); var circle6 = COLOR([(210/255),(210/255),(210/255)])(T([2])([2.5])(CIRCLE(1)(32))); var circle7 = COLOR([(210/255),(210/255),(210/255)])(CIRCLE(1)(32)); // creating the lamp's bracket var tube1 = COLOR([(210/255),(210/255),(210/255)])(T([2])([10])(tube(0.25,0.5))); var tube2 = COLOR([(210/255),(210/255),(210/255)])(T([2])([10.5])(tube(0.05,3))); var circles = STRUCT([circle1,circle2,circle3,circle4,circle5,circle6,circle7]); var lamp = STRUCT([surface0,surface1,surface2,surface3,surface4,surface5,surface6,circles,tube1,tube2]); DRAW(lamp);