// Stefano Calcaterra, 405769
// Final Project - sedia Toga

var dom1 = PROD1x1([INTERVALS(1)(60),INTERVALS(1)(60)]);

////////////////////////////////////////////////////////////  ////////////////////////////////////////////////////////////

var c1 = BEZIER(S0)([[-3,0,0],[-2.5,0,3],[-2.8,0,6],[0,0,1],[0,0,1],[2.8,0,6],[2.5,0,3],[3,0,0]]);
var c2 = BEZIER(S0)([[-4.2,0.2,0],[-4.2,0.2,7],[-2.5,0.2,7],[-2.5,0.2,4],[-2.5,0.2,4],[-2.5,0.2,4],[-2.5,0.2,4],[0,0,2],[2.5,0.2,4],[2.5,0.2,4],[2.5,0.2,4],[2.5,0.2,4],[2.5,0.2,7],[4.2,0.2,7],[4.2,0.2,0]]);
var c3 = BEZIER(S0)([[-4.5,1,0],[-4.2,1,7],[-2.5,1,7],[-2.5,1,4],[-2.5,1,4],[-2.5,1,4],[-2.5,1,4],[0,1,2],[2.5,1,4],[2.5,1,4],[2.5,1,4],[2.5,1,4],[2.5,1,7],[4.2,1,7],[4.5,1,0]]);
var c4 = BEZIER(S0)([[-4.1,4,0],[-3.7,4,5],[-3,4,5],[-3,4,3.5],[-3,4,3.5],[-3,4,3.5],[-3,4,3.5],[0,4,2],[3,4,3.5],[3,4,3.5],[3,4,3.5],[3,4,3.5],[3,4,5],[3.7,4,5],[4.1,4,0]]);
var c5 = BEZIER(S0)([[-4,4.5,0],[-3,4.5,6],[-3,4.5,6],[-3,4.5,6],[0,6,5.5],[0,6,5.5],[3,4.5,6],[3,4.5,6],[3,4.5,6],[4,4.5,0]]);
var c6 = BEZIER(S0)([[-3.9,5,0],[-3,5,7.5],[-3,5,7.5],[-3,5,7.5],[0,5,5.5],[3,5,7.5],[3,5,7.5],[3,5,7.5],[3.9,5,0]]);
var c7 = BEZIER(S0)([[-3.6,6.5,0],[-3,6,7.5],[-3,6,7.5],[-3,6,7.5],[0,6,5.5],[3,6,7.5],[3,6,7.5],[3,6,7.5],[3.6,6.5,0]]);
var c8 = BEZIER(S0)([[-3,6.5,0],[-2,6,6.5],[-2,6,6.5],[-2,6,6.5],[0,6,4.5],[2,6,6.5],[2,6,6.5],[2,6,6.5],[3,6.5,0]]);

/* // per visualizzare le curve disegnate
var mc1 = MAP(c1)(dom1);
var mc2 = MAP(c2)(dom1);
var mc3 = MAP(c3)(dom1);
var mc4 = MAP(c4)(dom1);
var mc5 = MAP(c5)(dom1);
var mc6 = MAP(c6)(dom1);
var mc7 = MAP(c7)(dom1);
var mc8 = MAP(c8)(dom1);

var S0 = POLYLINE([[-3,0,0],[-2.5,0,3.4],[2.5,0,3.4],[3,0,0]]);
var s2 = POLYLINE([[-4.2,0.2,0],[-3.9,0.2,6],[3.9,0.2,6],[4.2,0.2,0]]);
var s3 = POLYLINE([[-3.8,5,0],[-2.5,5,8],[2.5,5,8],[3.8,5,0]]);

var struttura = STRUCT([S0,s2,s3]);
var s = COLOR([1,0,0])(STRUCT([struttura, mc1, mc2, mc3, mc4, mc5, mc6, mc7, mc8]));

DRAW(s)
*/


var surf = MAP(BEZIER(S1)([c1, c2,c2,c2, c3, c4, c4, c4, c4, c4, c4, c4, c5,c5,c5, c6,c6,c6,c6,c6,c6, c7, c7, c7, c8]))(dom1);
var sedia_toga = COLOR([1.3,0,0])(surf);

DRAW(sedia_toga);