View on GitHub

Final-project

Michele Galli

Download this project as a .zip file Download this project as a tar.gz file

L15 BICOLORE (Code Link)

THE L15 BICOLORE is a double bed designed by Luigi Caccia Dominioni. The Bed have black lacquer headboard and legs, and shaped insert in glossy yellow maple-wood, walnut or cherry-wood.

First of all i realized the Headboard. The HeadBoard is made of two part: The black down part (right image) and The bicolor up part (left image). The up part is in turn composed by two other parts. The brown part is embedded on the black up part. I used BEZIER curves.

l15bicolore-js l15bicolore-js

curve1_front = BEZIER(S1)([[0,0,0],[0,2.5,0]])
curve2_front = BEZIER(S1)([[0,2.5,0],[0.4,2.5,0],[0.4,2.8,0],[0,2.8,0]])
curve3_front = BEZIER(S1)([[0,2.8,0],[0,2.9,0]])
curve4_front = BEZIER(S1)([[6,0,0],[6,2.5,0]])
curve5_front = BEZIER(S1)([[6,2.5,0],[5.6,2.5,0],[5.6,2.8,0],[6,2.8,0]])
curve6_front = BEZIER(S1)([[6,2.8,0],[6,2.9,0]])
[..]
curve1_frontup = BEZIER(S1)([[0,0.35,0],[-0.8,0.35,0],[-0.8,-0.35,0],[0,-0.35,0]])
curve2_frontup = BEZIER(S1)([[8,0.35,0],[8.8,0.35,0],[8.8,-0.35,0],[8,-0.35,0]])
curve3_frontup = BEZIER(S1)([[0,0.35,-0.2],[-0.8,0.35,-0.2],[-0.8,-0.35,-0.2],[0,-0.35,-0.2]])
curve4_frontup = BEZIER(S1)([[8,0.35,-0.2],[8.8,0.35,-0.2],[8.8,-0.35,-0.2],[8,-0.35,-0.2]])
curve5_frontup = BEZIER(S1)([[0,0.35,0],[8,0.35,0]])
curve6_frontup = BEZIER(S1)([[0,-0.35,0],[8,-0.35,0]])
[..]
map1_frontup = COLOR(COLOR_BLACK)(MAP(BEZIER(S2)([curve1_frontup,curve3_frontup]))(domain2))
map2_frontup = COLOR(COLOR_BLACK)(MAP(BEZIER(S2)([curve2_frontup,curve4_frontup]))(domain2))
map3_frontup = COLOR(COLOR_BLACK)(MAP(BEZIER(S2)([curve5_frontup,curve6_frontup]))(domain2))
map4_frontup = COLOR(COLOR_BLACK)(MAP(BEZIER(S2)([curve5_frontup,curve7_frontup]))(domain2))
map9_frontup = COLOR(COLOR_WOOD)(MAP(BEZIER(S2)([curve9_frontup,curve11_frontup]))(domain2))
map10_frontup = COLOR(COLOR_WOOD)(MAP(BEZIER(S2)([curve10_frontup,curve12_frontup]))(domain2))

[..]
front = STRUCT([map1_front,...,map12_front])))

frontup = STRUCT([map1_frontup,...,map14_frontup])


After that i realized the mattress with the grid structure. Ifirst made one vertical and one horizontal stripe and then i wrote a function to repeat them to create the grid. The external structure is made with four cuboid functions. The mattress is made with Bezier.

l15bicolore-js

function repeatTraslation(object,ax,t,n){
stripes = object
for (var i = 1; i < n; i++) {
stripes = STRUCT([stripes,T([ax])([t*i])(object)])

};
return stripes
}

grid_horizontal = CUBOID([5.6,0.05,0.01])
grid_horizontals = repeatTraslation(grid_horizontal,2,0.1,79)
grid_vertical = CUBOID([0.05,7.8,0.01])
grid_verticals = repeatTraslation(grid_vertical,1,0.1,57)


Finally i did the legs of the bed. The legs have the same pattern of the up headboard and they are made by two parts

l15bicolore-js

curve1_leg = BEZIER(S1)([[0,0.35,0],[-0.8,0.35,0],[-0.8,-0.35,0],[0,-0.35,0]])
curve2_leg = BEZIER(S1)([[2,0.35,0],[2,-0.35,0]])
curve3_leg = BEZIER(S1)([[0,0.35,-0.2],[-0.8,0.35,-0.2],[-0.8,-0.35,-0.2],[0,-0.35,-0.2]])
[..]
map1_leg = COLOR(COLOR_BLACK)(MAP(BEZIER(S2)([curve1_leg,curve3_leg]))(domain2))
map2_leg = COLOR(COLOR_BLACK)(MAP(BEZIER(S2)([curve2_leg,curve4_leg]))(domain2))
map3_leg = COLOR(COLOR_BLACK)(MAP(BEZIER(S2)([curve5_leg,curve6_leg]))(domain2))
[..]
leg = STRUCT([map1_leg,...,map14_leg])



This is the final L15 BICOLORE model.



This is the original model.