Leadlight 🪟

Segmenting tranched sections of partially sliced pieces divided by fragmented chunks of splitted shards, but that's only part of it.

The other part is a preview to an upcoming font-face

Log in to post a comment.

const nLines = 300; //min=0 max=1000 step=10
const margin = 10; //min=0 max=50 step=5
const pPass = 0; //min=0 max=1 step=.1
const branding = 1; //min=0 max=1 step=1 (No, Yes)
// You can find the Turtle API reference here: https://turtletoy.net/syntax
Canvas.setpenopacity(1);

// Global code will be evaluated once.
const turtle = new Turtle();

const borders = [
    [[margin-100, margin-100], [200-margin-margin, 0]],
    [[100-margin, margin-100], [0, 200-margin-margin]],
    [[100-margin, 100-margin], [margin+margin-200, 0]],
    [[margin-100, 100-margin], [0, margin+margin-200]]
];

const rndPt = (w = 200, h = 200, d=[-100,-100]) => [d[0] + Math.random() * w, d[1] + Math.random() * h];
const rndDr = () => { a = Math.random(); return norm2([Math.sin(2*Math.PI*a), Math.cos(2*Math.PI*a)]); }

//((turtle, borders) => { borders.forEach(b => {turtle.jump(b[0][0], b[0][1] < 0 ?-100: 100);turtle.goto(b[0][0], b[0][1] < 0 ? -95: 95);turtle.jump(b[0][0] < 0 ? -100: 100, b[0][1]);turtle.goto(b[0][0] < 0 ? -95: 95, b[0][1]);});borders.forEach(r => drawRay(r));})(turtle, borders);

const lines = borders.map(b => b.map(c => c));

if(branding == '1') fontOutput().forEach(l => l.map((v, i, arr) => [v, sub2(arr[(i + 1) % arr.length], v)]).forEach(l => lines.push(l)));

// The walk function will be called until it returns false.
function walk(i) {
    if( i < nLines) {
        const pt = rndPt(200-margin-margin, 200-margin-margin, [margin-100, margin-100]);
        const dir = rndDr();
        
        const borderXings = borders.map((b, i) => intersect_info2(b[0], b[1], pt, dir))
               .filter(x => 0 <= x[0] && x[0] <= 1);
        const min = (borderXings.reduce((p, c) => c[1] < p? c[1]: p, 0) * 100000 - 1) / 100000;
        const max = (borderXings.reduce((p, c) => c[1] > p? c[1]: p, 0) * 100000 + 1) / 100000;
        
        //const xingsL = lines.map((b, i) => [i, ...intersect_info2(b[0], b[1], pt, dir)]);
        const xingsL = lines.map((b, i) => [i, intersect_info2(b[0], b[1], pt, dir)])
                            .filter(x => x[1] !== false)
                            .map(x => [x[0], ...x[1]]);
        const xings = xingsL.filter(x => min <= x[2] && x[2] <= max && 0 <= x[1] && x[1] <= 1);
    
        const forwardXings = (xings.filter(x => 0 <= x[2])).sort((a, b) => a[2] > b[2]? 1: -1);
        const backwardXings = (xings.filter(x => x[2] < 0)).sort((a, b) => a[2] > b[2]? -1: 1);
        if(forwardXings.length == 0 || backwardXings.length == 0) {
            debugger;
        }
        /* xings: [
            [index in lines, multiplier of line direction, multiplier of new direction, intersection point]
        ] */
        const first = [forwardXings[0], backwardXings[0]];
        const forwards = forwardXings.map((x, i, arr) => [x, arr[(i+1) % arr.length]]);
        forwards.pop();
        const backwards = backwardXings.map((x, i, arr) => [x, arr[(i+1) % arr.length]]);
        backwards.pop();
        
        function splitLine(lineIdx, pt) {
            const newLine = [add2( lines[ lineIdx ][0], lines[ lineIdx ][1])];
            newLine.push(sub2(pt, newLine[0]));
            lines[ lineIdx ][1] = sub2(pt, lines[ lineIdx ][0]);
            lines.push(newLine);
        }
        
        function handleSegment(segX, first = false) {
            if(first) splitLine( segX[0][0], segX[0][3] );
            splitLine( segX[1][0], segX[1][3] );
            lines.push([segX[0][3], sub2(segX[1][3], segX[0][3])]);
        }
        
        handleSegment(first, true);
        
        for(const f of forwards) {
            if(Math.random() > pPass) break;
            handleSegment(f, false);
        }
        for(const f of backwards) {
            if(Math.random() > pPass) break;
            handleSegment(f, false);
        }
        return true;
    }
    
    
    drawRay(lines.pop());

    return lines.length > 0;
}

function drawRay(r) {
    turtle.jump(r[0]);
    turtle.goto(add2(r[0], r[1]));
}




function norm2(a) { return scale2(a, 1/len2(a)); }
function add2(a, b) { return [a[0]+b[0], a[1]+b[1]]; }
function sub2(a, b) { return [a[0]-b[0], a[1]-b[1]]; }
function mul2(a, b) { return [a[0]*b[0], a[1]*b[1]]; }
function scale2(a, s) { return mul2(a, [s,s]); }
function lerp2(a,b,t) { return [a[0]*(1-t) + b[0]*t, a[1]*(1-t) + b[1]*t]; }
function lenSq2(a) { return a[0]**2+a[1]**2; }
function len2(a) { return Math.sqrt(lenSq2(a)); }

function rot2(a) { return [Math.cos(a), -Math.sin(a), Math.sin(a), Math.cos(a)]; }
function trans2(m, a) { return [m[0]*a[0]+m[2]*a[1], m[1]*a[0]+m[3]*a[1]]; }

function dist2(a,b) { return Math.hypot(...sub2(a,b)); }
function dot2(a,b) { return a[0]*b[0]+a[1]*b[1]; }
function cross2(a,b) { return a[0]*b[1] - a[1]*b[0]; }
function multiply2(a2x2, a) { return [(a[0]*a2x2[0])+(a[1]*a2x2[1]),(a[0]*a2x2[2])+(a[1]*a2x2[3])]; }
function intersect_info2(as, ad, bs, bd) {
    const d = [bs[0] - as[0], bs[1] - as[1]];
    const det = bd[0] * ad[1] - bd[1] * ad[0];
    if(det === 0) return false;
    const res = [(d[1] * bd[0] - d[0] * bd[1]) / det, (d[1] * ad[0] - d[0] * ad[1]) / det];
    return [...res, add2(as, scale2(ad, res[0]))];
}
function intersect_ray2(a, b, c, d) {
    const i = intersect_info2(a, b, c, d);
    return i === false? i: i[2];
}
function segment_intersect2(a,b,c,d, inclusive = true) {
    const i = intersect_info(a, sub2(b, a), c, sub2(d, c));
    if(i === false) return false;
    const t = inclusive? 0<=i[0]&&i[0]<=c&&0<=i[1]&&i[1]<=1: 0<i[0]&&i[0]<1&&0<i[1]&&i[1]<1;
    return t?i[2]:false;
}
function eq2(a,b) { return a[0]==b[0]&&a[1]==b[1]; }

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]]];}