Mixed my Leadlight 🪟 with Gilbert tessellation by @reinder
Added text
Added borders
Added hexagonal angle
#tessellation
turtletoy.net/turtle/search/leadlight
Log in to post a comment.
// Gilbert tessellation. Created by Reinder Nijhoff 2023 - @reindernijhoff // // https://turtletoy.net/turtle/4823100ba2 // const poissonRadius = 10; // min=5, max=50, step=1 const angle = 0; // min=0, max=3, step=1 (Free, ∟, ∠, Hex) const border = 10; //min=0, max=50, step=1 const lines = []; const disc = PoissonDisc([[0,0]], poissonRadius); const points = disc.addPoints((300/poissonRadius) **2, 50, 0, 1); class lineSegment { constructor(center, delta, index) { this.index = index; this.center =[...center]; this.delta = [...delta]; this.end = add(center, scale(delta, 0.1)); this.turtle = new Turtle(center); this.done = false; } grow(dt, lines, ignoreIntersections = false) { if (this.done) return; let end = add(this.end, scale(this.delta, dt)); let done = Math.abs(end[0]) > 100-border || Math.abs(end[1]) > 100-border; lines.forEach( (line, index) => { if (index === this.index || ignoreIntersections) return; const intersection = segment_intersect(this.end, end, line.start.end, line.end.end); if (intersection) { done = true; end = intersection; } }); this.done = done || ignoreIntersections; this.turtle.goto(end); this.end = end; } } class line { constructor(start, delta, index, instant = false) { this.start = new lineSegment(start, scale(delta, 1), index); this.end = new lineSegment(start, scale(delta, -1), index); this.instant = instant; } grow(dt, lines) { this.start.grow(this.instant?.9:dt, lines, this.instant); this.end.grow(this.instant?.9:dt, lines, this.instant); } } const drawInstant = (v, i, a) => { [scale(sub(a[(i+1)%a.length], v), .5)].forEach(direction => lines.push(new line(add(v, direction), direction, i, true))); }; fontOutput()/* .map(l => l.map(p => scale(p, Math.min(1, (100-border)/90)))) */.forEach(l => l.forEach(drawInstant)); [[border-100, border-100], [border-100, 100-border], [100-border, 100-border], [100-border, border-100]].forEach(drawInstant); points.filter(p => Math.abs(p[0]) < 100-border && Math.abs(p[1]) < 100-border).forEach( point => { const r = angle == 0 ? Math.random() : angle == 1 ? (Math.random() * 4 | 0) / 4 : angle == 2? (Math.random() * 8 | 0) / 8: (Math.random() * 6 | 0) / 6; const a = r * Math.PI * 2; lines.push(new line(point, [Math.sin(a), Math.cos(a)], lines.length)); }); function walk(i) { lines.forEach(line => line.grow(1, lines)); return lines.find(a => !a.start.done || !a.end.done); } //////////////////////////////////////////////////////////////// // Poisson-Disc utility code. Created by Reinder Nijhoff 2019 // https://turtletoy.net/turtle/b5510898dc //////////////////////////////////////////////////////////////// function PoissonDisc(startPoints, radius) { class PoissonDiscGrid { constructor(sp, radius) { this.cellSize = 1/Math.sqrt(2)/radius; this.radius2 = radius*radius; this.cells = []; sp.forEach( p => this.insert(p) ); } insert(p) { const x = p[0]*this.cellSize|0, y=p[1]*this.cellSize|0; for (let xi = x-1; xi<=x+1; xi++) { for (let yi = y-1; yi<=y+1; yi++) { const ps = this.cell(xi,yi); for (let i=0; i<ps.length; i++) { if ((ps[i][0]-p[0])**2 + (ps[i][1]-p[1])**2 < this.radius2) { return false; } } } } this.cell(x, y).push(p); return true; } cell(x,y) { const c = this.cells; return (c[x]?c[x]:c[x]=[])[y]?c[x][y]:c[x][y]=[]; } } class PoissonDisc { constructor(sp, radius) { this.result = [...sp]; this.active = [...sp]; this.grid = new PoissonDiscGrid(sp, radius); } addPoints(count, maxTries=16, loosePacking=0, randomGrowOrder=0) { mainLoop: while (this.active.length > 0 && count > 0) { const index = (Math.random() * this.active.length * randomGrowOrder) | 0; const point = this.active[index]; for (let i=0; i < maxTries; i++) { const a = Math.random() * 2 * Math.PI; const d = (Math.random()*loosePacking + 1) * radius; const p = [point[0] + Math.cos(a)*d, point[1] + Math.sin(a)*d, point]; if (this.grid.insert(p)) { this.result.push(p); this.active.push(p); count--; continue mainLoop; } } this.active.splice(index, 1); } return this.result; } } return new PoissonDisc(startPoints, radius); } //////////////////////////////////////////////////////////////// // 2D math functions //////////////////////////////////////////////////////////////// function scale(a,b) { return [a[0]*b,a[1]*b]; } function add(a,b) { return [a[0]+b[0],a[1]+b[1]]; } function sub(a,b) { return [a[0]-b[0],a[1]-b[1]]; } function segment_intersect(l1p1, l1p2, l2p1, l2p2) { const d = (l2p2[1] - l2p1[1]) * (l1p2[0] - l1p1[0]) - (l2p2[0] - l2p1[0]) * (l1p2[1] - l1p1[1]); if (d === 0) return false; const n_a = (l2p2[0] - l2p1[0]) * (l1p1[1] - l2p1[1]) - (l2p2[1] - l2p1[1]) * (l1p1[0] - l2p1[0]); const n_b = (l1p2[0] - l1p1[0]) * (l1p1[1] - l2p1[1]) - (l1p2[1] - l1p1[1]) * (l1p1[0] - l2p1[0]); const ua = n_a / d; const ub = n_b / d; if (ua >= 0 && ua <= 1 && ub >= 0 && ub <= 1) { return [l1p1[0] + ua * (l1p2[0] - l1p1[0]), l1p1[1] + ua * (l1p2[1] - l1p1[1])]; } return false; } function fontOutput() { return [[[-77,-35.6],[-77,-40],[-62.62292754540243,-40],[-62.62292754540243,-35.6],[-67.61146377270121,-35.6],[-67.61146377270121,-20],[-72.01146377270122,-20],[-72.01146377270122,-35.6]],[[-50.645855090804865,-40],[-46.24585509080487,-40],[-46.24585509080487,-26.666666666666664],[-46.268014948940944,-26.143606028481035],[-46.33435790045488,-25.623770233065127],[-46.444474918989314,-25.110364240960628],[-46.597687096507364,-24.606553370833684],[-46.793049828986405,-24.115443784232735],[-47.029358640215996,-23.640063335069687],[-47.305156607794274,-23.183342901893674],[-47.61874334553897,-22.74809831805018],[-47.96818548693372,-22.337013011132107],[-48.35132860497552,-21.95262145875635],[-48.76581049493363,-21.597293562666458],[-49.209075738127254,-21.27322003750035],[-49.678391456931436,-20.982398904306052],[-50.17086416387644,-20.72662317207755],[-50.68345760096016,-20.507469783258088],[-51.21301145918836,-20.326289891365644],[-51.75626086293053,-20.184200530682155],[-52.309856498963846,-20.08207772936575],[-52.870385266102936,-20.02055110844581],[-53.43439131810365,-20],[-53.998397370104364,-20.02055110844581],[-54.55892613724346,-20.08207772936575],[-55.11252177327677,-20.184200530682155],[-55.65577117701894,-20.326289891365644],[-56.18532503524714,-20.507469783258088],[-56.69791847233086,-20.72662317207755],[-57.19039117927586,-20.982398904306052],[-57.659706898080046,-21.27322003750035],[-58.10297214127367,-21.597293562666458],[-58.51745403123178,-21.95262145875635],[-58.90059714927359,-22.337013011132107],[-59.25003929066833,-22.74809831805018],[-59.56362602841303,-23.183342901893674],[-59.839423995991304,-23.640063335069687],[-60.0757328072209,-24.115443784232735],[-60.271095539699935,-24.606553370833684],[-60.424307717217985,-25.110364240960628],[-60.53442473575242,-25.623770233065127],[-60.600767687266355,-26.14360602848103],[-60.62292754540243,-26.666666666666664],[-60.62292754540243,-40],[-56.222927545402435,-40],[-56.222927545402435,-26.666666666666664],[-56.21433141884059,-26.48882604968355],[-56.18859603713381,-26.312081879242143],[-56.145880067468205,-26.137523841926615],[-56.08644686800126,-25.966228146083452],[-56.01066286417124,-25.79925088663913],[-55.91899528956248,-25.637621533923692],[-55.812009305255025,-25.48233658664385],[-55.690364515418565,-25.33435342813706],[-55.55481090063345,-25.194584423784917],[-55.40618419401097,-25.063891295977157],[-55.24540072862086,-24.943079811306596],[-55.073451787993164,-24.83289481275012],[-54.89139749452569,-24.734015627464057],[-54.70036027347685,-24.647051878506367],[-54.50151793284075,-24.57253972630775],[-54.29609640176918,-24.510938563064318],[-54.08536217231079,-24.462628180431935],[-53.87061449106644,-24.427906427984354],[-53.65317734890185,-24.406987376871577],[-53.43439131810365,-24.4],[-53.21560528730545,-24.406987376871577],[-52.99816814514086,-24.427906427984354],[-52.78342046389651,-24.462628180431935],[-52.57268623443812,-24.510938563064318],[-52.36726470336656,-24.57253972630775],[-52.168422362730446,-24.647051878506367],[-51.97738514168161,-24.734015627464057],[-51.795330848214135,-24.83289481275012],[-51.62338190758644,-24.943079811306596],[-51.46259844219633,-25.063891295977157],[-51.31397173557385,-25.194584423784917],[-51.178418120788734,-25.33435342813706],[-51.056773330952275,-25.48233658664385],[-50.94978734664482,-25.637621533923692],[-50.85811977203606,-25.79925088663913],[-50.78233576820604,-25.966228146083452],[-50.722902568739094,-26.137523841926615],[-50.680186599073494,-26.312081879242143],[-50.65445121736671,-26.488826049683553],[-50.645855090804865,-26.666666666666664]],[[-44.24585509080487,-40],[-44.24585509080487,-20],[-39.84585509080487,-20],[-39.84585509080487,-27.8],[-38.40678987112092,-27.8],[-34.50678987112092,-20],[-29.8687826362073,-20],[-33.94386817100639,-28.150171069598183],[-33.19944058779606,-28.464860202450957],[-32.78154139144001,-28.698894997440036],[-32.38329259722321,-28.964996334312822],[-32.00714954139318,-29.26152360983981],[-31.65543127096936,-29.58664863476206],[-31.33030624604711,-29.93836690518588],[-31.03377897052012,-30.314509961015915],[-30.767677633647338,-30.712758755232713],[-30.533642838658253,-31.130657951588763],[-30.33311748788845,-31.56563106257295],[-30.167337886806862,-32.01499633431282],[-30.037326121781472,-32.47598328047898],[-29.94388375857696,-32.94574976325459],[-29.887586900435217,-33.42139951606015],[-29.8687826362073,-33.9],[-29.887586900435217,-34.378600483939856],[-29.94388375857696,-34.85425023674541],[-30.037326121781472,-35.32401671952102],[-30.167337886806862,-35.78500366568718],[-30.33311748788845,-36.23436893742705],[-30.533642838658253,-36.66934204841124],[-30.767677633647338,-37.087241244767284],[-31.03377897052012,-37.48549003898408],[-31.33030624604711,-37.86163309481412],[-31.65543127096936,-38.21335136523794],[-32.00714954139318,-38.538476390160184],[-32.38329259722322,-38.83500366568718],[-32.78154139144001,-39.10110500255996],[-33.19944058779606,-39.33513979754905],[-33.63441369878025,-39.53566514831885],[-34.08377897052012,-39.70144474940044],[-34.54476591668627,-39.831456514425824],[-35.01453239946189,-39.92489887763034],[-35.490182152267444,-39.981195735772076],[-35.9687826362073,-40]], [[-39.84585509080487,-32.2],[-39.84585509080487,-35.6],[-35.9687826362073,-35.599999999999994],[-35.835402173469966,-35.59475946734632],[-35.702844045638905,-35.57907017901174],[-35.57192551765226,-35.55302886467605],[-35.44345374576989,-35.516796077701756],[-35.31822080118665,-35.470595205269184],[-35.19699878665007,-35.414711091120225],[-35.08053507619019,-35.34948827940195],[-34.9695477073101,-35.27532889043741],[-34.864720954045985,-35.19269014152005],[-34.76670110819017,-35.10208152801713],[-34.676092494687246,-35.00406168216131],[-34.59345374576989,-34.8992349288972],[-34.51929435680535,-34.78824756001711],[-34.454071545087075,-34.67178384955723],[-34.39818743093811,-34.55056183502065],[-34.35198655850554,-34.42532889043741],[-34.31575377153125,-34.29685711855504],[-34.28971245719556,-34.16593859056839],[-34.27402316886098,-34.033380462737334],[-34.2687826362073,-33.9],[-34.27402316886098,-33.76661953726266],[-34.28971245719556,-33.63406140943161],[-34.31575377153125,-33.50314288144496],[-34.35198655850554,-33.374671109562584],[-34.39818743093811,-33.249438164979345],[-34.454071545087075,-33.12821615044277],[-34.51929435680535,-33.011752439982885],[-34.59345374576989,-32.900765071102796],[-34.676092494687246,-32.79593831783869],[-34.76670110819017,-32.69791847198287],[-34.864720954045985,-32.60730985847995],[-34.96954770731009,-32.52467110956259],[-35.08053507619019,-32.450511720598044],[-35.19699878665007,-32.38528890887977],[-35.31822080118665,-32.32940479473081],[-35.44345374576989,-32.28320392229824],[-35.57192551765226,-32.246971135323946],[-35.702844045638905,-32.22092982098826],[-35.835402173469966,-32.20524053265368],[-35.9687826362073,-32.2]],[[-27.8687826362073,-35.6],[-27.8687826362073,-40],[-13.491710181609733,-40],[-13.491710181609733,-35.6],[-18.480246408908517,-35.6],[-18.480246408908517,-20],[-22.880246408908516,-20],[-22.880246408908516,-35.6]],[[-11.491710181609733,-20],[2.885362272987834,-20],[2.885362272987834,-24.4],[-7.0917101816097325,-24.4],[-7.0917101816097325,-40],[-11.491710181609733,-40]],[[4.885362272987834,-20],[4.885362272987834,-40],[19.2624347275854,-40],[19.2624347275854,-35.6],[9.285362272987834,-35.6],[9.285362272987834,-32.2],[16.473898500286616,-32.2],[16.473898500286616,-27.8],[9.285362272987834,-27.8],[9.285362272987834,-24.4],[19.2624347275854,-24.4],[19.2624347275854,-20]],[[21.2624347275854,-35.6],[21.2624347275854,-40],[35.63950718218297,-40],[35.63950718218297,-35.6],[30.650970954884183,-35.6],[30.650970954884183,-20],[26.250970954884185,-20],[26.250970954884185,-35.6]],[[55.610847750429926,-30],[55.50021923836741,-28.435655349597692],[55.1710577433018,-26.909830056250527],[54.631468313666005,-25.460095002604533],[53.8947374320123,-24.122147477075266],[52.97900585771661,-22.928932188134524],[51.906821941276945,-21.909830056250527],[50.70458640909046,-21.08993475811632],[49.40190228995056,-20.489434837048464],[48.0308459902312,-20.12311659404862],[46.62517746630645,-20],[45.21950894238169,-20.123116594048625],[43.84845264266233,-20.489434837048464],[42.54576852352243,-21.08993475811632],[41.34353299133595,-21.909830056250527],[40.271349074896285,-22.928932188134524],[39.35561750060059,-24.122147477075266],[38.61888661894688,-25.460095002604533],[38.079297189311085,-26.909830056250527],[37.750135694245486,-28.43565534959769],[37.63950718218297,-30],[37.750135694245486,-31.564344650402308],[38.079297189311085,-33.09016994374947],[38.61888661894688,-34.53990499739547],[39.35561750060059,-35.87785252292473],[40.27134907489628,-37.071067811865476],[41.34353299133595,-38.09016994374947],[42.54576852352243,-38.91006524188368],[43.84845264266233,-39.510565162951536],[45.21950894238169,-39.876883405951375],[46.62517746630645,-40],[48.0308459902312,-39.876883405951375],[49.40190228995056,-39.510565162951536],[50.70458640909045,-38.91006524188368],[51.906821941276945,-38.09016994374947],[52.97900585771661,-37.071067811865476],[53.8947374320123,-35.877852522924734],[54.631468313666005,-34.53990499739547],[55.1710577433018,-33.09016994374947],[55.50021923836741,-31.56434465040231],[55.610847750429926,-30]],[[51.21084775042992,-30],[51.154390539748796,-29.12396699577471],[50.98640907160313,-28.269504831500292],[50.71103960723719,-27.457653201458537],[50.33506265676253,-26.708402587162148],[49.8677360204958,-26.040202025355335],[49.320566831190064,-25.469504831500295],[48.70702821023645,-25.01036346454514],[48.0422275147008,-24.674083508747138],[47.34253434405419,-24.46894529266723],[46.62517746630645,-24.4],[45.90782058855871,-24.46894529266723],[45.208127417912095,-24.674083508747138],[44.543326722376435,-25.01036346454514],[43.92978810142283,-25.469504831500295],[43.382618912117096,-26.040202025355335],[42.91529227585036,-26.708402587162148],[42.5393153253757,-27.457653201458537],[42.263945861009766,-28.269504831500292],[42.0959643928641,-29.12396699577471],[42.039507182182966,-30],[42.09596439286409,-30.87603300422529],[42.263945861009766,-31.730495168499708],[42.539315325375696,-32.54234679854146],[42.915292275850355,-33.29159741283785],[43.38261891211709,-33.959797974644665],[43.92978810142283,-34.530495168499705],[44.543326722376435,-34.98963653545486],[45.208127417912095,-35.32591649125286],[45.90782058855871,-35.53105470733277],[46.62517746630645,-35.6],[47.34253434405419,-35.53105470733277],[48.04222751470079,-35.32591649125286],[48.70702821023645,-34.98963653545486],[49.320566831190064,-34.530495168499705],[49.8677360204958,-33.959797974644665],[50.33506265676253,-33.29159741283785],[50.71103960723719,-32.542346798541466],[50.98640907160313,-31.730495168499708],[51.154390539748796,-30.87603300422529],[51.21084775042992,-30]],[[57.610847750429926,-40],[62.898989621110445,-40],[66.92158535243685,-33.966106403010386],[70.94418108376325,-40],[76.23232295444377,-40],[69.12158535243685,-29.33389359698961],[69.12158535243685,-20],[64.72158535243685,-20],[64.72158535243685,-29.33389359698961]],[[-45,20],[-41.666666666666664,10],[-39.34766304920986,10],[-36.01432971587652,20],[-38.333333333333336,20],[-39.07777777777778,17.766666666666666],[-41.936551938098745,17.766666666666666],[-42.680996382543185,20]],[[-40.507164857938264,13.478505426185219],[-39.81111111111111,15.566666666666666],[-41.20321860476541,15.566666666666666]],[[-32.81432971587652,20],[-35.01432971587652,20],[-35.01432971587652,10],[-32.81432971587652,10],[-30.547663049209852,14.615735660036739],[-30.547663049209852,10],[-28.347663049209856,10],[-28.347663049209856,20],[-30.547663049209852,20],[-32.81432971587652,15.384264339963263]],[[-25.147663049209857,20],[-27.347663049209856,20],[-27.347663049209856,10],[-25.147663049209857,10],[-22.880996382543188,14.615735660036739],[-22.880996382543188,10],[-20.680996382543192,10],[-20.680996382543192,20],[-22.880996382543188,20],[-25.147663049209857,15.384264339963263]],[[-10.695326098419715,15],[-10.750640354450972,15.782172325201154],[-10.915221101983775,16.545084971874736],[-11.185015816801672,17.269952498697734],[-11.553381257628526,17.938926261462367],[-12.011247044776372,18.535533905932738],[-12.547339002996205,19.045084971874736],[-13.148456769089446,19.45503262094184],[-13.799798828659394,19.755282581475768],[-14.485326978519076,19.938441702975688],[-15.188161240481453,20],[-15.890995502443833,19.938441702975688],[-16.57652365230351,19.755282581475768],[-17.22786571187346,19.45503262094184],[-17.828983477966702,19.045084971874736],[-18.365075436186533,18.535533905932738],[-18.822941223334382,17.938926261462367],[-19.191306664161235,17.269952498697734],[-19.461101378979134,16.545084971874736],[-19.625682126511933,15.782172325201156],[-19.680996382543192,15],[-19.625682126511933,14.217827674798846],[-19.461101378979134,13.454915028125262],[-19.191306664161235,12.730047501302268],[-18.822941223334382,12.061073738537635],[-18.365075436186537,11.464466094067262],[-17.828983477966702,10.954915028125264],[-17.22786571187346,10.54496737905816],[-16.57652365230351,10.244717418524232],[-15.890995502443833,10.06155829702431],[-15.188161240481453,10],[-14.485326978519076,10.06155829702431],[-13.799798828659394,10.244717418524232],[-13.148456769089448,10.54496737905816],[-12.547339002996205,10.954915028125264],[-12.011247044776372,11.464466094067262],[-11.553381257628526,12.061073738537633],[-11.185015816801672,12.730047501302266],[-10.915221101983775,13.454915028125262],[-10.750640354450974,14.217827674798844],[-10.695326098419715,15]],[[-12.895326098419714,15],[-12.923554703760278,15.438016502112646],[-13.007545437833112,15.865247584249854],[-13.145230170016081,16.27117339927073],[-13.33321864525341,16.645798706418926],[-13.566881963386777,16.979898987322333],[-13.840466558039646,17.265247584249853],[-14.14723586851645,17.49481826772743],[-14.479636216284279,17.66295824562643],[-14.829482801607583,17.765527353666386],[-15.188161240481453,17.8],[-15.546839679355323,17.765527353666386],[-15.896686264678628,17.66295824562643],[-16.22908661244646,17.49481826772743],[-16.53585592292326,17.265247584249853],[-16.809440517576128,16.979898987322333],[-17.043103835709495,16.645798706418926],[-17.231092310946824,16.27117339927073],[-17.368777043129793,15.865247584249854],[-17.452767777202627,15.438016502112646],[-17.480996382543193,15],[-17.45276777720263,14.561983497887354],[-17.368777043129793,14.134752415750146],[-17.231092310946828,13.72882660072927],[-17.0431038357095,13.354201293581074],[-16.80944051757613,13.020101012677667],[-16.53585592292326,12.734752415750147],[-16.22908661244646,12.50518173227257],[-15.896686264678628,12.337041754373569],[-15.546839679355323,12.234472646333614],[-15.188161240481453,12.2],[-14.829482801607583,12.234472646333614],[-14.47963621628428,12.337041754373569],[-14.14723586851645,12.50518173227257],[-13.840466558039646,12.734752415750147],[-13.566881963386777,13.020101012677667],[-13.33321864525341,13.354201293581074],[-13.145230170016081,13.728826600729267],[-13.007545437833112,14.134752415750146],[-12.923554703760278,14.561983497887354],[-12.895326098419714,15]],[[0.6932101288790689,10],[-1.5067898711209313,10],[-1.5067898711209313,20],[0.6932101288790689,20],[0.6932101288790689,16.957010852370434],[1.7075398447555905,20],[4.026543462212402,20],[5.040873178088924,16.957010852370434],[5.040873178088924,20],[7.240873178088924,20],[7.240873178088924,10],[5.040873178088924,10],[2.867041653483996,16.52149457381478]],[[10.440873178088925,10],[8.240873178088924,10],[8.240873178088924,20],[10.440873178088925,20],[10.440873178088925,16.957010852370434],[11.455202893965446,20],[13.774206511422257,20],[14.78853622729878,16.957010852370434],[14.78853622729878,20],[16.98853622729878,20],[16.98853622729878,10],[14.78853622729878,10],[12.614704702693851,16.52149457381478]],[[17.98853622729878,10],[20.63260716263904,10],[22.643905028302242,13.016946798494807],[24.655202893965445,10],[27.299273829305704,10],[23.965940495972372,15],[27.299273829305704,20],[24.655202893965445,20],[22.643905028302242,16.983053201505193],[20.63260716263904,20],[17.98853622729878,20],[21.321869560632113,15]],[[10.440873178088925,10],[8.240873178088924,10],[8.240873178088924,20],[10.440873178088925,20],[10.440873178088925,16.957010852370434],[11.455202893965446,20],[13.774206511422257,20],[14.78853622729878,16.957010852370434],[14.78853622729878,20],[16.98853622729878,20],[16.98853622729878,10],[14.78853622729878,10],[12.614704702693851,16.52149457381478]],[[17.98853622729878,10],[20.63260716263904,10],[22.643905028302242,13.016946798494807],[24.655202893965445,10],[27.299273829305704,10],[23.965940495972372,15],[27.299273829305704,20],[24.655202893965445,20],[22.643905028302242,16.983053201505193],[20.63260716263904,20],[17.98853622729878,20],[21.321869560632113,15]],[[28.299273829305704,10],[31.632607162639037,20],[33.95161078009585,20],[37.284944113429184,10],[34.96594049597237,10],[32.79210897136744,16.52149457381478],[30.618277446762516,10]],[[38.284944113429184,20],[38.284944113429184,10],[40.48494411342919,10],[40.48494411342919,20]],[[41.48494411342919,20],[41.48494411342919,10],[43.68494411342919,10],[43.68494411342919,20]],[[44.68494411342919,20],[44.68494411342919,10],[46.88494411342919,10],[46.88494411342919,20]]];}