T24 BASE QUADRA (Code Link)
T24 BASE QUADRA is a Table with an oval top with yellow gloss polyester lacquer, a "torus" moulding in solid wood, and a base in wood with steel band. The base is made of three different levels.
The first thing i have made is the oval top. I used some useful bezier-based function i wrote my-self.
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 } curve1a_tableup = semicircle_a(2,1.3,0,0,0,0,0) curve1b_tableup = semicircle_b(2,1.3,0,0,0,0,0) [..] map1_baseup = MAP(BEZIER(S2)([curve1_baseup,curve2_baseup]))(domain2) map2_baseup = MAP(BEZIER(S2)([curve3_baseup,curve4_baseup]))(domain2) [..] baseup = COLOR([84/255,84/255,84/255])(STRUCT([map1_baseup,map2_baseup,map3_baseup,map4_baseup]))
Then i realized the basement. The basement is made of three parts. The vertical curved surface and two base that follow the lines of the curved surface. That was pretty challenging.
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 } curve1_basedown = BEZIER(S1)([[-0.15,0,-0.1],[-0.15,0,-0.1],[0,0.2,-0.1],[0,0.2,0]]) curve2_basedown = BEZIER(S1)([[0.83,0,-0.1],[0.83,0,-0.1],[0.68,0.2,-0.1],[0.68,0.2,0]]) curve1_baselittle = BEZIER(S1)([[0-0.15,0,-0.1],[-0.18,-0.07,-0.125],[-0.18,-0.07,-0.2],[0-0.15,0,-0.2]]) curve2_baselittle = BEZIER(S1)([[0.83,0,-0.1],[0.86,-0.07,-0.125],[0.86,-0.07,-0.2],[0.83,0,-0.2]]) [..] map1_basedown = MAP(BEZIER(S2)([curve1_basedown,curve2_basedown]))(domain2) map2_basedown = MAP(BEZIER(S2)([curve3_basedown,curve4_basedown]))(domain2) map1_baselittle = MAP(BEZIER(S2)([curve1_baselittle,curve3_baselittle,curve2_baselittle]))(domain2) map2_baselittle = MAP(BEZIER(S2)([curve4_baselittle,curve6_baselittle,curve5_baselittle]))(domain2) [..] baselittle = COLOR([84/255,84/255,84/255])(STRUCT([map1_baselittle,..,map5_baselittle]))))) basedown = COLOR([213/255,214/255,182/255])(STRUCT([map1_basedown,..,map4_basedown])))
This is the final T24 BASE QUADRA model