diff --git a/simpleExample/coming_test.js b/simpleExample/coming_test.js new file mode 100644 index 0000000..14b302a --- /dev/null +++ b/simpleExample/coming_test.js @@ -0,0 +1,80 @@ +import Shape from 'clipper-js'; +import comb from '../src/sliceActions/helpers/comb.js'; + +const canvas = document.createElement('canvas'); +document.body.appendChild(canvas); +canvas.width = 720; +canvas.height = 480; +const context = canvas.getContext('2d'); + +const outline = new Shape([[ + { x: 100, y: 100 }, + { x: 400, y: 100 }, + { x: 400, y: 150 }, + { x: 200, y: 150 }, + { x: 200, y: 200 }, + { x: 400, y: 200 }, + { x: 400, y: 250 }, + { x: 200, y: 250 }, + { x: 200, y: 300 }, + { x: 400, y: 300 }, + { x: 400, y: 400 }, + { x: 100, y: 400 } +], [ + { x: 130, y: 310 }, + { x: 130, y: 370 }, + { x: 360, y: 370 }, + { x: 360, y: 360 }, + { x: 150, y: 360 }, + { x: 150, y: 350 }, + { x: 360, y: 350 }, + { x: 360, y: 340 }, + { x: 150, y: 340 }, + { x: 150, y: 330 }, + { x: 360, y: 330 }, + { x: 360, y: 310 } +]], true, true, false); + +const start = { x: 380, y: 120 }; +const end = { x: 200, y: 380 }; + +let combPath = comb(outline, start, end); + +canvas.onmousemove = (event) => { + start.x = event.x; + start.y = event.y; + + combPath = comb(outline, start, end); + draw(); +}; + +draw(); + +function draw() { + context.clearRect(0, 0, canvas.width, canvas.height); + + context.strokeStyle = 'black'; + for (const path of outline.mapToLower()) { + context.beginPath(); + for (const point of path) { + context.lineTo(point.x, point.y); + } + context.closePath(); + context.stroke(); + } + + context.strokeStyle = 'red'; + context.beginPath(); + for (const point of combPath) { + context.lineTo(point.x, point.y); + } + context.stroke(); + + context.beginPath(); + context.arc(start.x, start.y, 3, 0, Math.PI * 2.0, false); + context.stroke(); + + context.beginPath(); + context.arc(end.x, end.y, 3, 0, Math.PI * 2.0, false); + context.stroke(); +} diff --git a/simpleExample/index.js b/simpleExample/index.js index 43f9cd1..815e065 100644 --- a/simpleExample/index.js +++ b/simpleExample/index.js @@ -1,5 +1,7 @@ import * as THREE from 'three'; import { defaultSettings, sliceGeometry } from 'doodle3d-slicer'; +import fileURL from '!url-loader!./models/combingtest.json'; +import fileSaver from 'file-saver'; const settings = { ...defaultSettings.base, @@ -8,14 +10,20 @@ const settings = { ...defaultSettings.quality.high }; -const geometry = new THREE.TorusGeometry(20, 10, 30, 30).clone(); -geometry.mergeVertices(); +const jsonLoader = new THREE.JSONLoader(); +jsonLoader.load(fileURL, geometry => { + geometry.applyMatrix(new THREE.Matrix4().makeRotationX(Math.PI / -2)); + geometry.applyMatrix(new THREE.Matrix4().setPosition(new THREE.Vector3(50, -0.0, 50))); -const onProgress = ({ progress: { done, total, action } }) => { - const percentage = `${(done / total * 100).toFixed()}%` - document.write(`

${action}, ${percentage}

`); -}; + const onProgress = ({ progress: { done, total, action } }) => { + const percentage = `${(done / total * 100).toFixed()}%` + document.write(`

${action}, ${percentage}

`); + }; -sliceGeometry(settings, geometry, null, false, onProgress).then(gcode => { - document.body.innerHTML = gcode.replace(/(?:\r\n|\r|\n)/g, '
'); + const { filament, duration, gcode } = sliceGeometry(settings, geometry, null, true, onProgress); + // console.log('filament: ', filament); + // console.log('duration: ', duration); + // document.body.innerHTML = gcode.replace(/(?:\r\n|\r|\n)/g, '
'); + const file = new File([gcode], 'gcode.gcode', { type: 'text/plain' }); + fileSaver.saveAs(file); }); diff --git a/simpleExample/models/Doodle.json b/simpleExample/models/Doodle.json new file mode 100644 index 0000000..ab36d77 --- /dev/null +++ b/simpleExample/models/Doodle.json @@ -0,0 +1 @@ +{"vertices":[47.12482452392578,42.35624313354492,-2.593571992041396e-15,-7.293127536773682,29.7335205078125,-1.820653115308456e-15,-4.207573413848877,-19.915847778320312,1.219494014914264e-15,54.97896194458008,-14.586255073547363,8.931505683412107e-16,53.85694122314453,-42.07573699951172,2.576395944332666e-15,-35.624122619628906,-25.245441436767578,1.5458375198830296e-15,-38.99018096923828,51.6129035949707,-3.1603789970181283e-15,47.12482452392578,61.71107864379883,-3.7787139115382e-15,47.12482452392578,42.35624313354492,19.999999999999996,-7.293127536773682,29.7335205078125,19.999999999999996,-4.207573413848877,-19.915847778320312,20,54.97896194458008,-14.586255073547362,20,53.85694122314453,-42.07573699951172,20.000000000000004,-35.624122619628906,-25.245441436767578,20,-38.99018096923828,51.6129035949707,19.999999999999996,47.12482452392578,61.71107864379883,19.999999999999996],"normals":[0,-6.123234262925839e-17,-1,0,6.123234262925839e-17,1,0.22595957126202507,-0.9741366804278966,5.964867098368936e-17,0.22595959003447755,-0.9741366760734609,5.964867071705706e-17,0.9980744575480833,0.062027229424660574,-3.798072564474434e-18,0.9980744575147102,0.06202722996166134,-3.798072597356249e-18,-0.08968451372047671,0.995970224453885,-6.098559003229967e-17,-0.0896845139633491,0.9959702244320148,-6.098559003096051e-17,0.9991680515439634,-0.04078240765133586,2.4972023585526864e-18,0.9991680513997995,-0.040782411183346925,2.4972025748259983e-18,-0.18484654771165182,-0.9827673955718536,6.017714989051966e-17,-0.1848465343760269,-0.9827673980801217,6.017715004410679e-17,-0.9990423495327988,-0.04375367230285246,2.679139853736555e-18,-0.9990423494957035,-0.04375367314986121,2.6791399056008846e-18,-0.11646581097902166,0.993194701391927,-6.081563825319445e-17,-0.11646581460851489,0.9931947009663187,-6.081563822713346e-17,1,0,0],"faces":[50,7,0,1,0,0,0,0,0,50,2,3,4,0,0,0,0,0,50,6,7,1,0,0,0,0,0,50,2,4,5,0,0,0,0,0,50,5,6,1,0,0,0,0,0,50,1,2,5,0,0,0,0,0,50,13,10,9,0,1,1,1,1,50,9,14,13,0,1,1,1,1,50,13,12,10,0,1,1,1,1,50,9,15,14,0,1,1,1,1,50,12,11,10,0,1,1,1,1,50,9,8,15,0,1,1,1,1,50,0,8,1,0,2,3,3,3,50,8,9,1,0,2,3,3,3,50,1,9,2,0,4,5,5,5,50,9,10,2,0,4,5,5,5,50,2,10,3,0,6,7,7,7,50,10,11,3,0,6,7,7,7,50,3,11,4,0,8,9,9,9,50,11,12,4,0,8,9,9,9,50,4,12,5,0,10,11,11,11,50,12,13,5,0,10,11,11,11,50,5,13,6,0,12,13,13,13,50,13,14,6,0,12,13,13,13,50,6,14,7,0,14,15,15,15,50,14,15,7,0,14,15,15,15,50,7,15,0,0,16,16,16,16,50,15,8,0,0,16,16,16,16]} \ No newline at end of file diff --git a/simpleExample/models/combingtest.json b/simpleExample/models/combingtest.json new file mode 100644 index 0000000..2368747 --- /dev/null +++ b/simpleExample/models/combingtest.json @@ -0,0 +1 @@ +{"vertices":[28.3138427734375,-28.186664581298828,1.7259355032180719e-15,1.6947021484375,-28.732982635498047,1.7593878374973482e-15,-16.861610412597656,-6.958946228027344,4.261125797731556e-16,-40.739898681640625,-34.978607177734375,2.141822059401268e-15,-21.475223541259766,-3.6069579124450684,2.2086248274415102e-16,-55.49744415283203,10.444540977478027,-6.395437117382639e-16,-19.71126365661621,1.8145595788955688,-1.111097338561363e-16,-17.595436096191406,29.010112762451172,-1.776357164383832e-15,23.765047073364258,38.818382263183594,-2.3769404830527847e-15,2.66464900970459,-12.128138542175293,7.426343346695919e-16,1.0442125797271729,-12.822611808776855,7.851585596769991e-16,-0.3447329103946686,-13.980066299438477,8.560322096269653e-16,-1.5021874904632568,-15.369011878967285,9.410806012460671e-16,-1.9651693105697632,-17.22093963623047,1.0544784762034404e-15,-2.196660280227661,-18.84137535095215,1.1537015510959655e-15,-1.9651693105697632,-20.693302154541016,1.2670993676576264e-15,-1.0392056703567505,-22.313739776611328,1.3663225593415765e-15,-0.11324198544025421,-23.70268440246582,1.4513708925649658e-15,1.5071945190429688,-24.62864875793457,1.5080698592415088e-15,3.1276309490203857,-25.323122024536133,1.550594084248916e-15,4.97955846786499,-25.554611206054688,1.5647687091266267e-15,6.599994659423828,-25.323122024536133,1.550594084248916e-15,8.220431327819824,-24.62864875793457,1.5080698592415088e-15,9.609376907348633,-23.471193313598633,1.4371961508958301e-15,10.766831398010254,-22.08224868774414,1.3521478176724407e-15,11.4613037109375,-20.461811065673828,1.2529246259884906e-15,11.692794799804688,-18.60988426208496,1.1395268094268298e-15,11.229813575744629,-16.29497528076172,9.977795095268975e-16,10.535340309143066,-14.674538612365723,8.9855637623866e-16,9.377885818481445,-13.285593032836914,8.135079846195581e-16,7.757449150085449,-12.35962963104248,7.568090763387277e-16,6.137012958526611,-11.896647453308105,7.284595930004562e-16,4.285085678100586,-11.665156364440918,7.142848513313205e-16,13.609539985656738,4.951261520385742,-3.031773418633226e-16,11.4613037109375,4.029927730560303,-2.4676191556881816e-16,9.618636131286621,2.495142936706543,-1.5278344720938903e-16,8.08385181427002,0.652475118637085,-3.9952580021452005e-17,7.470400810241699,-1.8013286590576172,1.1029957363931859e-16,7.164832592010498,-3.9518792629241943,2.419828250568354e-16,7.470400810241699,-6.4056830406188965,3.92234978717606e-16,8.699617385864258,-8.556233406066895,5.239182155361946e-16,9.926519393920898,-10.396586418151855,6.366073417309687e-16,12.07475471496582,-11.625802993774414,7.118751522550529e-16,14.222990989685059,-12.547137260437012,7.682906077474136e-16,16.679109573364258,-12.852705001831055,7.870012363849023e-16,18.82734489440918,-12.547137260437012,7.682906077474136e-16,20.977895736694336,-11.625802993774414,7.118751522550529e-16,22.818248748779297,-10.091018676757812,6.1789671309348e-16,24.3530330657959,-8.248351097106934,5.050658605044711e-16,25.27436637878418,-6.100114822387695,3.7352432088226106e-16,25.582250595092773,-3.643996238708496,2.231304262283275e-16,24.968799591064453,-0.5744267702102661,3.517349680893329e-17,24.047466278076172,1.573809027671814,-9.636801361542052e-17,22.512680053710938,3.4164767265319824,-2.0919887350389348e-16,20.36212921142578,4.643378734588623,-2.8432495763374284e-16,18.21389389038086,5.256829738616943,-3.218879996986675e-16,15.75777530670166,5.5647125244140625,-3.407403839282473e-16,-7.463078498840332,7.594887733459473,-4.650527679259421e-16,-9.583535194396973,6.68281364440918,-4.0920433480194585e-16,-11.40536880493164,5.166548252105713,-3.163598527835331e-16,-12.921634674072266,3.344714641571045,-2.048047129297754e-16,-13.525825500488281,0.921004593372345,-5.639526882449623e-17,-13.829078674316406,-1.201767086982727,7.358701403069212e-17,-13.525825500488281,-3.6254770755767822,2.2199645448623925e-16,-12.312813758850098,-5.750563621520996,3.521204819843226e-16,-11.099801063537598,-7.56776762008667,4.633921398517543e-16,-8.979344367980957,-8.780779838562012,5.376677196269133e-16,-6.854257583618164,-9.690539360046387,5.933744263566747e-16,-4.430547714233398,-9.991477012634277,6.118015438099812e-16,-2.3100907802581787,-9.690539360046387,5.933744263566747e-16,-0.1873190701007843,-8.780779838562012,5.376677196269133e-16,1.6321995258331299,-7.266829490661621,4.449649932005916e-16,3.148465156555176,-5.444995880126953,3.3340985334683395e-16,4.058224201202393,-3.3245389461517334,2.0356930783507656e-16,4.361477375030518,-0.896199107170105,5.487637079427533e-17,3.7526564598083496,2.134016990661621,-1.306708595488513e-16,2.845211982727051,4.256788730621338,-2.6065314605377167e-16,1.3289464712142944,6.073992729187012,-3.719248039212034e-16,-0.7938252687454224,7.2870049476623535,-4.462003836963624e-16,-2.9142820835113525,7.8935112953186035,-4.8333818818287e-16,-5.342621803283691,8.194449424743652,-5.017653348340327e-16,4.051279544830322,15.044265747070312,-9.211956348302254e-16,3.0628135204315186,14.620636940002441,-8.952558505682215e-16,2.2155566215515137,13.914589881896973,-8.520229351939275e-16,1.5095093250274658,13.067333221435547,-8.001434250656322e-16,1.2270904779434204,11.937657356262207,-7.309707254293344e-16,1.085880994796753,10.949191093444824,-6.704446205470378e-16,1.2270904779434204,9.819515228271484,-6.0127192091074e-16,2.3567662239074707,7.983792781829834,-4.888663350980044e-16,3.3452324867248535,7.418954849243164,-4.542799852798555e-16,4.333698749542236,6.995326519012451,-4.2834023021570783e-16,5.463374137878418,6.854116916656494,-4.1969363546170654e-16,6.451840400695801,6.995326519012451,-4.2834023021570783e-16,7.440306663513184,7.418954849243164,-4.542799852798555e-16,8.28756332397461,8.125001907348633,-4.975129006541494e-16,8.993610382080078,8.972258567810059,-5.493924107824447e-16,9.41723918914795,9.960724830627441,-6.099185156647413e-16,9.558448791503906,11.090400695800781,-6.790912153010391e-16,9.276029586791992,12.502495765686035,-7.655571044453396e-16,8.852401733398438,13.490962028503418,-8.260832093276361e-16,8.146353721618652,14.338218688964844,-8.779627194559314e-16,7.157887935638428,14.903056144714355,-9.12549040076224e-16,6.169421672821045,15.18547534942627,-9.298422295842267e-16,5.039745807647705,15.326684951782227,-9.38488824338228e-16,-8.893692970275879,23.69045066833496,-1.4506217923650298e-15,-10.231710433959961,23.11635398864746,-1.4154685077720852e-15,-11.382220268249512,22.16261100769043,-1.357068590781874e-15,-12.338277816772461,21.014415740966797,-1.2867619048045598e-15,-12.720237731933594,19.479631423950195,-1.192783465642987e-15,-12.912375450134277,18.14161491394043,-1.1108535802584644e-15,-12.720237731933594,16.60914421081543,-1.0170168090954139e-15,-11.954002380371094,15.271126747131348,-9.350868653151789e-16,-11.190082550048828,14.122931480407715,-8.647801793378647e-16,-9.847434997558594,13.354381561279297,-8.177200673621045e-16,-8.509417533874512,12.782599449157715,-7.827085091633948e-16,-6.976947784423828,12.590461730957031,-7.709434665705266e-16,-5.638930320739746,12.782599449157715,-7.827085091633948e-16,-4.298597812652588,13.354381561279297,-8.177200673621045e-16,-3.150402784347534,14.31275463104248,-8.76403495536498e-16,-2.192030429840088,15.460948944091797,-9.467101231180997e-16,-1.617932915687561,16.798967361450195,-1.0286401252940472e-15,-1.4281103610992432,18.331436157226562,-1.1224767796656727e-15,-1.8123853206634521,20.245866775512695,-1.2397018512245122e-15,-2.3864827156066895,21.586198806762695,-1.321773521398982e-15,-3.3402254581451416,22.736709594726562,-1.3922219921662436e-15,-4.682872772216797,23.500629425048828,-1.4389985929578215e-15,-6.020890235900879,23.884904861450195,-1.4625286781435578e-15,-7.5510454177856445,24.074726104736328,-1.4741518775507661e-15,9.86401653289795,27.32948875427246,-1.6734486192840755e-15,8.525999069213867,26.75539207458496,-1.6382953346911308e-15,7.377804279327393,25.79701805114746,-1.579611848121025e-15,6.421746730804443,24.64882469177246,-1.5093052789351357e-15,6.037471771240234,23.11635398864746,-1.4154685077720852e-15,5.847649097442627,21.778337478637695,-1.3335386223875627e-15,6.037471771240234,20.245866775512695,-1.2397018512245122e-15,6.803706645965576,18.905534744262695,-1.1576301810500423e-15,7.569941520690918,17.757339477539062,-1.087323495072728e-15,8.907958984375,16.993419647216797,-1.0405468942811502e-15,10.248291969299316,16.419321060180664,-1.0053934928967806e-15,11.78076171875,16.22949981689453,-9.937702934895723e-16,13.118779182434082,16.419321060180664,-1.0053934928967806e-15,14.461426734924316,16.993419647216797,-1.0405468942811502e-15,15.607306480407715,17.951791763305664,-1.0992302640598311e-15,16.5656795501709,19.097671508789062,-1.169395165247198e-15,17.1397762298584,20.438003540039062,-1.2514668354216678e-15,17.329599380493164,21.968158721923828,-1.345161821794771e-15,16.94763946533203,23.884904861450195,-1.4625286781435578e-15,16.375856399536133,25.22292137145996,-1.5444585635280803e-15,15.417484283447266,26.371116638183594,-1.6147652495053945e-15,14.07715129852295,27.137351989746094,-1.6616836350869198e-15,12.739133834838867,27.519311904907227,-1.6850719354827088e-15,11.206664085388184,27.711448669433594,-1.6968369196798644e-15,28.3138427734375,-28.186664581298828,20,1.6947021484375,-28.732982635498047,20,-16.861610412597656,-6.958946228027343,20,-40.739898681640625,-34.978607177734375,20.000000000000004,-21.475223541259766,-3.606957912445067,20,-55.49744415283203,10.44454097747803,20,-19.71126365661621,1.8145595788955702,20,-17.595436096191406,29.010112762451172,19.999999999999996,23.765047073364258,38.818382263183594,19.999999999999996,2.66464900970459,-12.128138542175291,20,1.0442125797271729,-12.822611808776854,20,-0.3447329103946686,-13.980066299438475,20,-1.5021874904632568,-15.369011878967283,20,-1.9651693105697632,-17.22093963623047,20,-2.196660280227661,-18.84137535095215,20,-1.9651693105697632,-20.693302154541016,20,-1.0392056703567505,-22.313739776611328,20,-0.11324198544025421,-23.70268440246582,20,1.5071945190429688,-24.62864875793457,20,3.1276309490203857,-25.323122024536133,20,4.97955846786499,-25.554611206054688,20,6.599994659423828,-25.323122024536133,20,8.220431327819824,-24.62864875793457,20,9.609376907348633,-23.471193313598633,20,10.766831398010254,-22.08224868774414,20,11.4613037109375,-20.461811065673828,20,11.692794799804688,-18.60988426208496,20,11.229813575744629,-16.29497528076172,20,10.535340309143066,-14.67453861236572,20,9.377885818481445,-13.285593032836912,20,7.757449150085449,-12.359629631042479,20,6.137012958526611,-11.896647453308104,20,4.285085678100586,-11.665156364440916,20,13.609539985656738,4.951261520385743,20,11.4613037109375,4.029927730560304,20,9.618636131286621,2.4951429367065443,20,8.08385181427002,0.6524751186370862,20,7.470400810241699,-1.8013286590576159,20,7.164832592010498,-3.951879262924193,20,7.470400810241699,-6.405683040618896,20,8.699617385864258,-8.556233406066893,20,9.926519393920898,-10.396586418151854,20,12.07475471496582,-11.625802993774412,20,14.222990989685059,-12.54713726043701,20,16.679109573364258,-12.852705001831053,20,18.82734489440918,-12.54713726043701,20,20.977895736694336,-11.625802993774412,20,22.818248748779297,-10.09101867675781,20,24.3530330657959,-8.248351097106932,20,25.27436637878418,-6.100114822387694,20,25.582250595092773,-3.6439962387084948,20,24.968799591064453,-0.5744267702102649,20,24.047466278076172,1.5738090276718153,20,22.512680053710938,3.4164767265319838,20,20.36212921142578,4.643378734588624,20,18.21389389038086,5.256829738616944,20,15.75777530670166,5.564712524414063,20,-7.463078498840332,7.5948877334594735,20,-9.583535194396973,6.682813644409181,20,-11.40536880493164,5.166548252105714,20,-12.921634674072266,3.3447146415710463,20,-13.525825500488281,0.9210045933723462,20,-13.829078674316406,-1.2017670869827257,20,-13.525825500488281,-3.625477075576781,20,-12.312813758850098,-5.750563621520995,20,-11.099801063537598,-7.567767620086669,20,-8.979344367980957,-8.78077983856201,20,-6.854257583618164,-9.690539360046385,20,-4.430547714233398,-9.991477012634276,20,-2.3100907802581787,-9.690539360046385,20,-0.1873190701007843,-8.78077983856201,20,1.6321995258331299,-7.26682949066162,20,3.148465156555176,-5.444995880126952,20,4.058224201202393,-3.324538946151732,20,4.361477375030518,-0.8961991071701038,20,3.7526564598083496,2.1340169906616224,20,2.845211982727051,4.256788730621339,20,1.3289464712142944,6.073992729187013,20,-0.7938252687454224,7.287004947662354,20,-2.9142820835113525,7.893511295318604,20,-5.342621803283691,8.194449424743654,20,4.051279544830322,15.044265747070314,20,3.0628135204315186,14.620636940002443,20,2.2155566215515137,13.914589881896974,20,1.5095093250274658,13.067333221435549,20,1.2270904779434204,11.937657356262209,20,1.085880994796753,10.949191093444826,20,1.2270904779434204,9.819515228271486,20,2.3567662239074707,7.983792781829835,20,3.3452324867248535,7.418954849243165,20,4.333698749542236,6.995326519012452,20,5.463374137878418,6.854116916656495,20,6.451840400695801,6.995326519012452,20,7.440306663513184,7.418954849243165,20,8.28756332397461,8.125001907348635,20,8.993610382080078,8.97225856781006,20,9.41723918914795,9.960724830627443,20,9.558448791503906,11.090400695800783,20,9.276029586791992,12.502495765686037,20,8.852401733398438,13.49096202850342,20,8.146353721618652,14.338218688964846,20,7.157887935638428,14.903056144714357,20,6.169421672821045,15.185475349426271,20,5.039745807647705,15.326684951782228,20,-8.893692970275879,23.69045066833496,20,-10.231710433959961,23.11635398864746,20,-11.382220268249512,22.16261100769043,20,-12.338277816772461,21.014415740966797,20,-12.720237731933594,19.479631423950195,20,-12.912375450134277,18.14161491394043,20,-12.720237731933594,16.60914421081543,20,-11.954002380371094,15.27112674713135,20,-11.190082550048828,14.122931480407717,20,-9.847434997558594,13.354381561279299,20,-8.509417533874512,12.782599449157717,20,-6.976947784423828,12.590461730957033,20,-5.638930320739746,12.782599449157717,20,-4.298597812652588,13.354381561279299,20,-3.150402784347534,14.312754631042482,20,-2.192030429840088,15.460948944091799,20,-1.617932915687561,16.798967361450195,20,-1.4281103610992432,18.331436157226562,20,-1.8123853206634521,20.245866775512695,20,-2.3864827156066895,21.586198806762695,20,-3.3402254581451416,22.736709594726562,20,-4.682872772216797,23.500629425048828,20,-6.020890235900879,23.884904861450195,20,-7.5510454177856445,24.074726104736328,20,9.86401653289795,27.32948875427246,20,8.525999069213867,26.75539207458496,20,7.377804279327393,25.79701805114746,20,6.421746730804443,24.64882469177246,20,6.037471771240234,23.11635398864746,20,5.847649097442627,21.778337478637695,20,6.037471771240234,20.245866775512695,20,6.803706645965576,18.905534744262695,20,7.569941520690918,17.757339477539062,20,8.907958984375,16.993419647216797,20,10.248291969299316,16.419321060180664,20,11.78076171875,16.22949981689453,20,13.118779182434082,16.419321060180664,20,14.461426734924316,16.993419647216797,20,15.607306480407715,17.951791763305664,20,16.5656795501709,19.097671508789062,20,17.1397762298584,20.438003540039062,20,17.329599380493164,21.968158721923828,20,16.94763946533203,23.884904861450195,20,16.375856399536133,25.22292137145996,20,15.417484283447266,26.371116638183594,20,14.07715129852295,27.137351989746094,20,12.739133834838867,27.519311904907227,20,11.206664085388184,27.711448669433594,20],"normals":[0,-6.123234262925839e-17,-1,0,6.123234262925839e-17,1,0.020519183536291924,-0.9997894593898277,6.121945073447895e-17,0.02051918359961077,-0.9997894593885283,6.121945073439938e-17,-0.7611041489636273,-0.6486296897539865,3.971711540252567e-17,-0.7611041389548895,-0.6486297014982711,3.9717116121655735e-17,0.7611133058257193,-0.6486189449091393,3.971645747050449e-17,0.7611133016248962,-0.6486189498385395,3.971645777234321e-17,-0.852154489282767,0.5232902888409325,-3.204229026087157e-17,-0.8521544958824544,0.5232902780936413,-3.204228960278975e-17,-0.38173329282753454,-0.9242725210385991,5.659537169104394e-17,-0.3817332917907497,-0.9242725214668013,5.659537171726375e-17,0.23443357662606212,0.9721321402722535,-5.952592829406491e-17,0.23443356100426133,0.9721321440395134,-5.952592852474306e-17,-0.9969872115560843,0.07756610080198575,-4.749554060722786e-18,-0.9969872115246768,0.07756610120567695,-4.749554085441743e-18,-0.2307418268194468,0.9730150098307963,-5.957998846537054e-17,-0.2307418284628582,0.9730150094410759,-5.957998844150704e-17,0.9977035877672088,0.06773146208697621,-4.147356093290352e-18,0.9977035878552541,0.06773146079004301,-4.147356013876094e-18,0.3939195434028195,-0.9191449250935972,5.628139697927519e-17,0.39391952877640485,-0.919144931362065,5.628139736310815e-17,0.4819188824811514,-0.8762158356866865,5.3652748267949157e-17,0.5646839198655308,-0.8253072583258304,5.053549681622111e-17,0.6401843721017902,-0.7682213025662831,4.7039990013833826e-17,0.6853646673981234,-0.7282000224404416,4.458939327670677e-17,0.728199964695024,-0.6853647287526299,4.196648789698978e-17,0.7682212985129453,-0.6401843769657959,3.919998911626793e-17,0.857492936231011,-0.5144957378967483,3.1503779304186814e-17,0.925546965700222,-0.3786328225116153,2.3184574718714407e-17,0.9701425148390808,-0.24253556626132988,1.4851020893094953e-17,0.9771763644607492,-0.21242964185648266,1.3007564614766797e-17,0.9838698984173951,-0.1788855024537891,1.0953578377657456e-17,0.9899494805523353,-0.14142144799909756,8.65956655900659e-18,0.9989685388891653,-0.04540768998359522,2.780419231078647e-18,0.999056157244501,0.04343724981914636,-2.659764563798662e-18,0.9922778688523324,0.12403479747987582,-7.594941217238432e-18,0.9676172679660562,0.2524219141316891,-1.5456385133244825e-17,0.925547005577304,0.37863272503428186,-2.318456874994893e-17,0.8682433072122762,0.4961386494530424,-3.0379731774926214e-17,0.8574930203787278,0.5144955976505211,-3.150377071658178e-17,0.8454888973655793,0.5339930003581856,-3.2697642359558125e-17,0.8320501281662503,0.5547004454825383,-3.396560773438905e-17,0.7295370833198457,0.6839412577562293,-4.187932543321536e-17,0.6139406589061491,0.7893521820720352,-4.833388326778761e-17,0.49613919630668624,0.8682429947244927,-5.3164552538423526e-17,0.46400725080081356,0.8858314011166408,-5.4241531864930175e-17,0.42993381754390103,0.9028604058945813,-5.52842577201283e-17,0.3939195434028195,0.9191449250935972,-5.628139697927519e-17,0.30320352934502115,0.9529258207188653,-5.834988035452481e-17,0.2124291048767027,0.977176481195328,-5.983480510580539e-17,0.12403380695204974,0.9922779926678721,-6.075950603051189e-17,0.0434369003025641,0.9990561724408219,-6.117454985677186e-17,-0.045407325657877945,0.9989685554493694,-6.11691848631311e-17,-0.14142033666194156,0.9899496393142548,-6.061693550020122e-17,-0.23161998606768477,0.9728063435514829,-5.956721134026045e-17,-0.31622762296568324,0.9486833457342202,-5.809010367266897e-17,-0.393919494438067,0.919144946078505,-5.628139826423025e-17,-0.4819189991735335,0.8762157715058431,-5.3652744338005763e-17,-0.5646842061927108,0.8253070624176847,-5.053548482030641e-17,-0.640184659077892,0.7682210634194583,-4.703997537031351e-17,-0.6853647901071317,0.7281999069496009,-4.4589386204932044e-17,-0.728199964695024,0.6853647287526299,-4.196648789698978e-17,-0.7682211066549203,0.6401846071953695,-3.9200003213764065e-17,-0.8253073051098508,0.5646838514888803,-3.457691507157638e-17,-0.8762160546565049,0.4819184843541377,-2.950899775334546e-17,-0.9191452258767969,0.39391884157512963,-2.4120573475448893e-17,-0.9529258520308541,0.30320343093585045,-1.8565856369430678e-17,-0.9771763675539503,0.2124296276277565,-1.3007563743508561e-17,-0.992277860990993,0.12403486037054166,-7.59494506818123e-18,-0.9999999999999876,1.5845023426663633e-7,-9.702279034300934e-24,-0.9943091746649122,-0.10653293001312447,6.523260871862442e-18,-0.9805807223028589,-0.19611590207834656,1.2008636111107404e-17,-0.9679969284660975,-0.25096204191112387,1.5366993737240242e-17,-0.9486832771888858,-0.3162278286017153,1.9363370749846626e-17,-0.919144946078505,-0.393919494438067,2.4120613451775965e-17,-0.8762158621140902,-0.48191883443134076,2.9509019189392703e-17,-0.8253072583258304,-0.5646839198655308,3.4576919258438873e-17,-0.7682213228329634,-0.6401843477817711,3.919998732926173e-17,-0.6853646673981234,-0.7282000224404416,4.458939327670677e-17,-0.5931989465561829,-0.8050559047697465,4.9295458996568736e-17,-0.49613877326887607,-0.8682432364604142,5.3164567340480296e-17,-0.4299335526282614,-0.9028605320449233,5.528426544460927e-17,-0.35599541682190994,-0.9344877009366119,5.722087108657858e-17,-0.2747213521159795,-0.9615238835783374,5.887635988548392e-17,-0.2216212877895641,-0.9751328139276697,5.970966657145194e-17,-0.17134131498621077,-0.9852117304309751,6.032682224011402e-17,-0.12403482892518462,-0.992277864921666,6.075949820831243e-17,0,-1,6.123234262925839e-17,0.13511328053881275,-0.9908301577071825,6.067085170412833e-17,0.27472127737640667,-0.9615239049325167,5.887636119305034e-17,0.27472126959898585,-0.9615239071546382,5.887636132911604e-17,0.39415822549597823,-0.9190425960062252,5.627513112953628e-17,0.3941582192262831,-0.9190425986951668,5.627513129418648e-17,0.4820201362195382,-0.8761601384900469,5.3649337798121034e-17,0.5646369270997983,-0.825339409307042,5.053746549611853e-17,0.6399945128721698,-0.7683794788341983,4.7049675517266627e-17,0.6853043293951089,-0.728256806430479,4.459287029344059e-17,0.7282569516581757,-0.6853041750650156,4.1962780052842316e-17,0.7683796173356483,-0.6399943465868452,3.918835311099405e-17,0.8575215188394889,-0.5144480972141079,3.1500862153584287e-17,0.9255368631754182,-0.3786575166339727,2.3186086797675524e-17,0.9701424946005192,-0.24253564721558327,1.4851025850113533e-17,0.9772312820864225,-0.21217686328091206,1.2992086390418122e-17,0.983961487090794,-0.17838103016316936,1.0922688357511264e-17,0.9900557713184099,-0.14067540538099954,8.613884621799183e-18,0.9989783973200714,-0.04519028311287289,2.7671068990806224e-18,0.9990641771249121,0.04325239861235961,-2.648445691369264e-18,0.9923353699134551,0.12357391965429651,-7.566720588312331e-18,0.9676475900415277,0.2523056509213054,-1.5449266064511437e-17,0.9255166286086448,0.37870697137613957,-2.318911502739253e-17,0.868185634753292,0.496239562719483,-3.038591093063274e-17,0.8574644088330011,0.5145432805747948,-3.150669045373847e-17,0.8454809147337176,0.5340056393157628,-3.2698416272538966e-17,0.8320502943378438,0.5547001962252291,-3.3965592471780096e-17,0.7296123536341022,0.6838609605939688,-4.187440864986367e-17,0.6141924829432373,0.7891562544236859,-4.832188615889334e-17,0.4966424848786547,0.867955207492619,-5.3146930652037107e-17,0.46443490193190223,0.8856072616388736,-5.422780727963079e-17,0.43027342975994143,0.9026986073117744,-5.527435041386895e-17,0.3941583977998017,0.9190425221086852,-5.627512660461679e-17,0.30316323789701494,0.9529386397810711,-5.835066529573399e-17,0.21211033543506005,0.9772457242687872,-5.983904502140415e-17,0.12345904182165757,0.9923496687118297,-6.076389492259381e-17,0.04323818116272725,0.9990647925383715,-6.117507768553852e-17,-0.04520567417071781,0.9989777009637257,-6.116974486439969e-17,-0.14082379921701993,0.990034674935219,-6.062214243047979e-17,-0.2312584396147452,0.9728923548404281,-5.957247801297513e-17,-0.3160234905938325,0.9487513654234654,-5.809426867758637e-17,-0.3937999952843836,0.9191961508372516,-5.628453365156207e-17,-0.481880709886558,0.8762368295382403,-5.3654033770660614e-17,-0.5647894823830523,0.825235021426917,-5.053107358167637e-17,-0.6404692504172655,0.7679838144583165,-4.702544806063644e-17,-0.6856266012091358,0.7279534076535454,-4.4574292475578105e-17,-0.7284180602636386,0.6851329283297937,-4.195229421407706e-17,-0.7683795766143884,0.6399943954769395,-3.918835610464906e-17,-0.8253395116402292,0.5646367775176071,-3.457403262203846e-17,-0.8761602278567026,0.4820199737791901,-2.951521218859351e-17,-0.9190426699037446,0.39415805319211306,-2.4135220963140922e-17,-0.9528442372939082,0.30345981522401033,-1.8581555380008043e-17,-0.977112654556915,0.21272249600063237,-1.3025496760061768e-17,-0.9922345891666363,0.12438054534900693,-7.616112169224404e-18,-0.9999999578516817,0.0002903388281743895,-1.7778126605351596e-20,-0.9943324455952868,-0.10631550985861046,6.509947726466734e-18,-0.9806091029597298,-0.19597394518791084,1.199994375815366e-17,-0.9680066364377482,-0.2509245938772788,1.5364700706401046e-17,-0.9486535213258019,-0.31631708217571225,1.9368835955270495e-17,-0.9190426382106497,-0.39415812708963494,2.4135225488059302e-17,-0.8761600868823342,-0.48202023002602357,2.9515227879187416e-17,-0.8253392411913328,-0.5646371728373143,3.457405682839022e-17,-0.7683792058543202,-0.6399948406125509,3.9188383361345325e-17,-0.6853040523467042,-0.728257067138511,4.459288625720415e-17,-0.5928720111029446,-0.805296702123354,4.9310203582629046e-17,-0.4955346893361752,-0.8685881484711268,5.3185687110897195e-17,-0.4294931908543628,-0.9030700963988,5.5297097560928725e-17,-0.35571629222754286,-0.9345939864154326,5.722737919543423e-17,-0.27458434941606097,-0.9615630166846886,5.887875609726016e-17,-0.22163558456596905,-0.9751295645472459,5.97094676042765e-17,-0.17151835728779913,-0.9851809240506513,6.032493589327887e-17,-0.12437997638453462,-0.9922346604884263,6.07568526996532e-17,-0.00032782048412294983,-0.9999999462668637,6.123233933905258e-17,0.13485555057027598,-0.9908652685811467,6.067300162519292e-17,0.27458434941606097,-0.9615630166846886,5.887875609726016e-17,0.27458435944612736,-0.9615630138204985,5.887875592187908e-17,0.3951292839676808,-0.9186255216088806,5.624959268713619e-17,0.39512928741590425,-0.918625520125693,5.624959259631713e-17,0.4825733099334893,-0.8758555820110052,5.3630689091446395e-17,0.564755127768047,-0.8252585326185345,5.053251322701712e-17,0.639703908337202,-0.7686214345554699,4.706449103289264e-17,0.6852117698750263,-0.7283438957146097,4.4598202974325826e-17,0.7283438099971524,-0.6852118609881415,4.1957127445657654e-17,0.7686213356397419,-0.6397040271870887,3.917057617403624e-17,0.8577238195646867,-0.5141107364677041,3.1480204764770826e-17,0.9257260355178475,-0.37819480055179144,2.3157753607991334e-17,0.9703058707869769,-0.24188120455365358,1.481095279280705e-17,0.9772817295440532,-0.21194438208969904,1.2977851022462907e-17,0.9839190612794048,-0.17861489537845107,1.0937008472502458e-17,0.989949488657799,-0.1414213912608784,8.659563084792515e-18,0.9989678246923246,-0.04542339958088915,2.7813811665227167e-18,0.9990549054549743,0.04346603140789769,-2.6615269279024978e-18,0.9922632864370904,0.12415140107572176,-7.602081128571073e-18,0.9675968179709015,0.2525002927772293,-1.5461184441323362e-17,0.9255930320758516,0.3785201962546143,-2.3177678349156672e-17,0.8684760303593451,0.49573116171093584,-3.035478034588432e-17,0.8575795804523922,0.5143513032851175,-3.149493523455991e-17,0.8453920066615962,0.5341463798180046,-3.2707034143194046e-17,0.8317241251141431,0.5551891386753826,-3.399553156341388e-17,0.7293851031747564,0.6841033337638036,-4.188924972684313e-17,0.6140565897322893,0.7892619999761494,-4.832836120679331e-17,0.49654704512325254,0.8680098109925756,-5.3150274152255205e-17,0.46413938323289766,0.8857621762822036,-5.423729306614946e-17,0.42980623613496316,0.9029211479301482,-5.5287977097262135e-17,0.39355673964370064,0.9193003277933824,-5.629091265063395e-17,0.30280792049175487,0.9530516057839992,-5.835758246873074e-17,0.2118771838008516,0.9772963005069754,-5.984214192294979e-17,0.12321788330261076,0.9923796416868014,-6.07657302380669e-17,0.04314907013247527,0.9990686451624348,-6.117531359073518e-17,-0.04510852043139906,0.9989820926245325,-6.117001377607892e-17,-0.14051310859557653,0.9900788182325728,-6.062484542798814e-17,-0.23110999151190806,0.9729276292835793,-5.957463794976422e-17,-0.31602072771327067,0.9487522857182349,-5.8094325029391e-17,-0.39391937800669796,0.9191449959776837,-5.628140131967385e-17,-0.4816619554675667,0.8763570965395099,-5.3661398000889346e-17,-0.5642319467561213,0.8256163214591858,-5.0554421475896806e-17,-0.6396069833227692,0.7687020924160066,-4.706942990264477e-17,-0.6851912229342441,0.7283632253305181,-4.459938657199002e-17,-0.7283535457214867,0.6852015122830204,-4.195649377019991e-17,-0.7686213850976049,0.6397039677621511,-3.91705725353081e-17,-0.8254129421363459,0.5645294278900096,-3.456745935286029e-17,-0.8761382523598065,0.48205991614311194,-2.95176579531066e-17,-0.9189893291778171,0.3942824024190099,-2.4142835157607954e-17,-0.9528953892725711,0.30329915447141526,-1.8571717745758067e-17,-0.9771909993045097,0.21236231039959538,-1.3003441751928947e-17,-0.992292419931773,0.12391833337301573,-7.587809847143164e-18,-0.9999999569376724,-0.0002934700217681629,1.796985692432407e-20,-0.9942484816916307,-0.10709788351730995,6.557854298400328e-18,-0.9804074668394142,-0.19698019942502662,1.2061559062372877e-17,-0.9678958251109507,-0.2513516893374541,1.5390852761953903e-17,-0.9487436483490128,-0.31604665750076366,1.9352277218918637e-17,-0.9195076879115724,-0.3930720186829815,2.4068720525970582e-17,-0.8764207173033327,-0.48154618291656315,2.948620086415853e-17,-0.8252502784935749,-0.5647671890666786,3.4582018026694015e-17,-0.7678203131686432,-0.6406652532216859,3.922943429593086e-17,-0.6850177079796496,-0.728526416648228,4.4609379158670156e-17,-0.5929893388437406,-0.8052103104268249,4.930491361666685e-17,-0.49613887534616047,-0.8682431781305552,5.3164563768806384e-17,-0.430060980874183,-0.9027998409002607,5.5280549183644724e-17,-0.3562215075909875,-0.9344015397727061,5.721559523666896e-17,-0.274998431523243,-0.9614446747784068,5.887150974510731e-17,-0.2213724139731699,-0.9751893428107649,5.971312796739007e-17,-0.17065130311878635,-0.9853314836865107,6.033415501248794e-17,-0.12298670589398147,-0.9924083182709361,6.076748617249207e-17,-0.0003317360257557399,-0.9999999449756032,6.123233925998568e-17,0.13347056129198157,-0.9910527782456409,6.068448328121553e-17,0.2720839956857966,-0.9622735054503223,5.892226098879168e-17,0.27208400462939136,-0.9622735029215101,5.892226083394659e-17,0.39391969992945286,-0.9191448580106891,5.628139287163157e-17,0.39391967624649543,-0.9191448681605399,5.628139349313071e-17,0.4819189282428663,-0.8762158105177328,5.365274672679516e-17,0.6401842082938112,-0.7682214390728928,4.703999837245332e-17,0.6853646060436125,-0.7282000801858537,4.458939681259363e-17,0.7281999349473849,-0.6853647603594925,4.196648983235202e-17,0.7682212441583647,-0.6401844421912909,3.9199993110177786e-17,0.9255469846893092,-0.37863277609383983,2.3184571876445277e-17,0.9701425242334446,-0.24253552868386186,1.4851018592138556e-17,0.9771763768335527,-0.21242958494157724,1.3007561129733806e-17,0.9838699141530232,-0.1788854159078459,1.095357307824661e-17,0.989949491273403,-0.1414213729516529,8.659561963675747e-18,0.9989685400720414,-0.0454076639603303,2.7804176376131732e-18,0.9990561582144827,0.04343722750957776,-2.6597631977315133e-18,0.9922778767136677,0.12403473458920847,-7.59493736629554e-18,0.9453729762422183,0.3259906989331604,-1.9961174171026695e-17,0.8944271433161939,0.44721369086738955,-2.738394194768724e-17,0.8516582350517578,0.524097558350089,-3.209172126405039e-17,0.7936062356174429,0.6084317075803263,-3.725569878506329e-17,0.690475699900908,0.723355588798726,-4.4292757256112537e-17,0.49613898346282864,0.8682431163496035,-5.316455998581398e-17,0.4640070147155357,0.8858315247804048,-5.4241539437152146e-17,0.42993357692183704,0.9028605204765545,-5.528426473625095e-17,0.3939192450657922,0.9191450529523598,-5.628140480836675e-17,0.3032037089417618,0.9529257635744558,-5.834987685543875e-17,0.21242975568628697,0.9771763397151327,-5.98347964426416e-17,0.12403488923838256,0.9922778573825086,-6.075949774667216e-17,0.0434372721287149,0.9990561562745189,-6.117454886687126e-17,-0.04540771228925079,0.998968537875271,-6.116918378702788e-17,-0.1414214899520533,0.989949474559051,-6.061692541185413e-17,-0.23162059109963606,0.9728061994964133,-5.956720251943107e-17,-0.31622775707614137,0.9486833010307459,-5.809010093537051e-17,-0.3939192450657922,0.9191450529523598,-5.628140480836675e-17,-0.4819186719772227,0.8762159514638559,-5.3652755357256464e-17,-0.5646838108902388,0.8253073328878626,-5.053550138182902e-17,-0.6401843146108401,0.7682213504754011,-4.7039992947421356e-17,-0.6853646673981234,0.7282000224404416,-4.458939327670677e-17,-0.7282000224404416,0.6853646673981234,-4.1966484140109614e-17,-0.7682213504754011,0.6401843146108401,-3.9199985298127913e-17,-0.8253072583258304,0.5646839198655308,-3.4576919258438873e-17,-0.8762158231022098,0.4819189053620093,-2.95090235326437e-17,-0.9191448924122049,0.39391961965933636,-2.4120621119367636e-17,-0.9529256978192032,0.30320391560101034,-1.856588604661381e-17,-0.9771763246525754,0.21242982497400073,-1.3007575827481404e-17,-0.9922778638262363,0.12403483768861533,-7.594943679313747e-18,-1,0,0,-0.9943091447874416,-0.10653320886966001,6.523277946901372e-18,-0.9805806502199046,-0.1961162624932191,1.2008658180154369e-17,-0.967996910232293,-0.25096211224153786,1.5366998043736248e-17,-0.9486833695760625,-0.3162275514401113,1.9363353778592327e-17,-0.9191452134924183,-0.39391887047205176,2.412057524487513e-17,-0.8762159514638559,-0.4819186719772227,2.9509009241946483e-17,-0.825307109201731,-0.5646841378160735,3.457693260406118e-17,-0.7682209252073051,-0.6401848249323256,3.920001654630796e-17,-0.6853644219800523,-0.7282002534220575,4.458940742025222e-17,-0.5931989079255163,-0.8050559332344398,4.929546073952859e-17,-0.4961388481447886,-0.8682431936741931,5.3164564720579743e-17,-0.2747213729449815,-0.9615238776271884,5.887635952108112e-17,-0.22162130195883975,-0.9751328107073769,5.970966637426587e-17,-0.12403483768861533,-0.9922778638262363,6.075949814123671e-17,0.1351133324057396,-0.9908301506344145,6.067085127104617e-17,0.2747213729449815,-0.9615238776271884,5.887635952108112e-17,0.27472137981133515,-0.9615238756653712,5.887635940095446e-17,0.3943025891166796,-0.918980668031642,5.627133913457826e-17,0.39430258231364457,-0.9189806709505874,5.627133931331213e-17,0.4814503256981684,-0.8764733788798879,5.36685182409971e-17,0.5634020661808717,-0.8261828561663118,5.058911172319491e-17,0.6382017086274313,-0.769869196100888,4.7140894395361295e-17,0.6841998745971613,-0.7292945437895645,4.465641338297131e-17,0.7277890644748423,-0.6858010481406644,4.1993204755253693e-17,0.7684752772246238,-0.6398794795073035,3.918131953062273e-17,0.8579500033682956,-0.5137331911803459,3.1457086782377245e-17,0.9259673353112152,-0.37760362013180904,2.3121554245959262e-17,0.9704002387007022,-0.2415023327622743,1.4787753585464754e-17,0.9772735196916179,-0.2119822344196726,1.2980168809301163e-17,0.9838439030259213,-0.17902841807579514,1.0962329435991205e-17,0.9898464385732184,-0.14214087393820216,8.70361869460622e-18,0.9989594533226627,-0.045607133403526776,2.7926316189030472e-18,0.9990492058314443,0.043596838504189724,-2.66953655284099e-18,0.9922316777836798,0.12440376844205268,-7.617534173614693e-18,0.9675145265792192,0.2528154284417574,-1.5480480936308448e-17,0.9253197163251298,0.3791878460341016,-2.3218560109210586e-17,0.8677806893579569,0.49694735654536815,-3.0429250804690214e-17,0.8573096501647451,0.5148010914269727,-3.152247681617257e-17,0.8456296855353466,0.5337700206468989,-3.268398878947724e-17,0.8325665503829112,0.5539250302915543,-3.391812724573479e-17,0.7298810368935236,0.6835741890850144,-4.185684895857107e-17,0.6143072093696729,0.7890669505919284,-4.831641787606907e-17,0.49678334809619484,0.8678745906260507,-5.31419942924417e-17,0.46425443182072074,0.885701881298002,-5.4233601063018e-17,0.4296507196143744,0.902995160083846,-5.5292509034816084e-17,0.3929587872781596,0.9195560839344592,-5.630657319829389e-17,0.30251097100778596,0.9531459030074706,-5.836335650862732e-17,0.21219502569047516,0.9772273384797514,-5.983791921647041e-17,0.1244038446618663,0.9922316682274086,-6.075666947650132e-17,0.043596845940609266,0.9990492055069314,-6.117412325508881e-17,-0.045607122250902125,0.9989594538318317,-6.116862754976755e-17,-0.14214077467393393,0.9898464528274544,-6.061061714988674e-17,-0.23157000246482318,0.9728182430230439,-5.956793997278018e-17,-0.31540754457021014,0.9489563113379832,-5.810681799604459e-17,-0.39238463920407746,0.9198012257638527,-5.632158380678408e-17,-0.4812267898624757,0.8765961309055936,-5.367603463509355e-17,-0.5647216866877871,0.8252814165995142,-5.0533914466781183e-17,-0.6407934118468693,0.7677133601375247,-4.700888750900015e-17,-0.6855585475141059,0.7280174983682394,-4.4578216900179604e-17,-0.7280174703546198,0.6855585772627022,-4.1978357695376693e-17,-0.7677133990324542,0.6407933652481399,-3.923727889542962e-17,-0.8248688570362414,0.5653241271091521,-3.4616120647734026e-17,-0.875902336037682,0.4824884430986218,-2.9543897662472254e-17,-0.9189805621911468,0.394302835793561,-2.4144086340999537e-17,-0.9529945995981016,0.30298728213714554,-1.8552621072129477e-17,-0.9773337574070775,0.21170433777455752,-1.2963152546711956e-17,-0.992415628505325,0.12292770354310205,-7.527151261979126e-18,-0.9999995677299661,-0.0009298063674820162,5.693422207252495e-20,-0.9942243918406355,-0.1073212871201181,6.571533824352087e-18,-0.9804436546709799,-0.19680000003915796,1.2050525031835785e-17,-0.9678837127151301,-0.2513983266865072,1.539370847609044e-17,-0.948635505157889,-0.3163711085953283,1.9372144119507456e-17,-0.9192271073446977,-0.39372772968474,2.410887124669603e-17,-0.8767187468288754,-0.4810033668892626,2.9452962967190206e-17,-0.8263496671091194,-0.5631573738029606,3.4483445266896226e-17,-0.7698695344089569,-0.6382013005227551,3.9078560700047646e-17,-0.6860757440044191,-0.7275301186128194,4.454837349600516e-17,-0.5927621111688512,-0.8053776006089606,4.9315157186417895e-17,-0.49452415477220807,-0.8691638857815212,5.322094085515171e-17,-0.42924761402095796,-0.9031868499138562,5.530424665216582e-17,-0.3563088429126484,-0.9343682402897958,5.721355623132201e-17,-0.276038974654739,-0.9611464427815152,5.885324830129063e-17,-0.22215444325580025,-0.9750114888254937,5.970223755122597e-17,-0.17112186440402224,-0.9852498706028292,6.032915765218493e-17,-0.12310991924048346,-0.9923930409795314,6.076655070815033e-17,0.0010522351186859414,-0.9999994464004744,6.123230873106257e-17,0.13601194037993486,-0.9907071979520918,6.0663322590275e-17,0.27515924780193474,-0.961398662547995,5.886869230844959e-17,0.27515924075053777,-0.9613986645661557,5.88686924320263e-17,0.4824885597462488,-0.8759022717826405,5.3633548015540444e-17,0.5653245499713583,-0.824868567227338,5.0508634732569823e-17,0.6407938660907097,-0.7677129809899801,4.70088642929078e-17,0.6858171899628462,-0.7277738535777892,4.4563297958890916e-17,0.7285344181676842,-0.685009198146327,4.194471792508945e-17,0.7684747545381815,-0.6398801072368804,3.9181357967975263e-17,0.8575842545654193,-0.5143435100411731,3.1494458035976517e-17,0.9254659313641107,-0.37883084600433403,2.3196700161069203e-17,0.9699699029160112,-0.24322497288951225,1.4893234875962698e-17,0.9771206898984014,-0.2126855833677313,1.3023236513076624e-17,0.9839218066863117,-0.1785997713524412,1.0936082392959887e-17,0.9900860380436696,-0.14046222720357712,8.600831222598174e-18,0.9989843390891412,-0.0450587422664244,2.759052344901146e-18,0.9990719483114971,0.04307252136884261,-2.637431386363025e-18,0.9924156377525355,0.12292762888882329,-7.52714669072275e-18,0.967795263425755,0.2517386106473808,-1.5414544860173895e-17,0.9256441526815901,0.3783951672608696,-2.3170022530973103e-17,0.8681508130867114,0.4963004792833492,-3.0389640994543194e-17,0.8573556870848749,0.514724417356727,-3.1517781883232507e-17,0.8452970934130191,0.5342965692080589,-3.271623059138513e-17,0.8317922955978195,0.5550869994731545,-3.3989277340787173e-17,0.7293651981239635,0.6841245557393708,-4.1890549198122336e-17,0.6137568119194533,0.7894951398346092,-4.8342636906487056e-17,0.4958152092365793,0.8684280501513566,-5.317588391572666e-17,0.4636826302449045,0.8860013647896752,-5.425193913879194e-17,0.42965115232569284,0.9029949541969792,-5.529249642788092e-17,0.393728183789352,0.9192269128403162,-5.628641728107368e-17,0.3026849886744351,0.9530906555156006,-5.835997357527573e-17,0.21159765331627947,0.9773568606763058,-5.984585016398791e-17,0.1229267918426315,0.9924157414346462,-6.076794071019576e-17,0.04307220902500403,0.9990719617773819,-6.117551667483799e-17,-0.045058392800088824,0.9989843548516028,-6.117015229754199e-17,-0.14046109141984106,0.9900861991751764,-6.062529738039457e-17,-0.230912909756156,0.9729744231519889,-5.957750324794763e-17,-0.3155727041569189,0.9489014007741216,-5.810345569358425e-17,-0.39315443228445884,0.9194724532986756,-5.630145229854929e-17,-0.48181745755284905,0.8762716117718917,-5.3656163568308965e-17,-0.5653242360149094,0.8248687823976365,-5.050864790795126e-17,-0.6415551868312848,0.7670768815769873,-4.696991443570515e-17,-0.6858010183908833,0.7277890925082812,-4.4564231074304104e-17,-0.7277887458088775,0.6858013863167244,-4.199322546256607e-17,-0.7670765674011352,0.641555562476152,-3.928395001724633e-17,-0.8247007076364028,0.5655693970009488,-3.4631139097785156e-17,-0.8760256664017095,0.48226448325109017,-2.9530184076352995e-17,-0.9192272848823437,0.39372731519140824,-2.4108845866298324e-17,-0.953042740790504,0.3028358205802685,-1.8543346726183618e-17,-0.9773107072714993,0.21181072081573687,-1.2969666629539393e-17,-0.992392889847279,0.1231111375163366,-7.538383353878069e-18,-0.9999998919545299,-0.0004648558148855856,2.8464210530277293e-20,-0.9943205343817721,-0.10642685237639585,6.5167654896649736e-18,-0.9807171397778905,-0.19543257595875227,1.1966794452024885e-17,-0.9682265717675633,-0.25007460031604895,1.5312653609427158e-17,-0.9490175270286776,-0.3152233071845628,1.930186155025312e-17,-0.9195557458942578,-0.39295957831926553,2.4061835539094165e-17,-0.8763501195586254,-0.4816746494778224,2.949406717265396e-17,-0.8251138398696505,-0.5649665045430224,3.459422258023282e-17,-0.7677137392850175,-0.6407929576025445,3.923725393433485e-17,-0.685025572279749,-0.7285190219361485,4.460892636312646e-17,-0.5930942727841921,-0.8051330222954406,4.930018108332475e-17,-0.4963004459143516,-0.8681508321629463,5.315890920887732e-17,-0.43007489316393777,-0.9027932134603294,5.5280143369972096e-17,-0.3560177192440695,-0.9344792044685911,5.722035082793758e-17,-0.27450133594082,-0.961586718172992,5.888020739491278e-17,-0.22152818432958252,-0.9751539691493024,5.971096195523136e-17,-0.17145015639608321,-0.9851927952800705,6.03256627964661e-17,-0.12440323674040123,-0.9922317444470883,6.075667414361086e-17,-0.0005249161525066739,-0.999999862231507,6.123233419337083e-17,0.13433662230931195,-0.9909357556908145,6.067731771604304e-17,0.2736257116695347,-0.9618362490119308,5.889548675273924e-17,0.27362569467026826,-0.9618362538479267,5.88954870488586e-17],"faces":[50,13,14,2,0,0,0,0,0,50,2,3,4,0,0,0,0,0,50,4,5,62,0,0,0,0,0,50,71,72,38,0,0,0,0,0,50,37,38,72,0,0,0,0,0,50,85,86,57,0,0,0,0,0,50,62,5,6,0,0,0,0,0,50,6,109,110,0,0,0,0,0,50,123,124,133,0,0,0,0,0,50,132,133,124,0,0,0,0,0,50,108,109,6,0,0,0,0,0,50,2,14,15,0,0,0,0,0,50,12,13,2,0,0,0,0,0,50,2,4,62,0,0,0,0,0,50,70,71,38,0,0,0,0,0,50,36,37,72,0,0,0,0,0,50,80,57,86,0,0,0,0,0,50,84,85,57,0,0,0,0,0,50,61,62,6,0,0,0,0,0,50,6,110,111,0,0,0,0,0,50,122,123,133,0,0,0,0,0,50,131,132,124,0,0,0,0,0,50,107,108,6,0,0,0,0,0,50,1,2,15,0,0,0,0,0,50,11,12,2,0,0,0,0,0,50,2,62,63,0,0,0,0,0,50,70,38,39,0,0,0,0,0,50,36,72,73,0,0,0,0,0,50,79,80,86,0,0,0,0,0,50,83,84,57,0,0,0,0,0,50,60,61,6,0,0,0,0,0,50,6,111,112,0,0,0,0,0,50,121,122,133,0,0,0,0,0,50,130,131,124,0,0,0,0,0,50,107,6,7,0,0,0,0,0,50,1,15,16,0,0,0,0,0,50,10,11,2,0,0,0,0,0,50,2,63,64,0,0,0,0,0,50,69,70,39,0,0,0,0,0,50,35,36,73,0,0,0,0,0,50,78,79,86,0,0,0,0,0,50,82,83,57,0,0,0,0,0,50,59,60,6,0,0,0,0,0,50,6,112,113,0,0,0,0,0,50,120,121,133,0,0,0,0,0,50,129,130,124,0,0,0,0,0,50,106,107,7,0,0,0,0,0,50,1,16,17,0,0,0,0,0,50,2,64,65,0,0,0,0,0,50,69,39,40,0,0,0,0,0,50,35,73,74,0,0,0,0,0,50,77,78,86,0,0,0,0,0,50,82,57,58,0,0,0,0,0,50,58,59,6,0,0,0,0,0,50,6,113,114,0,0,0,0,0,50,119,120,133,0,0,0,0,0,50,128,129,124,0,0,0,0,0,50,105,106,7,0,0,0,0,0,50,1,17,18,0,0,0,0,0,50,2,65,66,0,0,0,0,0,50,68,69,40,0,0,0,0,0,50,34,35,74,0,0,0,0,0,50,77,86,87,0,0,0,0,0,50,82,58,6,0,0,0,0,0,50,6,114,115,0,0,0,0,0,50,118,119,133,0,0,0,0,0,50,128,124,125,0,0,0,0,0,50,104,105,7,0,0,0,0,0,50,1,18,19,0,0,0,0,0,50,2,66,67,0,0,0,0,0,50,68,40,41,0,0,0,0,0,50,34,74,75,0,0,0,0,0,50,76,77,87,0,0,0,0,0,50,6,115,116,0,0,0,0,0,50,117,118,133,0,0,0,0,0,50,151,128,125,0,0,0,0,0,50,127,104,7,0,0,0,0,0,50,1,19,20,0,0,0,0,0,50,10,2,67,0,0,0,0,0,50,68,41,42,0,0,0,0,0,50,33,34,75,0,0,0,0,0,50,75,76,87,0,0,0,0,0,50,82,6,116,0,0,0,0,0,50,117,133,134,0,0,0,0,0,50,151,125,126,0,0,0,0,0,50,126,127,7,0,0,0,0,0,50,0,1,20,0,0,0,0,0,50,9,10,67,0,0,0,0,0,50,68,42,43,0,0,0,0,0,50,75,87,88,0,0,0,0,0,50,81,82,116,0,0,0,0,0,50,117,134,135,0,0,0,0,0,50,151,126,7,0,0,0,0,0,50,0,20,21,0,0,0,0,0,50,32,9,67,0,0,0,0,0,50,67,68,43,0,0,0,0,0,50,75,88,89,0,0,0,0,0,50,103,81,116,0,0,0,0,0,50,117,135,136,0,0,0,0,0,50,151,7,8,0,0,0,0,0,50,0,21,22,0,0,0,0,0,50,31,32,67,0,0,0,0,0,50,75,89,90,0,0,0,0,0,50,103,116,117,0,0,0,0,0,50,117,136,137,0,0,0,0,0,50,150,151,8,0,0,0,0,0,50,0,22,23,0,0,0,0,0,50,31,67,43,0,0,0,0,0,50,33,75,90,0,0,0,0,0,50,103,117,137,0,0,0,0,0,50,149,150,8,0,0,0,0,0,50,0,23,24,0,0,0,0,0,50,30,31,43,0,0,0,0,0,50,56,33,90,0,0,0,0,0,50,102,103,137,0,0,0,0,0,50,148,149,8,0,0,0,0,0,50,0,24,25,0,0,0,0,0,50,29,30,43,0,0,0,0,0,50,56,90,91,0,0,0,0,0,50,101,102,137,0,0,0,0,0,50,147,148,8,0,0,0,0,0,50,0,25,26,0,0,0,0,0,50,28,29,43,0,0,0,0,0,50,56,91,92,0,0,0,0,0,50,100,101,137,0,0,0,0,0,50,146,147,8,0,0,0,0,0,50,0,26,27,0,0,0,0,0,50,27,28,43,0,0,0,0,0,50,55,56,92,0,0,0,0,0,50,99,100,137,0,0,0,0,0,50,145,146,8,0,0,0,0,0,50,0,27,43,0,0,0,0,0,50,55,92,93,0,0,0,0,0,50,98,99,137,0,0,0,0,0,50,144,145,8,0,0,0,0,0,50,0,43,44,0,0,0,0,0,50,55,93,94,0,0,0,0,0,50,97,98,137,0,0,0,0,0,50,0,44,45,0,0,0,0,0,50,54,55,94,0,0,0,0,0,50,97,137,138,0,0,0,0,0,50,0,45,46,0,0,0,0,0,50,54,94,95,0,0,0,0,0,50,96,97,138,0,0,0,0,0,50,0,46,47,0,0,0,0,0,50,54,95,96,0,0,0,0,0,50,96,138,139,0,0,0,0,0,50,0,47,48,0,0,0,0,0,50,54,96,139,0,0,0,0,0,50,0,48,49,0,0,0,0,0,50,53,54,139,0,0,0,0,0,50,0,49,50,0,0,0,0,0,50,53,139,140,0,0,0,0,0,50,8,0,50,0,0,0,0,0,50,52,53,140,0,0,0,0,0,50,8,50,51,0,0,0,0,0,50,52,140,141,0,0,0,0,0,50,144,8,51,0,0,0,0,0,50,52,141,142,0,0,0,0,0,50,143,144,51,0,0,0,0,0,50,52,142,143,0,0,0,0,0,50,143,51,52,0,0,0,0,0,50,204,203,295,0,1,1,1,1,50,295,294,204,0,1,1,1,1,50,203,296,295,0,1,1,1,1,50,294,293,204,0,1,1,1,1,50,203,160,296,0,1,1,1,1,50,293,292,204,0,1,1,1,1,50,203,202,160,0,1,1,1,1,50,292,205,204,0,1,1,1,1,50,202,152,160,0,1,1,1,1,50,292,291,205,0,1,1,1,1,50,202,201,152,0,1,1,1,1,50,291,206,205,0,1,1,1,1,50,201,200,152,0,1,1,1,1,50,291,248,206,0,1,1,1,1,50,200,199,152,0,1,1,1,1,50,291,290,248,0,1,1,1,1,50,248,247,206,0,1,1,1,1,50,199,198,152,0,1,1,1,1,50,290,249,248,0,1,1,1,1,50,247,246,206,0,1,1,1,1,50,198,197,152,0,1,1,1,1,50,290,289,249,0,1,1,1,1,50,246,207,206,0,1,1,1,1,50,197,196,152,0,1,1,1,1,50,289,250,249,0,1,1,1,1,50,246,245,207,0,1,1,1,1,50,196,195,152,0,1,1,1,1,50,160,297,296,0,1,1,1,1,50,289,251,250,0,1,1,1,1,50,245,244,207,0,1,1,1,1,50,195,179,152,0,1,1,1,1,50,160,298,297,0,1,1,1,1,50,289,252,251,0,1,1,1,1,50,244,208,207,0,1,1,1,1,50,195,180,179,0,1,1,1,1,50,179,178,152,0,1,1,1,1,50,160,299,298,0,1,1,1,1,50,289,253,252,0,1,1,1,1,50,244,243,208,0,1,1,1,1,50,195,181,180,0,1,1,1,1,50,178,177,152,0,1,1,1,1,50,160,300,299,0,1,1,1,1,50,289,254,253,0,1,1,1,1,50,243,242,208,0,1,1,1,1,50,195,182,181,0,1,1,1,1,50,177,176,152,0,1,1,1,1,50,160,301,300,0,1,1,1,1,50,289,255,254,0,1,1,1,1,50,242,185,208,0,1,1,1,1,50,195,183,182,0,1,1,1,1,50,176,175,152,0,1,1,1,1,50,160,302,301,0,1,1,1,1,50,289,269,255,0,1,1,1,1,50,242,227,185,0,1,1,1,1,50,195,219,183,0,1,1,1,1,50,175,174,152,0,1,1,1,1,50,160,303,302,0,1,1,1,1,50,289,288,269,0,1,1,1,1,50,269,268,255,0,1,1,1,1,50,242,241,227,0,1,1,1,1,50,219,184,183,0,1,1,1,1,50,174,173,152,0,1,1,1,1,50,160,159,303,0,1,1,1,1,50,288,287,269,0,1,1,1,1,50,268,233,255,0,1,1,1,1,50,241,240,227,0,1,1,1,1,50,195,220,219,0,1,1,1,1,50,219,161,184,0,1,1,1,1,50,173,172,152,0,1,1,1,1,50,159,278,303,0,1,1,1,1,50,287,286,269,0,1,1,1,1,50,268,234,233,0,1,1,1,1,50,240,239,227,0,1,1,1,1,50,195,194,220,0,1,1,1,1,50,219,162,161,0,1,1,1,1,50,172,153,152,0,1,1,1,1,50,159,279,278,0,1,1,1,1,50,278,277,303,0,1,1,1,1,50,286,285,269,0,1,1,1,1,50,268,158,234,0,1,1,1,1,50,239,228,227,0,1,1,1,1,50,227,186,185,0,1,1,1,1,50,194,193,220,0,1,1,1,1,50,219,154,162,0,1,1,1,1,50,172,171,153,0,1,1,1,1,50,159,256,279,0,1,1,1,1,50,277,280,303,0,1,1,1,1,50,285,270,269,0,1,1,1,1,50,268,267,158,0,1,1,1,1,50,239,229,228,0,1,1,1,1,50,227,226,186,0,1,1,1,1,50,193,192,220,0,1,1,1,1,50,219,218,154,0,1,1,1,1,50,171,170,153,0,1,1,1,1,50,159,257,256,0,1,1,1,1,50,277,276,280,0,1,1,1,1,50,285,271,270,0,1,1,1,1,50,267,266,158,0,1,1,1,1,50,158,210,234,0,1,1,1,1,50,239,238,229,0,1,1,1,1,50,226,187,186,0,1,1,1,1,50,192,221,220,0,1,1,1,1,50,218,217,154,0,1,1,1,1,50,170,169,153,0,1,1,1,1,50,159,258,257,0,1,1,1,1,50,276,281,280,0,1,1,1,1,50,285,272,271,0,1,1,1,1,50,266,265,158,0,1,1,1,1,50,158,211,210,0,1,1,1,1,50,210,209,234,0,1,1,1,1,50,238,230,229,0,1,1,1,1,50,226,225,187,0,1,1,1,1,50,192,191,221,0,1,1,1,1,50,217,216,154,0,1,1,1,1,50,169,168,153,0,1,1,1,1,50,159,259,258,0,1,1,1,1,50,276,282,281,0,1,1,1,1,50,285,273,272,0,1,1,1,1,50,265,264,158,0,1,1,1,1,50,158,212,211,0,1,1,1,1,50,209,235,234,0,1,1,1,1,50,238,231,230,0,1,1,1,1,50,225,188,187,0,1,1,1,1,50,191,222,221,0,1,1,1,1,50,216,215,154,0,1,1,1,1,50,154,163,162,0,1,1,1,1,50,168,167,153,0,1,1,1,1,50,159,158,259,0,1,1,1,1,50,276,283,282,0,1,1,1,1,50,285,274,273,0,1,1,1,1,50,264,263,158,0,1,1,1,1,50,158,213,212,0,1,1,1,1,50,209,236,235,0,1,1,1,1,50,238,232,231,0,1,1,1,1,50,225,224,188,0,1,1,1,1,50,191,190,222,0,1,1,1,1,50,215,214,154,0,1,1,1,1,50,154,164,163,0,1,1,1,1,50,167,154,153,0,1,1,1,1,50,158,260,259,0,1,1,1,1,50,276,284,283,0,1,1,1,1,50,285,275,274,0,1,1,1,1,50,263,262,158,0,1,1,1,1,50,158,214,213,0,1,1,1,1,50,209,237,236,0,1,1,1,1,50,238,209,232,0,1,1,1,1,50,224,189,188,0,1,1,1,1,50,190,223,222,0,1,1,1,1,50,214,156,154,0,1,1,1,1,50,154,165,164,0,1,1,1,1,50,167,166,154,0,1,1,1,1,50,158,261,260,0,1,1,1,1,50,276,285,284,0,1,1,1,1,50,285,276,275,0,1,1,1,1,50,262,261,158,0,1,1,1,1,50,158,157,214,0,1,1,1,1,50,209,238,237,0,1,1,1,1,50,224,190,189,0,1,1,1,1,50,190,224,223,0,1,1,1,1,50,214,157,156,0,1,1,1,1,50,156,155,154,0,1,1,1,1,50,154,166,165,0,1,1,1,1,50,0,152,1,0,2,3,3,3,50,152,153,1,0,2,3,3,3,50,1,153,2,0,4,5,5,5,50,153,154,2,0,4,5,5,5,50,2,154,3,0,6,7,7,7,50,154,155,3,0,6,7,7,7,50,3,155,4,0,8,9,9,9,50,155,156,4,0,8,9,9,9,50,4,156,5,0,10,11,11,11,50,156,157,5,0,10,11,11,11,50,5,157,6,0,12,13,13,13,50,157,158,6,0,12,13,13,13,50,6,158,7,0,14,15,15,15,50,158,159,7,0,14,15,15,15,50,7,159,8,0,16,17,17,17,50,159,160,8,0,16,17,17,17,50,8,160,0,0,18,19,19,19,50,160,152,0,0,18,19,19,19,50,9,161,10,0,20,21,21,22,50,161,162,10,0,20,21,23,22,50,10,162,11,0,24,22,23,25,50,162,163,11,0,24,23,26,25,50,11,163,12,0,27,25,26,28,50,163,164,12,0,27,26,29,28,50,12,164,13,0,30,28,29,31,50,164,165,13,0,30,29,32,31,50,13,165,14,0,33,31,32,34,50,165,166,14,0,33,32,35,34,50,14,166,15,0,36,34,35,37,50,166,167,15,0,36,35,38,37,50,15,167,16,0,39,37,38,40,50,167,168,16,0,39,38,41,40,50,16,168,17,0,42,40,41,43,50,168,169,17,0,42,41,44,43,50,17,169,18,0,45,43,44,46,50,169,170,18,0,45,44,47,46,50,18,170,19,0,48,46,47,49,50,170,171,19,0,48,47,50,49,50,19,171,20,0,51,49,50,52,50,171,172,20,0,51,50,53,52,50,20,172,21,0,54,52,53,55,50,172,173,21,0,54,53,56,55,50,21,173,22,0,57,55,56,58,50,173,174,22,0,57,56,59,58,50,22,174,23,0,60,58,59,61,50,174,175,23,0,60,59,62,61,50,23,175,24,0,63,61,62,64,50,175,176,24,0,63,62,65,64,50,24,176,25,0,66,64,65,67,50,176,177,25,0,66,65,68,67,50,25,177,26,0,69,67,68,70,50,177,178,26,0,69,68,71,70,50,26,178,27,0,72,70,71,73,50,178,179,27,0,72,71,74,73,50,27,179,28,0,75,73,74,76,50,179,180,28,0,75,74,77,76,50,28,180,29,0,78,76,77,79,50,180,181,29,0,78,77,80,79,50,29,181,30,0,81,79,80,82,50,181,182,30,0,81,80,83,82,50,30,182,31,0,84,82,83,85,50,182,183,31,0,84,83,86,85,50,31,183,32,0,87,85,86,88,50,183,184,32,0,87,86,89,88,50,32,184,9,0,90,88,89,91,50,184,161,9,0,90,89,91,91,50,33,185,34,0,92,93,93,94,50,185,186,34,0,92,93,95,94,50,34,186,35,0,96,94,95,97,50,186,187,35,0,96,95,98,97,50,35,187,36,0,99,97,98,100,50,187,188,36,0,99,98,101,100,50,36,188,37,0,102,100,101,103,50,188,189,37,0,102,101,104,103,50,37,189,38,0,105,103,104,106,50,189,190,38,0,105,104,107,106,50,38,190,39,0,108,106,107,109,50,190,191,39,0,108,107,110,109,50,39,191,40,0,111,109,110,112,50,191,192,40,0,111,110,113,112,50,40,192,41,0,114,112,113,115,50,192,193,41,0,114,113,116,115,50,41,193,42,0,117,115,116,118,50,193,194,42,0,117,116,119,118,50,42,194,43,0,120,118,119,121,50,194,195,43,0,120,119,122,121,50,43,195,44,0,123,121,122,124,50,195,196,44,0,123,122,125,124,50,44,196,45,0,126,124,125,127,50,196,197,45,0,126,125,128,127,50,45,197,46,0,129,127,128,130,50,197,198,46,0,129,128,131,130,50,46,198,47,0,132,130,131,133,50,198,199,47,0,132,131,134,133,50,47,199,48,0,135,133,134,136,50,199,200,48,0,135,134,137,136,50,48,200,49,0,138,136,137,139,50,200,201,49,0,138,137,140,139,50,49,201,50,0,141,139,140,142,50,201,202,50,0,141,140,143,142,50,50,202,51,0,144,142,143,145,50,202,203,51,0,144,143,146,145,50,51,203,52,0,147,145,146,148,50,203,204,52,0,147,146,149,148,50,52,204,53,0,150,148,149,151,50,204,205,53,0,150,149,152,151,50,53,205,54,0,153,151,152,154,50,205,206,54,0,153,152,155,154,50,54,206,55,0,156,154,155,157,50,206,207,55,0,156,155,158,157,50,55,207,56,0,159,157,158,160,50,207,208,56,0,159,158,161,160,50,56,208,33,0,162,160,161,163,50,208,185,33,0,162,161,163,163,50,57,209,58,0,164,165,165,166,50,209,210,58,0,164,165,167,166,50,58,210,59,0,168,166,167,169,50,210,211,59,0,168,167,170,169,50,59,211,60,0,171,169,170,172,50,211,212,60,0,171,170,173,172,50,60,212,61,0,174,172,173,175,50,212,213,61,0,174,173,176,175,50,61,213,62,0,177,175,176,178,50,213,214,62,0,177,176,179,178,50,62,214,63,0,180,178,179,181,50,214,215,63,0,180,179,182,181,50,63,215,64,0,183,181,182,184,50,215,216,64,0,183,182,185,184,50,64,216,65,0,186,184,185,187,50,216,217,65,0,186,185,188,187,50,65,217,66,0,189,187,188,190,50,217,218,66,0,189,188,191,190,50,66,218,67,0,192,190,191,193,50,218,219,67,0,192,191,194,193,50,67,219,68,0,195,193,194,196,50,219,220,68,0,195,194,197,196,50,68,220,69,0,198,196,197,199,50,220,221,69,0,198,197,200,199,50,69,221,70,0,201,199,200,202,50,221,222,70,0,201,200,203,202,50,70,222,71,0,204,202,203,205,50,222,223,71,0,204,203,206,205,50,71,223,72,0,207,205,206,208,50,223,224,72,0,207,206,209,208,50,72,224,73,0,210,208,209,211,50,224,225,73,0,210,209,212,211,50,73,225,74,0,213,211,212,214,50,225,226,74,0,213,212,215,214,50,74,226,75,0,216,214,215,217,50,226,227,75,0,216,215,218,217,50,75,227,76,0,219,217,218,220,50,227,228,76,0,219,218,221,220,50,76,228,77,0,222,220,221,223,50,228,229,77,0,222,221,224,223,50,77,229,78,0,225,223,224,226,50,229,230,78,0,225,224,227,226,50,78,230,79,0,228,226,227,229,50,230,231,79,0,228,227,230,229,50,79,231,80,0,231,229,230,232,50,231,232,80,0,231,230,233,232,50,80,232,57,0,234,232,233,235,50,232,209,57,0,234,233,235,235,50,81,233,82,0,236,237,237,238,50,233,234,82,0,236,237,23,238,50,82,234,83,0,239,238,23,240,50,234,235,83,0,239,23,241,240,50,83,235,84,0,242,240,241,28,50,235,236,84,0,242,241,243,28,50,84,236,85,0,244,28,243,245,50,236,237,85,0,244,243,246,245,50,85,237,86,0,247,245,246,248,50,237,238,86,0,247,246,249,248,50,86,238,87,0,250,248,249,251,50,238,239,87,0,250,249,252,251,50,87,239,88,0,253,251,252,254,50,239,240,88,0,253,252,255,254,50,88,240,89,0,256,254,255,257,50,240,241,89,0,256,255,258,257,50,89,241,90,0,259,257,258,260,50,241,242,90,0,259,258,261,260,50,90,242,91,0,262,260,261,263,50,242,243,91,0,262,261,264,263,50,91,243,92,0,265,263,264,266,50,243,244,92,0,265,264,267,266,50,92,244,93,0,268,266,267,269,50,244,245,93,0,268,267,270,269,50,93,245,94,0,271,269,270,272,50,245,246,94,0,271,270,273,272,50,94,246,95,0,274,272,273,275,50,246,247,95,0,274,273,276,275,50,95,247,96,0,277,275,276,278,50,247,248,96,0,277,276,279,278,50,96,248,97,0,280,278,279,281,50,248,249,97,0,280,279,282,281,50,97,249,98,0,283,281,282,284,50,249,250,98,0,283,282,285,284,50,98,250,99,0,286,284,285,287,50,250,251,99,0,286,285,288,287,50,99,251,100,0,289,287,288,290,50,251,252,100,0,289,288,291,290,50,100,252,101,0,292,290,291,82,50,252,253,101,0,292,291,83,82,50,101,253,102,0,293,82,83,294,50,253,254,102,0,293,83,86,294,50,102,254,103,0,295,294,86,88,50,254,255,103,0,295,86,296,88,50,103,255,81,0,297,88,296,298,50,255,233,81,0,297,296,298,298,50,104,256,105,0,299,300,300,301,50,256,257,105,0,299,300,302,301,50,105,257,106,0,303,301,302,304,50,257,258,106,0,303,302,305,304,50,106,258,107,0,306,304,305,307,50,258,259,107,0,306,305,308,307,50,107,259,108,0,309,307,308,310,50,259,260,108,0,309,308,311,310,50,108,260,109,0,312,310,311,313,50,260,261,109,0,312,311,314,313,50,109,261,110,0,315,313,314,316,50,261,262,110,0,315,314,317,316,50,110,262,111,0,318,316,317,319,50,262,263,111,0,318,317,320,319,50,111,263,112,0,321,319,320,322,50,263,264,112,0,321,320,323,322,50,112,264,113,0,324,322,323,325,50,264,265,113,0,324,323,326,325,50,113,265,114,0,327,325,326,328,50,265,266,114,0,327,326,329,328,50,114,266,115,0,330,328,329,331,50,266,267,115,0,330,329,332,331,50,115,267,116,0,333,331,332,334,50,267,268,116,0,333,332,335,334,50,116,268,117,0,336,334,335,337,50,268,269,117,0,336,335,338,337,50,117,269,118,0,339,337,338,340,50,269,270,118,0,339,338,341,340,50,118,270,119,0,342,340,341,343,50,270,271,119,0,342,341,344,343,50,119,271,120,0,345,343,344,346,50,271,272,120,0,345,344,347,346,50,120,272,121,0,348,346,347,349,50,272,273,121,0,348,347,350,349,50,121,273,122,0,351,349,350,352,50,273,274,122,0,351,350,353,352,50,122,274,123,0,354,352,353,355,50,274,275,123,0,354,353,356,355,50,123,275,124,0,357,355,356,358,50,275,276,124,0,357,356,359,358,50,124,276,125,0,360,358,359,361,50,276,277,125,0,360,359,362,361,50,125,277,126,0,363,361,362,364,50,277,278,126,0,363,362,365,364,50,126,278,127,0,366,364,365,367,50,278,279,127,0,366,365,368,367,50,127,279,104,0,369,367,368,370,50,279,256,104,0,369,368,370,370,50,128,280,129,0,299,300,300,371,50,280,281,129,0,299,300,372,371,50,129,281,130,0,373,371,372,374,50,281,282,130,0,373,372,375,374,50,130,282,131,0,376,374,375,377,50,282,283,131,0,376,375,378,377,50,131,283,132,0,379,377,378,380,50,283,284,132,0,379,378,381,380,50,132,284,133,0,382,380,381,383,50,284,285,133,0,382,381,384,383,50,133,285,134,0,385,383,384,386,50,285,286,134,0,385,384,387,386,50,134,286,135,0,388,386,387,389,50,286,287,135,0,388,387,390,389,50,135,287,136,0,391,389,390,392,50,287,288,136,0,391,390,393,392,50,136,288,137,0,394,392,393,395,50,288,289,137,0,394,393,396,395,50,137,289,138,0,397,395,396,398,50,289,290,138,0,397,396,399,398,50,138,290,139,0,400,398,399,401,50,290,291,139,0,400,399,402,401,50,139,291,140,0,403,401,402,404,50,291,292,140,0,403,402,405,404,50,140,292,141,0,406,404,405,407,50,292,293,141,0,406,405,408,407,50,141,293,142,0,409,407,408,410,50,293,294,142,0,409,408,411,410,50,142,294,143,0,412,410,411,413,50,294,295,143,0,412,411,414,413,50,143,295,144,0,415,413,414,416,50,295,296,144,0,415,414,417,416,50,144,296,145,0,418,416,417,419,50,296,297,145,0,418,417,420,419,50,145,297,146,0,421,419,420,422,50,297,298,146,0,421,420,423,422,50,146,298,147,0,424,422,423,425,50,298,299,147,0,424,423,426,425,50,147,299,148,0,427,425,426,428,50,299,300,148,0,427,426,429,428,50,148,300,149,0,430,428,429,431,50,300,301,149,0,430,429,432,431,50,149,301,150,0,433,431,432,434,50,301,302,150,0,433,432,435,434,50,150,302,151,0,436,434,435,437,50,302,303,151,0,436,435,438,437,50,151,303,128,0,439,437,438,440,50,303,280,128,0,439,438,440,440]} \ No newline at end of file diff --git a/simpleExample/models/error.json b/simpleExample/models/error.json new file mode 100644 index 0000000..e16bd67 --- /dev/null +++ b/simpleExample/models/error.json @@ -0,0 +1 @@ +{"vertices":[7.733087062835693,-16.304513931274414,9.983635834433116e-16,8.114167213439941,-15.617469787597656,9.56294261036271e-16,9.221924781799316,-19.25043296813965,1.1787491072666986e-15,10.481419563293457,-24.082372665405273,1.4746200943735824e-15,10.416656494140625,-24.073749542236328,1.4740920803411672e-15,11.006467819213867,-29.265962600708008,1.7920234493416148e-15,11.137995719909668,-30.818424224853516,1.8870843114300675e-15,11.103300094604492,-31.763607025146484,1.9449600685048884e-15,10.899033546447754,-32.431793212890625,1.9858746740929756e-15,9.662759780883789,-32.623329162597656,1.997602868991257e-15,8.328606605529785,-32.92055130004883,2.0158024767486677e-15,6.698436737060547,-32.96634292602539,2.0186064052800154e-15,3.5711848735809326,-32.66859436035156,2.0003745630893053e-15,-0.5375360250473022,-32.12141418457031,1.96686943908593e-15,0.0021668951958417892,-30.785547256469727,1.88507117763738e-15,0.1536201536655426,-28.728025436401367,1.7590842965837789e-15,0.469533234834671,-26.777210235595703,1.639631311801681e-15,1.0006184577941895,-22.86216163635254,1.3999037145626254e-15,1.7190589904785156,-18.598926544189453,1.1388558426902173e-15,2.692584753036499,-17.151229858398438,1.05020998320262e-15,3.9281325340270996,-16.374448776245117,1.0026458578322818e-15,4.4832611083984375,-17.47450828552246,1.070005078616926e-15,4.920013904571533,-18.29590606689453,1.1203011890008133e-15,5.9995808601379395,-18.363353729248047,1.1244311673715863e-15,6.881400108337402,-18.2179012298584,1.1155247700926773e-15,7.659770965576172,-17.04950523376465,1.0439811461332112e-15,7.733087062835693,-16.304513931274414,2.0679547786712655,8.114167213439941,-15.617469787597656,2.0679547786712655,9.221924781799316,-19.25043296813965,2.067954778671266,10.481419563293457,-24.082372665405273,2.067954778671266,10.416656494140625,-24.073749542236328,2.067954778671266,11.006467819213867,-29.265962600708008,2.0679547786712664,11.137995719909668,-30.818424224853516,2.0679547786712664,11.103300094604492,-31.763607025146484,2.0679547786712664,10.899033546447754,-32.431793212890625,2.0679547786712664,9.662759780883789,-32.623329162597656,2.0679547786712664,8.328606605529785,-32.92055130004883,2.067954778671267,6.698436737060547,-32.96634292602539,2.067954778671267,3.5711848735809326,-32.66859436035156,2.067954778671267,-0.5375360250473022,-32.12141418457031,2.0679547786712664,0.0021668951958417892,-30.785547256469727,2.0679547786712664,0.1536201536655426,-28.728025436401367,2.0679547786712664,0.469533234834671,-26.777210235595703,2.0679547786712664,1.0006184577941895,-22.86216163635254,2.067954778671266,1.7190589904785156,-18.598926544189453,2.067954778671266,2.692584753036499,-17.151229858398438,2.0679547786712655,3.9281325340270996,-16.374448776245117,2.0679547786712655,4.4832611083984375,-17.47450828552246,2.0679547786712655,4.920013904571533,-18.29590606689453,2.067954778671266,5.9995808601379395,-18.363353729248047,2.067954778671266,6.881400108337402,-18.2179012298584,2.067954778671266,7.659770965576172,-17.04950523376465,2.0679547786712655],"normals":[0,6.123234262925839e-17,1,0,-6.123234262925839e-17,-1,-0.8744872499850042,0.48504850233112273,-2.9700656086547946e-17,-0.8744872697373354,0.48504846671991564,-2.970065390599031e-17,0.9565217103851972,0.29166113481534883,-1.7859094538651763e-17,0.9565217145882972,0.29166112103100816,-1.7859093694604294e-17,0.9611352403273946,0.27607797775411497,-1.6904901326232744e-17,0.9647576429502183,0.26314005846533406,-1.611268221943242e-17,0.9676667171519953,0.2522322828590353,-1.5444773566184468e-17,0.9676667150226643,0.2522322910280244,-1.5444774066390808e-17,-0.13198396733724552,-0.9912518511286227,6.069667298019446e-17,-0.13198398355663685,-0.9912518489690304,6.069667284795756e-17,0.9936098243924144,0.11286946828472061,-6.911261954392226e-18,0.9936098243236207,0.11286946889032329,-6.911261991474697e-18,0.9940216038685177,0.10918356580850452,-6.68556551107053e-18,0.9947585507557595,0.10225177601538833,-6.2611157834244435e-18,0.996430283577508,0.08441972500338428,-5.169217526074998e-18,0.9984142160483992,0.05629434423155276,-3.4470345740758543e-18,0.9998371719830533,0.01804520769983466,-1.1049503406924077e-18,0.9993269471071408,-0.03668314034433081,2.246194618281236e-18,0.9943285991838128,-0.10635147787011166,6.512150132070669e-18,0.9816481860810309,-0.1907009144283837,1.1677063731991675e-17,0.9563121467608497,-0.29234752941944786,1.790112408822883e-17,0.9563121469388717,-0.29234752883711157,1.7901124052571014e-17,0.15310344537065693,-0.9882101674318243,6.051042356190227e-17,0.15310345955372404,-0.9882101652344409,6.051042342735134e-17,0.1759224823806564,-0.9844040228448012,6.027736441245318e-17,0.19733856278495723,-0.9803353975237085,6.002823295276194e-17,0.21744888460932224,-0.9760717097540333,5.976715736238502e-17,0.14731970051452048,-0.9890889271649502,6.056423207896983e-17,0.08432283862065745,-0.9964384872569679,6.101426286069859e-17,0.02807901895786308,-0.9996057066135448,6.120819912152252e-17,-0.03225911059406078,-0.9994795394522493,6.120047361067351e-17,-0.06954940454839427,-0.9975785083525828,6.108406902302986e-17,-0.09478229507230097,-0.9954980243781638,6.095667611547356e-17,-0.10959848802377353,-0.993975941068446,6.086347538874264e-17,-0.12179657101463538,-0.9925550842593459,6.07764729977807e-17,-0.13200981334392795,-0.9912484094216248,6.069646223641234e-17,-0.13200981651022176,-0.9912484089999527,6.069646221059236e-17,-0.9271892431338771,0.3745932559681612,-2.2937222596051935e-17,-0.9271892407474963,0.3745932618749054,-2.293722295773572e-17,-0.9677600503727625,0.25187394645438865,-1.5422831788678607e-17,-0.9882622406854719,0.1527669585850637,-9.354278750510347e-18,-0.9973017769930169,0.07341093655968955,-4.495123620157662e-18,-0.9948365551357828,0.10149004170641013,-6.214473007224629e-18,-0.9914719233091036,0.13032047149142453,-7.979827761969408e-18,-0.9871402607033498,0.15985651597142633,-9.788388957481893e-18,-0.9891136706972448,0.14715347919713867,-9.010552257286641e-18,-0.9902196495497442,0.13951718763500734,-8.542964235937303e-18,-0.990924295911338,0.1344211284457137,-8.230920593599493e-18,-0.9893334511085832,0.14566853647092337,-8.919625735490202e-18,-0.9877199277487606,0.1562349011200226,-9.56662899602953e-18,-0.9860959533920762,0.16617692590661398,-1.0175402464190673e-17,-0.9720188333927847,0.23490293214374747,-1.438365682564338e-17,-0.9371441160148597,0.34894255375165595,-2.136657000924981e-17,-0.8298227835561691,0.5580270135854458,-3.416930129224585e-17,-0.7556841877751381,0.6549361864690559,-4.0103276970173094e-17,-0.6569182421204328,0.7539618181111033,-4.616684837595767e-17,-0.5322457294674823,0.84658991457708,-5.183868371585836e-17,-0.5322457014352014,0.8465899322007973,-5.183868479499985e-17,0.8927658626737265,0.45052093674371774,-2.7586452360345772e-17,0.8927658557654704,0.45052095043332596,-2.7586453198592553e-17,0.8901146166887495,0.4557367322885451,-2.79058277402308e-17,0.8869056220510353,0.4619506657363599,-2.82863214421828e-17,0.8829440956376842,0.4694781400433378,-2.8747246328080616e-17,0.8829441021763355,0.4694781277461446,-2.874724557509467e-17,0.06235501287541495,0.9980540327904632,-6.111318649833874e-17,0.06235501574262814,0.9980540326113295,-6.111318648736996e-17,-0.0034716462038585747,0.9999939738181604,-6.123197363202725e-17,-0.078351840210522,0.9969257691200609,-6.104410027069651e-17,-0.16274685127953692,0.9866678581967675,-6.0415984354381e-17,-0.16274683015911187,0.9866678616804955,-6.041598456769783e-17,-0.8322342840539375,0.5544241124312956,-3.3948687214315574e-17,-0.8322342985045962,0.5544240907397177,-3.3948685886089434e-17,-0.9951924300530124,0.09793889505798979,-5.997027978921813e-18,-0.9951924298305381,0.09793889731863359,-5.9970281173463275e-18],"faces":[50,1,0,25,0,0,0,0,0,50,21,20,19,0,0,0,0,0,50,19,18,17,0,0,0,0,0,50,16,15,14,0,0,0,0,0,50,14,13,12,0,0,0,0,0,50,12,11,10,0,0,0,0,0,50,9,8,7,0,0,0,0,0,50,7,6,5,0,0,0,0,0,50,4,3,2,0,0,0,0,0,50,2,1,25,0,0,0,0,0,50,22,21,19,0,0,0,0,0,50,19,17,16,0,0,0,0,0,50,16,14,12,0,0,0,0,0,50,12,10,9,0,0,0,0,0,50,9,7,5,0,0,0,0,0,50,5,4,2,0,0,0,0,0,50,2,25,24,0,0,0,0,0,50,22,19,16,0,0,0,0,0,50,16,12,9,0,0,0,0,0,50,9,5,2,0,0,0,0,0,50,2,24,23,0,0,0,0,0,50,23,22,16,0,0,0,0,0,50,16,9,2,0,0,0,0,0,50,2,23,16,0,0,0,0,0,50,42,49,28,0,1,1,1,1,50,28,35,42,0,1,1,1,1,50,42,48,49,0,1,1,1,1,50,49,50,28,0,1,1,1,1,50,28,31,35,0,1,1,1,1,50,35,38,42,0,1,1,1,1,50,42,45,48,0,1,1,1,1,50,50,51,28,0,1,1,1,1,50,28,30,31,0,1,1,1,1,50,31,33,35,0,1,1,1,1,50,35,36,38,0,1,1,1,1,50,38,40,42,0,1,1,1,1,50,42,43,45,0,1,1,1,1,50,45,47,48,0,1,1,1,1,50,51,27,28,0,1,1,1,1,50,28,29,30,0,1,1,1,1,50,31,32,33,0,1,1,1,1,50,33,34,35,0,1,1,1,1,50,36,37,38,0,1,1,1,1,50,38,39,40,0,1,1,1,1,50,40,41,42,0,1,1,1,1,50,43,44,45,0,1,1,1,1,50,45,46,47,0,1,1,1,1,50,51,26,27,0,1,1,1,1,50,0,26,1,0,2,3,3,3,50,26,27,1,0,2,3,3,3,50,1,27,2,0,4,5,5,6,50,27,28,2,0,4,5,7,6,50,2,28,3,0,8,6,7,9,50,28,29,3,0,8,7,9,9,50,3,29,4,0,10,11,11,11,50,29,30,4,0,10,11,11,11,50,4,30,5,0,12,13,13,14,50,30,31,5,0,12,13,15,14,50,5,31,6,0,16,14,15,17,50,31,32,6,0,16,15,18,17,50,6,32,7,0,19,17,18,20,50,32,33,7,0,19,18,21,20,50,7,33,8,0,22,20,21,23,50,33,34,8,0,22,21,23,23,50,8,34,9,0,24,25,25,26,50,34,35,9,0,24,25,27,26,50,9,35,10,0,28,26,27,29,50,35,36,10,0,28,27,30,29,50,10,36,11,0,31,29,30,32,50,36,37,11,0,31,30,33,32,50,11,37,12,0,34,32,33,35,50,37,38,12,0,34,33,36,35,50,12,38,13,0,37,35,36,38,50,38,39,13,0,37,36,38,38,50,13,39,14,0,39,40,40,41,50,39,40,14,0,39,40,42,41,50,14,40,15,0,43,41,42,44,50,40,41,15,0,43,42,45,44,50,15,41,16,0,46,44,45,47,50,41,42,16,0,46,45,48,47,50,16,42,17,0,49,47,48,50,50,42,43,17,0,49,48,51,50,50,17,43,18,0,52,50,51,53,50,43,44,18,0,52,51,54,53,50,18,44,19,0,55,53,54,56,50,44,45,19,0,55,54,57,56,50,19,45,20,0,58,56,57,59,50,45,46,20,0,58,57,59,59,50,20,46,21,0,60,61,61,62,50,46,47,21,0,60,61,63,62,50,21,47,22,0,64,62,63,65,50,47,48,22,0,64,63,65,65,50,22,48,23,0,66,67,67,68,50,48,49,23,0,66,67,69,68,50,23,49,24,0,70,68,69,71,50,49,50,24,0,70,69,71,71,50,24,50,25,0,72,73,73,73,50,50,51,25,0,72,73,73,73,50,25,51,0,0,74,75,75,75,50,51,26,0,0,74,75,75,75]} \ No newline at end of file diff --git a/simpleExample/models/shape.json b/simpleExample/models/shape.json new file mode 100644 index 0000000..8dbd08d --- /dev/null +++ b/simpleExample/models/shape.json @@ -0,0 +1 @@ +{"vertices":[1.3548387289047241,75.0883560180664,-4.5978359431659786e-15,15.427769660949707,71.52875518798828,-4.379873245515242e-15,22.36185073852539,69.11360168457031,-4.2319877386916994e-15,29.262271881103516,65.80925750732422,-4.029655003865572e-15,35.27349090576172,61.298736572265625,-3.753465240533621e-15,37.68302917480469,58.490882873535156,-3.581533780800126e-15,39.55119323730469,55.25946807861328,-3.3836666829002154e-15,39.966339111328125,52.14866638183594,-3.1931850075514667e-15,39.28190612792969,48.36185073852539,-2.9613094146064398e-15,36.74614334106445,41.795230865478516,-2.5592198966239363e-15,33.34081268310547,36.28330993652344,-2.2217120657567787e-15,31.063114166259766,33.91584777832031,-2.0767468117238814e-15,28.330995559692383,32.25806427001953,-1.975236843938474e-15,23.189340591430664,30.973352432250977,-1.8965709285083656e-15,19.506311416625977,30.60589027404785,-1.874070359733985e-15,18.232818603515625,31.697053909301758,-1.9408848653124394e-15,17.11079978942871,32.01683044433594,-1.9604655316704494e-15,16.549789428710938,32.25806427001953,-1.975236843938474e-15,15.845722198486328,32.34502029418945,-1.9805613650041247e-15,15.085554122924805,32.63113784790039,-1.998081013085198e-15,15.007012367248535,32.6788215637207,-2.0010007987101436e-15,14.86676025390625,32.81907272338867,-2.0095887057730835e-15,14.538569450378418,32.959327697753906,-2.0181768464188734e-15,14.305749893188477,33.099578857421875,-2.0267647534818133e-15,13.556801795959473,33.38008499145508,-2.043940801190543e-15,12.903225898742676,33.660587310791016,-2.061116615316423e-15,10.434782981872559,34.558204650878906,-2.116079827834648e-15,10.098176956176758,34.78260803222656,-2.129820572568492e-15,7.854137420654297,35.624122619628906,-2.1813484821118312e-15,6.493688583374023,35.92707061767578,-2.1998986977270854e-15,5.890603065490723,36.18513488769531,-2.2157005775292908e-15,1.9635343551635742,37.166900634765625,-2.27581639413557e-15,0.8415147066116333,37.5876579284668,-2.3015803489072397e-15,-2.244039297103882,38.14866638183594,-2.3359322107418492e-15,-3.0855538845062256,38.14866638183594,-2.3359322107418492e-15,-6.451612949371338,38.42917251586914,-2.353108258450579e-15,-16.830293655395508,38.42917251586914,-2.353108258450579e-15,-20.196353912353516,37.8681640625,-2.3187563966159694e-15,-21.879383087158203,37.8681640625,-2.3187563966159694e-15,-22.59467124938965,37.663394927978516,-2.306217902811053e-15,-23.28190803527832,37.5876579284668,-2.3015803489072397e-15,-23.84291648864746,37.307151794433594,-2.28440430119851e-15,-25.245441436767578,36.74614334106445,-2.2500524393639003e-15,-25.450210571289062,36.61991500854492,-2.2423231828575444e-15,-26.367462158203125,36.46563720703125,-2.2328763916551706e-15,-27.48948097229004,36.18513488769531,-2.2157005775292908e-15,-30.01402473449707,35.34362030029297,-2.1641726679859515e-15,-30.434782028198242,34.99298858642578,-2.1427026667457517e-15,-31.416549682617188,34.50210189819336,-2.112644524859762e-15,-31.82328224182129,34.24684524536133,-2.0970145620351536e-15,-32.538570404052734,33.94109344482422,-2.0782926630251526e-15,-33.42216110229492,33.338008880615234,-2.041364382355091e-15,-35.624122619628906,31.97756004333496,-1.958060913021169e-15,-37.026649475097656,30.294530868530273,-1.8550050939344905e-15,-39.55119323730469,27.76998519897461,-1.7004212485130476e-15,-39.79242706298828,27.349227905273438,-1.674657293741378e-15,-40.39270782470703,26.647966384887695,-1.6317174080524035e-15,-40.67321014404297,25.80645179748535,-1.5801894985090642e-15,-41.234222412109375,24.403926849365234,-1.4943096103396903e-15,-41.51472473144531,23.56241226196289,-1.442781700796351e-15,-41.795230865478516,21.879383087158203,-1.3397258817096723e-15,-41.795230865478516,15.708274841308594,-9.618544671975673e-16,-41.69424819946289,15.352033615112305,-9.40040982376449e-16,-41.51472473144531,13.74474048614502,-8.416226587978714e-16,-40.841514587402344,12.566619873046875,-7.694835737580539e-16,-40.74333953857422,12.272089958190918,-7.514488170970276e-16,-40.39270782470703,10.659186363220215,-6.526869515418189e-16,-39.55119323730469,8.134642601013184,-4.981032229118009e-16,-39.14165496826172,7.643758773803711,-4.680452562129488e-16,-38.99018096923828,7.293127536773682,-4.465752841706054e-16,-38.709678649902344,6.956521511077881,-4.2596410867412713e-16,-37.8681640625,5.610098361968994,-3.435194650839267e-16,-36.18513488769531,4.207573413848877,-2.5763957691455285e-16,-35.063114166259766,3.0855538845062256,-1.8893569265712438e-16,-33.660587310791016,1.9635343551635742,-1.2023180839969591e-16,-33.2117805480957,1.6830294132232666,-1.0305583368560677e-16,-32.538570404052734,1.122019648551941,-6.870389155689253e-17,-31.22861099243164,0.3730715215206146,-2.284404323096902e-17,-30.294530868530273,-0.28050491213798523,1.7175972889223133e-17,-29.7335205078125,-0.5610098242759705,3.4351945778446266e-17,-28.330995559692383,-1.4025245904922485,8.587986627098168e-17,-27.92426300048828,-1.5568022727966309,9.532665017389149e-17,-27.20897674560547,-1.9635343551635742,1.2023180839969591e-16,-25.80645179748535,-2.5245442390441895,1.545837578278742e-16,-23.28190803527832,-3.0855538845062256,1.8893569265712438e-16,-22.123422622680664,-3.2622721195220947,1.997565641724539e-16,-21.879383087158203,-3.366058826446533,2.0611166737121353e-16,-21.03786849975586,-3.646563768386841,2.232876420853027e-16,-18.7938289642334,-3.9270687103271484,2.4046361679939183e-16,-16.549789428710938,-3.9270687103271484,2.4046361679939183e-16,-14.86676025390625,-3.646563768386841,2.232876420853027e-16,-14.631135940551758,-3.556802272796631,2.1779133543240828e-16,-12.903225898742676,-3.366058826446533,2.0611166737121353e-16,-12.342215538024902,-3.366058826446533,2.0611166737121353e-16,-8.976157188415527,-2.805049180984497,1.7175973254196336e-16,-8.504908561706543,-2.628330945968628,1.6093886102663385e-16,-7.573632717132568,-2.5245442390441895,1.545837578278742e-16,-7.068723678588867,-2.235624074935913,1.3689249934669467e-16,-5.798036575317383,-1.9635343551635742,1.2023180839969591e-16,-4.768583297729492,-1.9635343551635742,1.2023180839969591e-16,-3.0855538845062256,-1.6830294132232666,1.0305583368560677e-16,0.5610098242759705,-1.6830294132232666,1.0305583368560677e-16,3.0855538845062256,-1.4025245904922485,8.587986627098168e-17,3.366058826446533,-1.4025245904922485,8.587986627098168e-17,5.610098361968994,-1.122019648551941,6.870389155689253e-17,6.451612949371338,-0.8415147066116333,5.1527916842803383e-17,8.976157188415527,-0.5610098242759705,3.4351945778446266e-17,9.068723678588867,-0.5077139139175415,3.10885123346407e-17,10.659186363220215,-0.28050491213798523,1.7175972889223133e-17,11.500700950622559,-1.4210854715202004e-14,8.701639249758613e-31,14.025245666503906,0.28050491213798523,-1.7175972889223133e-17,14.95932674407959,0.8134642243385315,-4.9810320101340875e-17,17.39130401611328,0.8415147066116333,-5.1527916842803383e-17,19.915847778320312,1.122019648551941,-6.870389155689253e-17,20.11781120300293,1.2370266914367676,-7.574604221159405e-17,21.598878860473633,1.4025245904922485,-8.587986627098168e-17,21.935483932495117,1.5960729122161865,-9.773128342209979e-17,22.720897674560547,1.6830294132232666,-1.0305583368560677e-16,23.06591796875,1.8625526428222656,-1.140484615903237e-16,24.720897674560547,1.2903225421905518,-7.900947200566758e-17,28.92566680908203,-0.32258063554763794,1.9752368001416896e-17,32.81907272338867,-2.5245442390441895,1.545837578278742e-16,38.14866638183594,-8.134642601013184,4.981032229118009e-16,40.00841522216797,-10.555399894714355,6.463318629419874e-16,41.12482452392578,-13.290322303771973,8.137975689578402e-16,41.52594757080078,-16.249649047851562,9.950040781032493e-16,41.234222412109375,-19.354839324951172,1.1851421530796544e-15,38.976158142089844,-25.47545623779297,1.559921864989217e-15,35.231414794921875,-30.154277801513672,1.8464170700801257e-15,30.34782600402832,-33.78120803833008,2.068502505033285e-15,24.684431076049805,-36.74614334106445,2.2500524393639003e-15,16.561010360717773,-40.1458625793457,2.458225212605619e-15,9.22580623626709,-42.157081604003906,2.581376865025973e-15,1.626928448677063,-42.863956451416016,2.624660467878716e-15,-7.293127536773682,-42.35624313354492,2.593571992041396e-15,-13.593267440795898,-41.32398223876953,2.5303642392497242e-15,-19.441795349121094,-39.68302917480469,2.4298848389984976e-15,-24.838708877563477,-37.469844818115234,2.294366376167974e-15,-29.79242706298828,-34.71809387207031,2.1258702194093656e-15,-34.30575180053711,-31.469844818115234,1.9269723203924238e-15,-38.38429260253906,-27.758766174316406,1.6997342813512104e-15,-42.033660888671875,-23.621318817138672,1.4463886871659837e-15,-45.25946807861328,-19.09677505493164,1.169340273277449e-15,-50.45722198486328,-9.032258033752441,5.530663186386012e-16,-54.01683044433594,2.145862579345703,-1.3139619269380027e-16,-55.97755813598633,14.137447357177734,-8.656690204778106e-16,-56.38148498535156,26.647966384887695,-1.6317174080524035e-15,-55.78120803833008,36.48527526855469,-2.234078876166948e-15,-53.576438903808594,46.002803802490234,-2.816859444340633e-15,-51.138851165771484,51.75315475463867,-3.1689669040810682e-15,-48.31697082519531,56.28892135620117,-3.44670251871429e-15,-40.11220169067383,65.63814544677734,-4.019177411546167e-15,-37.298736572265625,68.58345031738281,-4.199525328530705e-15,-33.94109344482422,70.68724060058594,-4.328345335971903e-15,-24.08134651184082,73.8934097290039,-4.524666582570543e-15,-14.025245666503906,76.29733276367188,-4.6718644214836984e-15,-6.978961944580078,76.34502410888672,-4.674784674274344e-15,1.3548387289047241,75.0883560180664,19.999999999999996,15.427769660949707,71.52875518798828,19.999999999999996,22.36185073852539,69.11360168457031,19.999999999999996,29.262271881103516,65.80925750732422,19.999999999999996,35.27349090576172,61.298736572265625,19.999999999999996,37.68302917480469,58.490882873535156,19.999999999999996,39.55119323730469,55.25946807861328,19.999999999999996,39.966339111328125,52.14866638183594,19.999999999999996,39.28190612792969,48.36185073852539,19.999999999999996,36.74614334106445,41.795230865478516,19.999999999999996,33.34081268310547,36.28330993652344,19.999999999999996,31.063114166259766,33.91584777832031,19.999999999999996,28.330995559692383,32.25806427001953,19.999999999999996,23.189340591430664,30.973352432250977,19.999999999999996,19.506311416625977,30.60589027404785,19.999999999999996,18.232818603515625,31.697053909301758,19.999999999999996,17.11079978942871,32.01683044433594,19.999999999999996,16.549789428710938,32.25806427001953,19.999999999999996,15.845722198486328,32.34502029418945,19.999999999999996,15.085554122924805,32.63113784790039,19.999999999999996,15.007012367248535,32.6788215637207,19.999999999999996,14.86676025390625,32.81907272338867,19.999999999999996,14.538569450378418,32.959327697753906,19.999999999999996,14.305749893188477,33.099578857421875,19.999999999999996,13.556801795959473,33.38008499145508,19.999999999999996,12.903225898742676,33.660587310791016,19.999999999999996,10.434782981872559,34.558204650878906,19.999999999999996,10.098176956176758,34.78260803222656,19.999999999999996,7.854137420654297,35.624122619628906,19.999999999999996,6.493688583374023,35.92707061767578,19.999999999999996,5.890603065490723,36.18513488769531,19.999999999999996,1.9635343551635742,37.166900634765625,19.999999999999996,0.8415147066116333,37.5876579284668,19.999999999999996,-2.244039297103882,38.14866638183594,19.999999999999996,-3.0855538845062256,38.14866638183594,19.999999999999996,-6.451612949371338,38.42917251586914,19.999999999999996,-16.830293655395508,38.42917251586914,19.999999999999996,-20.196353912353516,37.8681640625,19.999999999999996,-21.879383087158203,37.8681640625,19.999999999999996,-22.59467124938965,37.663394927978516,19.999999999999996,-23.28190803527832,37.5876579284668,19.999999999999996,-23.84291648864746,37.307151794433594,19.999999999999996,-25.245441436767578,36.74614334106445,19.999999999999996,-25.450210571289062,36.61991500854492,19.999999999999996,-26.367462158203125,36.46563720703125,19.999999999999996,-27.48948097229004,36.18513488769531,19.999999999999996,-30.01402473449707,35.34362030029297,19.999999999999996,-30.434782028198242,34.99298858642578,19.999999999999996,-31.416549682617188,34.50210189819336,19.999999999999996,-31.82328224182129,34.24684524536133,19.999999999999996,-32.538570404052734,33.94109344482422,19.999999999999996,-33.42216110229492,33.338008880615234,19.999999999999996,-35.624122619628906,31.97756004333496,19.999999999999996,-37.026649475097656,30.294530868530273,19.999999999999996,-39.55119323730469,27.76998519897461,20,-39.79242706298828,27.349227905273438,20,-40.39270782470703,26.647966384887695,20,-40.67321014404297,25.80645179748535,20,-41.234222412109375,24.403926849365234,20,-41.51472473144531,23.56241226196289,20,-41.795230865478516,21.879383087158203,20,-41.795230865478516,15.708274841308596,20,-41.69424819946289,15.352033615112306,20,-41.51472473144531,13.744740486145021,20,-40.841514587402344,12.566619873046877,20,-40.74333953857422,12.27208995819092,20,-40.39270782470703,10.659186363220217,20,-39.55119323730469,8.134642601013185,20,-39.14165496826172,7.643758773803712,20,-38.99018096923828,7.2931275367736825,20,-38.709678649902344,6.956521511077882,20,-37.8681640625,5.610098361968995,20,-36.18513488769531,4.207573413848878,20,-35.063114166259766,3.085553884506227,20,-33.660587310791016,1.9635343551635756,20,-33.2117805480957,1.683029413223268,20,-32.538570404052734,1.1220196485519423,20,-31.22861099243164,0.37307152152061585,20,-30.294530868530273,-0.280504912137984,20,-29.7335205078125,-0.5610098242759692,20,-28.330995559692383,-1.4025245904922472,20,-27.92426300048828,-1.5568022727966295,20,-27.20897674560547,-1.9635343551635729,20,-25.80645179748535,-2.524544239044188,20,-23.28190803527832,-3.0855538845062243,20,-22.123422622680664,-3.2622721195220934,20,-21.879383087158203,-3.366058826446532,20,-21.03786849975586,-3.6465637683868395,20,-18.7938289642334,-3.927068710327147,20,-16.549789428710938,-3.927068710327147,20,-14.86676025390625,-3.6465637683868395,20,-14.631135940551758,-3.5568022727966295,20,-12.903225898742676,-3.366058826446532,20,-12.342215538024902,-3.366058826446532,20,-8.976157188415527,-2.8050491809844957,20,-8.504908561706543,-2.6283309459686266,20,-7.573632717132568,-2.524544239044188,20,-7.068723678588867,-2.2356240749359118,20,-5.798036575317383,-1.9635343551635729,20,-4.768583297729492,-1.9635343551635729,20,-3.0855538845062256,-1.6830294132232653,20,0.5610098242759705,-1.6830294132232653,20,3.0855538845062256,-1.4025245904922472,20,3.366058826446533,-1.4025245904922472,20,5.610098361968994,-1.1220196485519396,20,6.451612949371338,-0.8415147066116321,20,8.976157188415527,-0.5610098242759692,20,9.068723678588867,-0.5077139139175403,20,10.659186363220215,-0.280504912137984,20,11.500700950622559,-1.2986207862616836e-14,20,14.025245666503906,0.28050491213798645,20,14.95932674407959,0.8134642243385327,20,17.39130401611328,0.8415147066116345,20,19.915847778320312,1.1220196485519423,20,20.11781120300293,1.237026691436769,20,21.598878860473633,1.4025245904922499,20,21.935483932495117,1.5960729122161879,20,22.720897674560547,1.683029413223268,20,23.06591796875,1.862552642822267,20,24.720897674560547,1.290322542190553,20,28.92566680908203,-0.3225806355476367,20,32.81907272338867,-2.524544239044188,20,38.14866638183594,-8.134642601013182,20,40.00841522216797,-10.555399894714354,20,41.12482452392578,-13.29032230377197,20,41.52594757080078,-16.249649047851562,20,41.234222412109375,-19.354839324951172,20,38.976158142089844,-25.47545623779297,20,35.231414794921875,-30.154277801513672,20.000000000000004,30.34782600402832,-33.78120803833008,20.000000000000004,24.684431076049805,-36.74614334106445,20.000000000000004,16.561010360717773,-40.1458625793457,20.000000000000004,9.22580623626709,-42.157081604003906,20.000000000000004,1.626928448677063,-42.863956451416016,20.000000000000004,-7.293127536773682,-42.35624313354492,20.000000000000004,-13.593267440795898,-41.32398223876953,20.000000000000004,-19.441795349121094,-39.68302917480469,20.000000000000004,-24.838708877563477,-37.469844818115234,20.000000000000004,-29.79242706298828,-34.71809387207031,20.000000000000004,-34.30575180053711,-31.469844818115234,20.000000000000004,-38.38429260253906,-27.758766174316406,20,-42.033660888671875,-23.621318817138672,20,-45.25946807861328,-19.09677505493164,20,-50.45722198486328,-9.03225803375244,20,-54.01683044433594,2.1458625793457045,20,-55.97755813598633,14.137447357177736,20,-56.38148498535156,26.647966384887695,20,-55.78120803833008,36.48527526855469,19.999999999999996,-53.576438903808594,46.002803802490234,19.999999999999996,-51.138851165771484,51.75315475463867,19.999999999999996,-48.31697082519531,56.28892135620117,19.999999999999996,-40.11220169067383,65.63814544677734,19.999999999999996,-37.298736572265625,68.58345031738281,19.999999999999996,-33.94109344482422,70.68724060058594,19.999999999999996,-24.08134651184082,73.8934097290039,19.999999999999996,-14.025245666503906,76.29733276367188,19.999999999999996,-6.978961944580078,76.34502410888672,19.999999999999996],"normals":[0,-6.123234262925839e-17,-1,0,6.123234262925839e-17,1,0.24521686402602053,0.9694682509485518,-5.936281211026958e-17,0.2452168650880616,0.9694682506799196,-5.93628120938206e-17,0.26227489720478236,0.9649932011658015,-5.908879432868923e-17,0.2875862460357141,0.957754744749973,-5.864556668532827e-17,0.32892142432008775,0.9443572928840254,-5.782520932231356e-17,0.3647031457362082,0.9311238454094676,-5.701489433238514e-17,0.39904805705727614,0.9169300126829817,-5.614577270365458e-17,0.43189612878207556,0.9019233525877112,-5.5226879750980155e-17,0.4894225802678506,0.8720467521434613,-5.3397465515980393e-17,0.54578280436123,0.8379266856137185,-5.130821391169809e-17,0.6001793880985243,0.7998654274949512,-4.8977633913669086e-17,0.6339089289886706,0.7734076995663003,-4.735756525195024e-17,0.6829651089763424,0.7304509976178641,-4.472722576002067e-17,0.7588816767612725,0.651228531835023,-3.987624859127104e-17,0.7977481185579707,0.6029908285680788,-3.692254101718101e-17,0.8334827888303911,0.5525454196023292,-3.383365045131717e-17,0.8657345543410288,0.5005034279802092,-3.064699738920252e-17,0.9174541938624332,0.397841428416188,-2.43607626568936e-17,0.9615885830504053,0.2744948031331635,-1.6807959835400696e-17,0.9912123524326315,0.13228027965259445,-8.099831406781781e-18,0.9998938219053557,0.014572059411796732,-8.92281334717047e-19,0.9960397457711937,-0.08890908189862394,5.444111365669337e-18,0.9840559300620056,-0.17785928851145527,1.089074089392955e-17,0.9639249588784228,-0.2661741415901084,1.6298466236894253e-17,0.9467191899746696,-0.3220602045172693,1.9720500790250464e-17,0.9328621320847529,-0.36023359438326835,2.205794687784558e-17,0.9103336777604207,-0.41387509605578626,2.5342541687405133e-17,0.8830847056357146,-0.4692136002635513,2.873104793764566e-17,0.850735271516017,-0.5255944232947766,3.218337781121323e-17,0.8274354774397139,-0.5615607987334168,3.4385683235204587e-17,0.7896897706714077,-0.613506370054085,3.756643225638433e-17,0.7206364592816636,-0.6933131280698405,4.245318700733538e-17,0.6594465917475377,-0.7517514167812099,4.603150032437747e-17,0.591743420023463,-0.8061263702788387,4.9361006107394274e-17,0.5187488414562339,-0.8549266866157678,5.2349163797753306e-17,0.3979272729549142,-0.9174169637840066,5.617558986031623e-17,0.30890054067852946,-0.9510943465127487,5.823773489841923e-17,0.24241097210818166,-0.9701736548688418,5.94060056448088e-17,0.20578262753473223,-0.9785977264458067,5.992183128194291e-17,0.1594065295335989,-0.9872130258166442,6.044936624487167e-17,0.0992788139947028,-0.9950596550417494,6.092983373406806e-17,0.09927881369918419,-0.9950596550712337,6.092983373587345e-17,-0.650653303152923,-0.7593749265653894,4.649830568751985e-17,-0.6506533078209453,-0.7593749225656997,4.6498305442609486e-17,-0.5634151784258815,-0.8261739143299868,5.058856419360932e-17,-0.4414806280630056,-0.8972707813392199,5.49419919141855e-17,-0.274086909526187,-0.9617049266934137,5.888744557953693e-17,-0.29957905942526886,-0.9540714790590229,5.842003169854541e-17,-0.33663467306082745,-0.9416353311623507,5.765853722954825e-17,-0.3950268807964192,-0.9186695616206361,5.62522893602254e-17,-0.29768967968643023,-0.9546626915346543,5.845623302341996e-17,-0.2062907717081385,-0.9784907345029185,5.99152799146374e-17,-0.1225739788416699,-0.9924593793757617,6.077061276355778e-17,-0.20754161574861213,-0.9782261894533674,5.989908120152243e-17,-0.2841313783524247,-0.9587853564982891,5.87086734570189e-17,-0.35226142447485226,-0.9359016448468012,5.730745018454583e-17,-0.3615003521095965,-0.9323719726721936,5.70913200885813e-17,-0.3840121599416496,-0.923328035433209,5.653753862484628e-17,-0.5189594457738477,-0.8547988615119355,5.234133676719883e-17,-0.6210721276479972,-0.7837534129168371,4.79910575165744e-17,-0.6746745124510306,-0.7381153719094083,4.519653335267938e-17,-0.7071043771122019,-0.7071091852527197,4.329795190769028e-17,-0.5686187899380357,-0.8226011620034365,5.036979619902051e-17,-0.4670325172362819,-0.8842401415022629,5.414409531101049e-17,-0.39297644852441393,-0.9195485364596795,5.63061110487322e-17,-0.4277214731271123,-0.9039105826496188,5.534856250301404e-17,-0.4683174884436097,-0.8835602582834232,5.410246446880661e-17,-0.5160083533508624,-0.8565835506663267,5.2450617464987235e-17,-0.4193229577753146,-0.9078371313636393,5.558899427922142e-17,-0.3755312056443864,-0.9268097504813345,5.675073219361056e-17,-0.3507403878046974,-0.9364727333791468,5.734241927323006e-17,-0.3642620336962797,-0.9312964999437346,5.702546637398388e-17,-0.3787789664836184,-0.9254871660642312,5.666974725142637e-17,-0.39439244081068503,-0.9189421105985894,5.626897817262669e-17,-0.3603712236558878,-0.93280897356359,5.711807867689258e-17,-0.34808038749371073,-0.9374646893842074,5.740315906320507e-17,-0.3417436461441779,-0.9397932114673327,5.75457399252188e-17,-0.35764770788843686,-0.9338565826946597,5.718222623814778e-17,-0.3939194316619458,-0.9191449729825701,5.628139991162918e-17,-0.5546991082068163,-0.8320510196824248,5.094843312221805e-17,-0.4045056332194536,-0.9145355065243389,5.59991514821207e-17,-0.3676587323304094,-0.9299607822597664,5.694367725110318e-17,-0.35112335437256836,-0.9363292102749736,5.733363101734012e-17,-0.3215366546002768,-0.9468971326118073,5.798072965874851e-17,-0.2798759665949883,-0.9600361677158424,5.878526355805664e-17,-0.21735846540862727,-0.9760918489134138,5.976839053029247e-17,-0.2515587478158702,-0.9678420307040357,5.926323483506673e-17,-0.30402082161571464,-0.952665387228961,5.833393340183886e-17,-0.3934028556869544,-0.9193661909910269,5.629494560851877e-17,-0.2801205292599206,-0.9599648374222579,5.878089583708003e-17,-0.25406658169534463,-0.9671867307121429,5.92231092814382e-17,-0.24253529243078167,-0.9701425832966593,5.94041030596549e-17,-0.2567223030102962,-0.9664852089592939,5.918015346110588e-17,-0.2833459142648976,-0.9590177750539296,5.872290498965127e-17,-0.3511233870784974,-0.936329198010253,5.733363026634254e-17,-0.25449304989751526,-0.967074602889488,5.921624343218313e-17,-0.20695822898573019,-0.9783497797082035,5.990664892235219e-17,-0.17888501672879215,-0.98386998673094,6.024466413015283e-17,-0.15799014020100882,-0.987440689661544,6.046330663542687e-17,-0.11684097911763823,-0.9931506359051641,6.081294002021086e-17,0,-1,6.123234262925839e-17,-0.05547026102132958,-0.9984603397943383,6.113806562801268e-17,-0.0738720079841636,-0.9972677305700751,6.106503937136978e-17,-0.08304583618889225,-0.9965457285502195,6.102082949631097e-17,-0.0327694221950863,-0.9994629382668476,6.119945708120094e-17,-0.011627172048025908,-0.9999324021503482,6.122820345456751e-17,0.023249473458195235,-0.9997296944594158,6.121579118778276e-17,0.06543308397117199,-0.9978569594496106,6.110111923600856e-17,0.1643985341176041,-0.986393999363329,6.039921533645985e-17,0.1321633638296144,-0.9912279481840901,6.0695209346905e-17,0.08304527267621763,-0.9965457755096515,6.1020832371747e-17,0.050108927536629454,-0.9987437586193613,6.115542002661406e-17,0.1304086015577182,-0.9914603353840034,6.070943895955273e-17,0.2752194872228986,-0.9613814195483313,5.886763647918623e-17,0.22335127420501033,-0.9747380203475181,5.968549243568427e-17,0.16804644006649744,-0.9857790797034482,6.036156236515656e-17,0.10954190651033638,-0.9939821782698525,6.086385730719621e-17,0.21783039976424035,-0.9759866376844261,5.976194820027065e-17,0.331980446777132,-0.9432862677669255,5.775962794537876e-17,0.44721602823477985,-0.8944259746283695,5.4767797734952695e-17,0.40613910480621573,-0.9138112647298706,5.595480446041538e-17,0.38461509258787563,-0.9230770447549976,5.65221698776413e-17,0.3713898055454531,-0.928477039208246,5.68528241881987e-17,0.38308612284367827,-0.923712629817628,5.656108823996632e-17,0.40954252169432553,-0.9122910297291392,5.58617169099736e-17,0.524750251320005,-0.8512562327170308,5.212441330702095e-17,0.2930926311527032,-0.9560840494245189,5.854326609673095e-17,0.2085188346104459,-0.9780183513680619,5.988635478867158e-17,0.16586593639808442,-0.9861483109262962,6.038417125790341e-17,0.19539954899406262,-0.980723720653741,6.005201088771096e-17,0.22068444049043853,-0.9753452607797007,5.972267518988602e-17,0.2425336848346644,-0.9701429851936878,5.940412766875145e-17,0.2821654317251014,-0.9593657640021284,5.874421316815857e-17,0.3032033226857427,-0.9529258864740352,5.83498843808679e-17,0.31622776601683794,-0.9486832980505139,5.809010075288392e-17,0.3484883242029386,-0.9373131215843655,5.73938782117536e-17,0.4166549957745289,-0.909064692140294,5.566416070129578e-17,0.6401850847356463,-0.7682207087042195,4.7039953650268474e-17,0.5472506734194515,-0.8369687571480532,5.1249557707674154e-17,0.4878230996755296,-0.8729425086584788,5.345231478582033e-17,0.4472156806957649,-0.8944261483989742,5.47678083753339e-17,0.4626743486760431,-0.8865283114921932,5.428420531982789e-17,0.4871471432760991,-0.8733199074783168,5.347542379966453e-17,0.5315686335130119,-0.8470152229240684,5.186472634228423e-17,0.47100597294334684,-0.8821300207178597,5.401488767215079e-17,0.42666101695164277,-0.9044116190174637,5.5379242133559645e-17,0.39304999625965176,-0.9195171017660779,5.630418622880314e-17,0.4647290721591633,-0.8854529290086984,5.421835713114103e-17,0.5201609130647392,-0.8540682786052043,5.2296601464334786e-17,0.5637428308126915,-0.8259503742400588,5.0574876310231476e-17,0.5430050502532381,-0.8397294298757656,5.141860016602469e-17,0.5322177000130075,-0.8466075358705852,5.183976270893984e-17,0.5256085950115317,-0.8507265158968561,5.209197750519153e-17,0.6043023538076399,-0.7967550848175028,4.878718034514916e-17,0.6864438608794479,-0.7271828008560964,4.452710641612427e-17,0.7682207087042195,-0.6401850847356463,3.920003245467391e-17,0.7415355475425874,-0.6709135799271879,4.108161020072391e-17,0.7219882535003689,-0.6919053127469734,4.236698317712686e-17,0.7071070483038002,-0.7071065140691939,4.32977883448654e-17,0.7188044103559119,-0.6952123557970542,4.256948117025912e-17,0.7457614708064284,-0.66621305050309,4.079378577248863e-17,0.8675307454386437,-0.49738355996018957,3.045596056164261e-17,0.8185321251101634,-0.5744607559813291,3.517557783731154e-17,0.7843879958873655,-0.6202704828603426,3.798061472932004e-17,0.7596849544362044,-0.6502912962690351,3.981885946197014e-17,0.8346095846781006,-0.5508419384573477,3.3729342310185185e-17,0.8990332377655437,-0.4378803916514231,2.6812442172233797e-17,0.9486841581492342,-0.3162251857089796,1.9363208919333104e-17,0.9397936993227626,-0.34174230454135635,2.09256818825887e-17,0.933345435684512,-0.35897952265677846,2.1981157128207485e-17,0.9284761683997382,-0.37139198256524214,2.2741201126194466e-17,0.9701427596002835,-0.24253458721416768,1.4850960943743668e-17,0.9805806762640418,-0.19611613227257615,1.2008650206439343e-17,0.98639380298177,-0.16439971240595674,1.0066579518193085e-17,0.9982743580939607,-0.05872227832850877,3.595702666581924e-18,0.9998000582551388,-0.019996087442823694,1.2244072775435917e-18,1,0,0,0.9999683815129232,0.00795210503106732,-4.8692601988616355e-19,0.9995698565407327,0.02932749384347505,-1.7957911514811304e-18,0.9620929656933205,0.2727216994729814,-1.6699388544563236e-17,0.9867462063297475,0.16227114436600115,-9.936242310660835e-18,0.9918033111172468,0.12777398818564648,-7.823900623690319e-18,0.9938200941201591,0.11100279511344711,-6.796961183191963e-18,0.9734824005803026,0.2287619193843494,-1.400762822826927e-17,0.9332266383503145,0.35928824288219013,-2.2000060790826477e-17,0.868243661138894,0.4961380300804703,-3.0379693849292665e-17,0.8780737326528074,0.4785253598558456,-2.930122879148231e-17,0.8972584477720408,0.44150569407620144,-2.7034427932442504e-17,0.9486848339382513,0.3162231583163265,-1.9363084777331527e-17,0.9705053120242868,0.24107973646211284,-1.476187702401941e-17,0.9751710395120967,0.2214530281953639,-1.356008769874534e-17,0.977176301347005,0.21242993217950087,-1.3007582391925321e-17,0.9658427952104037,0.25912872272319504,-1.5867058734868772e-17,0.9564296731691765,0.2919628063324207,-1.7877566592346596e-17,0.9486832980505139,0.31622776601683794,-1.9363366917627975e-17,0.93548942250249,0.35335469486899135,-2.1636735745875133e-17,0.9037670698311303,0.4280246295353261,-2.620895076946848e-17,0.7678608081923138,0.6406167178916318,-3.9226462363971365e-17,0.8082934408592146,0.5887798514419218,-3.6052369596695614e-17,0.8583815788489458,0.5130117592149239,-3.1412911813086826e-17,0.9180003520771365,0.39657956778716336,-2.4283495974506793e-17,0.8717013668850577,0.49003747506769546,-3.0006142574521796e-17,0.8208150650894224,0.5711940378910196,-3.497554903593252e-17,0.7682243124695335,0.6401807602003614,-3.919976765324763e-17,0.8213709508086933,0.5703943908977569,-3.4926584777258597e-17,0.8391532807652234,0.5438950003272341,-3.3303965014377805e-17,0.8479982702613258,0.5299989939931959,-3.2453079993353634e-17,0.7725408588951443,0.6349650552097753,-3.888039781821093e-17,0.7023453738204593,0.711836340652119,-4.358740670676805e-17,0.6401845709324147,0.7682211368740645,-4.703997986811113e-17,0.6585046289675079,0.7525766762452613,-4.6082032894638304e-17,0.680450964481141,0.7327936168776888,-4.4870669825188145e-17,0.7071064055528244,0.7071071568200711,-4.329782770200734e-17,0.6782796472239508,0.7348038650971787,-4.4993762032933804e-17,0.6507908138733592,0.7592570820071757,-4.6491089789154317e-17,0.624694383845843,0.7808693404094329,-4.7814459000633404e-17,0.6129966852568821,0.7900854788338254,-4.837878474635448e-17,0.5905100076399575,0.807030315959108,-4.941635681900676e-17,0.5299999118245442,0.847997696615961,-5.192488550801043e-17,0.5812391522257995,0.8137327865582374,-4.9826764795195184e-17,0.6156449453311071,0.7880236679746735,-4.825253523739016e-17,0.6401852827657474,0.7682205436787928,-4.7039943545375003e-17,0.5758357699814024,0.8175653894398451,-5.006144404800367e-17,0.5301285960100484,0.8479172552156344,-5.191995989262406e-17,0.4963387050566662,0.8681289592351311,-5.315756987826704e-17,0.5178675127285285,0.8554608344397584,-5.2381870920326574e-17,0.5431899337884921,0.839609847387972,-5.141127785015965e-17,0.5732976996891233,0.81934714714287,-5.017054524615761e-17,0.5470933809136015,0.8370715815033533,-5.125585388382852e-17,0.5086106053258705,0.8609966621015738,-5.272084261645138e-17,0.4472132533969907,0.8944273620513177,-5.476788269011003e-17,0.4856427388692917,0.8741573829600325,-5.3526704385304557e-17,0.5038708439306498,0.8637790068279124,-5.289121210204726e-17,0.5144956643229687,0.8574929803752723,-5.250630397652262e-17,0.49654695300436985,0.8680098636893916,-5.31502773790047e-17,0.46064490482380593,0.8875845152208701,-5.4348879148428526e-17,0.3546538623738059,0.9349976673250804,-5.725209752320667e-17,0.4237951295624446,0.905758073747704,-5.5461688710936505e-17,0.46602517133676263,0.884771461836638,-5.417662929977083e-17,0.49430285129980256,0.8692897625055096,-5.322864858184402e-17,0.436492327042608,0.8997079795316529,-5.509122726895997e-17,0.3983252563622206,0.9172442369096528,-5.616501338916451e-17,0.37139062192859174,0.9284767126554622,-5.685280419260676e-17,0.30113132942679244,0.9535826772952898,-5.839010122147073e-17,0.25242185832486186,0.9676172825243582,-5.924947297752341e-17,0.21693042853434044,0.9761870666915782,-5.977422093790943e-17,0.20478429872297307,0.9788071265558606,-5.993465334122833e-17,0.1855945786696748,0.9826264052875977,-6.01685167251267e-17,0.1507980907673984,0.9885645835355965,-6.053212529020178e-17,0.17575335252152033,0.9844342329873774,-6.027921425025428e-17,0.2272819216503761,0.9738290035169997,-5.962983120566221e-17,0.39136389921714276,0.9202360014635127,-5.634820614139254e-17,0.344603570005704,0.9387483046798669,-5.748175783479306e-17,0.3261178681913447,0.9453291152008029,-5.788471627938924e-17,0.31622784665134546,0.948683271172341,-5.809009910707044e-17,0.20952910501311814,0.977802410588357,-5.987313222886108e-17,0.1559625681166477,0.9877629661748106,-6.048304038130857e-17,0.12403473458920847,0.9922778767136677,-6.075949893036432e-17,0.0830454847865383,0.9965457578338132,-6.102083128941401e-17,0.04163054843101541,0.9991330729374006,-6.117925865432673e-17,0,1,-6.123234262925839e-17,-0.0454076639603303,0.9989685400720414,-6.116918392154128e-17,-0.09950373229926124,0.9950371888821629,-6.09284580784867e-17,-0.16439903262415256,0.9863939162790101,-6.039921024901236e-17,-0.1778062403867359,0.9840655165584935,-6.025663687954783e-17,-0.20883328315287095,0.9779512563761003,-5.988224640513508e-17,-0.3559948164224043,0.9344879296600779,-5.72208850918522e-17,-0.1660304781507172,0.9861206215899982,-6.038247577497603e-17,-0.1266319276249525,0.9919497743867827,-6.073940845626704e-17,-0.1097231731555261,0.9939621850315445,-6.086263307437787e-17,-0.0945466846531678,0.995520428932071,-6.095804799879485e-17,-0.06677974725328827,0.9977677411886932,-6.109565619288727e-17,-0.12403468323751318,0.9922778831326283,-6.075949932341231e-17,-0.1520571372248438,0.9883717048858619,-6.052031487863535e-17,-0.16439896464595927,0.9863939276087099,-6.039921094275643e-17,-0.17743509581943132,0.9841325046819405,-6.026073871927481e-17,-0.20761501493761184,0.9782106141176631,-5.989812748723001e-17,-0.3511234415883917,0.9363291775690444,-5.733362901467945e-17,-0.23705666214078291,0.971495825484943,-5.948696524898824e-17,-0.16247551164317067,0.9867125762430973,-6.041872254511558e-17,-0.11076001455721299,0.9938471809968,-6.085559110791864e-17,-0.2052506898395285,0.9787094330394481,-5.992867133835871e-17,-0.3313220389666298,0.9435177298254629,-5.77738009094528e-17,-0.49665812341207427,0.8679462589635357,-5.3146382712638255e-17,-0.34922810508856894,0.9370377423648675,-5.737701609703232e-17,-0.26379373853614646,0.964579112104924,-5.906343868543455e-17,-0.2093816618630595,0.9778339939250749,-5.987506615055635e-17,-0.1506564748247353,0.9885861756030093,-6.053344742307167e-17,-0.08144710446125078,0.9966776656346215,-6.102890831306857e-17,-0.0747527777108179,0.9972020969816086,-6.106102047299282e-17,-0.12660539490333422,0.9919531611832137,-6.073961583774653e-17,-0.16439900996475185,0.9863939200555777,-6.039921048026044e-17,-0.07974524153121053,0.9968152769962592,-6.103733457911405e-17,-0.031234757960205018,0.9995120759126264,-6.120246589436326e-17,-0.0285597673051738,0.9995920866490863,-6.12073651391922e-17,-0.06438226435529532,0.9979253098486305,-6.110530449106019e-17,-0.11043149774435713,0.9938837378214507,-6.085782956793108e-17,-0.10468475426664449,0.9945054561057634,-6.089589883493499e-17,-0.09053571782802396,0.9958932090326577,-6.098087419763934e-17,-0.09950371754563643,0.9950371903575255,-6.09284581688266e-17,-0.11684125059340096,0.9931506039668758,-6.081293806455465e-17,-0.12403473458920847,0.9922778767136677,-6.075949893036432e-17,-0.1559625681166477,0.9877629661748106,-6.048304038130857e-17,-0.20952910501311814,0.977802410588357,-5.987313222886108e-17,-0.31622784665134546,0.948683271172341,-5.809009910707044e-17,-0.19611616092865486,0.9805806705328258,-6.004325159369393e-17,-0.14142135206498424,0.989949494257213,-6.061692661801873e-17,-0.11043151319735231,0.9938837361044515,-6.08578294627952e-17,-0.11863254074123382,0.9929382258112937,-6.079993365256507e-17,-0.14142134372033446,0.9899494954493058,-6.061692669101337e-17,-0.4989648131655068,0.8666222448233781,-5.306531022516214e-17,-0.1847572432097894,0.9827841884572212,-6.017817815823022e-17,-0.15326609122285664,0.9881849549964151,-6.050887974541877e-17,-0.14142138480402966,0.9899494895802061,-6.061692633163464e-17,-0.1797305326748339,0.9837158815554522,-6.023522790924642e-17,-0.23409763076869908,0.9722130935491878,-5.95308852528551e-17,-0.3162278164133915,0.9486832812516611,-5.809009972425082e-17,-0.19611614660061558,0.9805806733984339,-6.004325176916183e-17,-0.11043150418311598,0.9938837371060332,-6.085782952412439e-17,-0.17985933859244885,0.9836923392611568,-6.023378635941585e-17,-0.29305601020101035,0.9560952750040476,-5.854395346526286e-17,-0.4955771441276607,0.8685639263855435,-5.318420393585356e-17,-0.24654977767672256,0.9691301290990592,-5.934210811733101e-17,-0.10107621310040513,0.9948786856422653,-6.091875255379344e-17,-0.011533256067887618,0.9999334897904323,-6.12282700533178e-17,-0.04551089226579049,0.9989638425314361,-6.116889628012542e-17,-0.07849720914812465,0.9969143334088219,-6.104340003530772e-17,-0.11043155698083834,0.9938837312396195,-6.085782916491015e-17,-0.12768557974405897,0.9918146967682137,-6.073113733724527e-17,-0.1717394582323173,0.9851424051811343,-6.032257729266292e-17,-0.49483891995265106,0.8689847198311911,-5.3209970104293604e-17,-0.2053497143076221,0.9786886608282424,-5.9927399407205e-17,-0.13957751068745017,0.9902111484477919,-6.063294831706664e-17,-0.11105113465590082,0.9938146937390477,-6.085360183702087e-17,-0.15704046326782042,0.9875921693171875,-6.04725820896026e-17,-0.24846633444212185,0.9686405322145548,-5.931212895314882e-17,-0.4984719087428298,0.8669058519783333,-5.3082676155646464e-17,-0.30908628932675747,0.9510339982094311,-5.82340396304334e-17,-0.189168771535097,0.9819445890048493,-6.012676751689124e-17,-0.1100418865310585,0.993926950640079,-6.08604755900473e-17,-0.1814190437802856,0.9834058829160253,-6.021624596634242e-17,-0.2893510719236198,0.9572230446330952,-5.861300944159558e-17,-0.4615807663097689,0.88709818857491,-5.431910022861336e-17,-0.4615807542116246,0.8870981948698959,-5.43191006140701e-17,0.3267803500416015,0.945100313631674,-5.787070622331423e-17,0.32678035103032915,0.945100313289809,-5.787070620238104e-17,0.3444707912248612,0.9387970355688806,-5.748474174128578e-17,0.3530658164961181,0.9355984871845026,-5.728888713069728e-17,0.358144125443737,0.9336663137385545,-5.717057562423584e-17,0.40364024766508594,0.9149177834455225,-5.602255919353787e-17,0.4484677141746927,0.8937990318538762,-5.472940856017598e-17,0.49228477070004045,0.8704342045995256,-5.329872545226415e-17,0.6068317327453656,0.7948303266315756,-4.8669322892429996e-17,0.6779799350657413,0.7350804089677899,-4.50106954619711e-17,0.7249994197476357,0.6887494764902486,-4.2173743930173255e-17,0.7367577998216424,0.6761567454384915,-4.140266150777396e-17,0.7560102364121967,0.6545597928684396,-4.0080229508256693e-17,0.7929993783220282,0.6092224437599759,-3.7304117413744946e-17,0.842928108258687,0.5380262115431103,-3.294460532872958e-17,0.8877019232328442,0.4604186089730843,-2.8192510017526437e-17,0.9258340886322443,0.37793020562863405,-2.31415518409986e-17,0.9544856021257316,0.2982569954496956,-1.826297453694892e-17,0.9762911480599455,0.21646153057712927,-1.3254446606352471e-17,0.9909384000266596,0.13431711489085943,-8.224551599970569e-18,0.9984034849500522,0.05648434508420319,-3.4586687713851966e-18,0.99980237876931,-0.019879723519940457,1.2172820419479207e-18,0.9956159243252231,-0.09353572167910977,5.7274113579302014e-18,0.9744621412833689,-0.22455185415718978,1.3749836071788305e-17,0.9542655880436514,-0.29896017707330885,1.8306031995056607e-17,0.938188873094306,-0.3461237327922435,2.1193966998452534e-17,0.8986180094749235,-0.43873189198794993,2.6864581532588935e-17,0.8461840199823398,-0.5328907996264595,3.263015202670685e-17,0.780731546482754,-0.624866587622228,3.8262044990859777e-17,0.7239481383033934,-0.6898543998896077,4.2241400978341897e-17,0.6619458993882571,-0.7495516168237324,4.589680141966538e-17,0.5962309272203115,-0.8028129803547074,4.9158119480295527e-17,0.5521444657320901,-0.8337484566471024,5.105237116403076e-17,0.5078601777995867,-0.8614395160458873,5.27479596009043e-17,0.4638099794523982,-0.8859347058109679,5.424785745336842e-17,0.43248573174950133,-0.9016407776010903,5.520957702258093e-17,0.40706043587140306,-0.9134012270345291,5.592969689176332e-17,0.38606248158195666,-0.9224726339110454,5.648516038575557e-17,0.3499875401031156,-0.9367543550859906,5.735966363007535e-17,0.30962040461405704,-0.9508602447503144,5.822340029909175e-17,0.26442764388659384,-0.9644055273320372,5.905280968314592e-17,0.20773643608749623,-0.9781848358677748,5.989654902460047e-17,0.15027217645286448,-0.9886446646718523,6.053702884577513e-17,0.09262369306140648,-0.9957011858402433,6.096911616772865e-17,0.037540625285510075,-0.999295102286193,6.118918009092798e-17,-0.012128197622450324,-0.9999264507064662,6.122783903371659e-17,-0.05682620126555875,-0.9983840858355698,6.113339641948254e-17,-0.08452108470298961,-0.9964216909725673,6.101323438485726e-17,-0.11868102761633129,-0.9929324315802821,6.07995788582265e-17,-0.16169129414096267,-0.9868413881668223,6.042661000096385e-17,-0.19691899554398878,-0.9804197617316508,6.003339877084831e-17,-0.2331093207207298,-0.9724505358079247,5.954542439859675e-17,-0.27014361837117096,-0.9628200379371689,5.895572645328428e-17,-0.30603948918613555,-0.9520188186473466,5.829434249291614e-17,-0.3425185675839477,-0.9395110594666998,5.752846309724251e-17,-0.3794192964321634,-0.9252248361857361,5.665368417842446e-17,-0.4147674059803503,-0.9099274690525236,5.571699055279803e-17,-0.450222144966384,-0.8929165807520143,5.467537401195321e-17,-0.4856004917986597,-0.8741808522067388,5.352814146226012e-17,-0.5188173665035214,-0.8548851035164615,5.2346617567169e-17,-0.5517231158462278,-0.8340273397442857,5.1069447829390995e-17,-0.58414544630169,-0.8116489989921748,4.969916960098345e-17,-0.61448997097286,-0.788924632378641,4.8307703398470666e-17,-0.6441565781884601,-0.7648936545537129,4.683623033057856e-17,-0.6730018049401773,-0.7396408388855118,4.5289941269229763e-17,-0.6995976722940507,-0.7145369807929791,4.3752773229191524e-17,-0.725283319971302,-0.6884505107641404,4.215543755839779e-17,-0.7499565945761423,-0.661487041635553,4.05044011782427e-17,-0.7724088980043378,-0.6351255736338484,3.8890226737352084e-17,-0.7938590375686155,-0.6081018240974381,3.7235499246611346e-17,-0.8142446909653372,-0.5805218197749011,3.554671097221734e-17,-0.853900793650583,-0.5204358121833131,3.1867503968145e-17,-0.8752870754219357,-0.48360369684206805,2.9612187261809517e-17,-0.8885067724198089,-0.45886350406644255,2.809728730105851e-17,-0.9133689768964396,-0.40713279411409675,2.4929694744801687e-17,-0.9348115099008657,-0.35514425372919084,2.1746314627158094e-17,-0.9528534977134153,-0.30343073656983116,1.8579774825892148e-17,-0.9667896168933414,-0.25557354453703995,1.564936684606606e-17,-0.9781062788283922,-0.20810600019335235,1.2742817907043864e-17,-0.9868946640356715,-0.1613658021326674,9.880806084832605e-18,-0.9930491657257183,-0.11770027379515823,7.207063492582651e-18,-0.9972140898021191,-0.07459262094960392,4.567480923600545e-18,-0.9994791826929332,-0.032270162123337255,1.975977623837903e-18,-0.9999822702624807,-0.005954759499385905,3.646238739412289e-19,-0.9996938249076015,0.024743816229716945,-1.5151218333334325e-18,-0.9981434358357982,0.060907154734954484,-3.729487767303991e-18,-0.9932648130590521,0.1158663503298795,-7.094768062600868e-18,-0.9852777326407771,0.1709613686253406,-1.0468365100033802e-17,-0.9742020986256301,0.22567736048043982,-1.3818753460604948e-17,-0.9638951306808214,0.26628213805999545,-1.6305079113741128e-17,-0.9476793919551442,0.31922369909442533,-1.9546814918329134e-17,-0.9206942887882317,0.39028454567498855,-2.3898037023675345e-17,-0.9015328992099721,0.4327105633585368,-2.6495881474869347e-17,-0.8779781286196644,0.47870074750882957,-2.931196818834276e-17,-0.8490880432298195,0.5282513557428474,-3.23460680092163e-17,-0.7993129595566076,0.6009149629397298,-3.6795430901773646e-17,-0.7703438268032666,0.637628723087424,-3.904350044234567e-17,-0.7516118192652291,0.6596056952004073,-4.0389201928721524e-17,-0.7476817863178014,0.6640571860981717,-4.066177714458445e-17,-0.7404887211144263,0.6720687865853625,-4.1152346210624856e-17,-0.7231056228714671,0.6907374741330223,-4.229547368298173e-17,-0.6647405807207957,0.7470742669527438,-4.574510748355246e-17,-0.6003395207554828,0.7997452468249356,-4.897027496970528e-17,-0.5309538267238975,0.8474007516442557,-5.188833316897216e-17,-0.4083019522432546,0.9128469290052672,-5.589575592491684e-17,-0.3462073192955049,0.9381580314990755,-5.744561402514198e-17,-0.30923885273399354,0.9509844015333604,-5.823100270977096e-17,-0.28390663723244547,0.9588519287853389,-5.871274983410914e-17,-0.25830944850564125,0.9660622282299994,-5.915425336016414e-17,-0.23250032300993576,0.9725963190349199,-5.955435104710173e-17,-0.17599465470889383,0.9843911222242394,-6.02765744772348e-17,-0.10294674617192781,0.9946868690460394,-6.090700717425136e-17,-0.0067681425795056375,0.999977095860712,-6.123094015515388e-17,0.05171285570779576,0.9986619951487815,-6.115041345776897e-17,0.10341722294185858,0.9946380638196961,-6.090401871590981e-17,0.1491060456055941,0.9888212109192756,-6.054783918608726e-17,0.14910605563827062,0.988821209406431,-6.054783909345225e-17],"faces":[50,156,0,1,0,0,0,0,0,50,1,2,3,0,0,0,0,0,50,3,4,5,0,0,0,0,0,50,5,6,7,0,0,0,0,0,50,7,8,9,0,0,0,0,0,50,9,10,11,0,0,0,0,0,50,11,12,13,0,0,0,0,0,50,13,14,15,0,0,0,0,0,50,15,16,17,0,0,0,0,0,50,17,18,19,0,0,0,0,0,50,19,20,21,0,0,0,0,0,50,21,22,23,0,0,0,0,0,50,23,24,25,0,0,0,0,0,50,25,26,27,0,0,0,0,0,50,28,29,30,0,0,0,0,0,50,30,31,32,0,0,0,0,0,50,33,34,35,0,0,0,0,0,50,36,37,38,0,0,0,0,0,50,38,39,40,0,0,0,0,0,50,40,41,42,0,0,0,0,0,50,42,43,44,0,0,0,0,0,50,46,47,48,0,0,0,0,0,50,48,49,50,0,0,0,0,0,50,50,51,52,0,0,0,0,0,50,52,53,54,0,0,0,0,0,50,54,55,56,0,0,0,0,0,50,56,57,58,0,0,0,0,0,50,61,62,63,0,0,0,0,0,50,63,64,65,0,0,0,0,0,50,67,68,69,0,0,0,0,0,50,69,70,71,0,0,0,0,0,50,71,72,73,0,0,0,0,0,50,74,75,76,0,0,0,0,0,50,76,77,78,0,0,0,0,0,50,78,79,80,0,0,0,0,0,50,80,81,82,0,0,0,0,0,50,84,85,86,0,0,0,0,0,50,90,91,92,0,0,0,0,0,50,94,95,96,0,0,0,0,0,50,96,97,98,0,0,0,0,0,50,99,100,101,0,0,0,0,0,50,101,102,103,0,0,0,0,0,50,104,105,106,0,0,0,0,0,50,106,107,108,0,0,0,0,0,50,108,109,110,0,0,0,0,0,50,110,111,112,0,0,0,0,0,50,113,114,115,0,0,0,0,0,50,115,116,117,0,0,0,0,0,50,117,118,119,0,0,0,0,0,50,119,120,121,0,0,0,0,0,50,121,122,123,0,0,0,0,0,50,123,124,125,0,0,0,0,0,50,125,126,127,0,0,0,0,0,50,127,128,129,0,0,0,0,0,50,129,130,131,0,0,0,0,0,50,131,132,133,0,0,0,0,0,50,133,134,135,0,0,0,0,0,50,135,136,137,0,0,0,0,0,50,137,138,139,0,0,0,0,0,50,139,140,141,0,0,0,0,0,50,141,142,143,0,0,0,0,0,50,143,144,145,0,0,0,0,0,50,145,146,147,0,0,0,0,0,50,147,148,149,0,0,0,0,0,50,149,150,151,0,0,0,0,0,50,151,152,153,0,0,0,0,0,50,153,154,155,0,0,0,0,0,50,155,156,1,0,0,0,0,0,50,1,3,5,0,0,0,0,0,50,5,7,9,0,0,0,0,0,50,9,11,13,0,0,0,0,0,50,13,15,17,0,0,0,0,0,50,17,19,21,0,0,0,0,0,50,23,25,27,0,0,0,0,0,50,40,42,44,0,0,0,0,0,50,46,48,50,0,0,0,0,0,50,63,65,66,0,0,0,0,0,50,67,69,71,0,0,0,0,0,50,84,86,87,0,0,0,0,0,50,89,90,92,0,0,0,0,0,50,96,98,99,0,0,0,0,0,50,110,112,113,0,0,0,0,0,50,115,117,119,0,0,0,0,0,50,119,121,123,0,0,0,0,0,50,123,125,127,0,0,0,0,0,50,127,129,131,0,0,0,0,0,50,131,133,135,0,0,0,0,0,50,135,137,139,0,0,0,0,0,50,139,141,143,0,0,0,0,0,50,143,145,147,0,0,0,0,0,50,147,149,151,0,0,0,0,0,50,151,153,155,0,0,0,0,0,50,155,1,5,0,0,0,0,0,50,5,9,13,0,0,0,0,0,50,13,17,21,0,0,0,0,0,50,40,44,45,0,0,0,0,0,50,63,66,67,0,0,0,0,0,50,83,84,87,0,0,0,0,0,50,89,92,93,0,0,0,0,0,50,96,99,101,0,0,0,0,0,50,108,110,113,0,0,0,0,0,50,113,115,119,0,0,0,0,0,50,119,123,127,0,0,0,0,0,50,127,131,135,0,0,0,0,0,50,135,139,143,0,0,0,0,0,50,143,147,151,0,0,0,0,0,50,151,155,5,0,0,0,0,0,50,5,13,21,0,0,0,0,0,50,94,96,101,0,0,0,0,0,50,106,108,113,0,0,0,0,0,50,113,119,127,0,0,0,0,0,50,127,135,143,0,0,0,0,0,50,151,5,21,0,0,0,0,0,50,93,94,101,0,0,0,0,0,50,104,106,113,0,0,0,0,0,50,151,21,23,0,0,0,0,0,50,89,93,101,0,0,0,0,0,50,104,113,127,0,0,0,0,0,50,151,23,27,0,0,0,0,0,50,89,101,103,0,0,0,0,0,50,103,104,127,0,0,0,0,0,50,151,27,28,0,0,0,0,0,50,89,103,127,0,0,0,0,0,50,151,28,30,0,0,0,0,0,50,88,89,127,0,0,0,0,0,50,151,30,32,0,0,0,0,0,50,87,88,127,0,0,0,0,0,50,151,32,33,0,0,0,0,0,50,83,87,127,0,0,0,0,0,50,151,33,35,0,0,0,0,0,50,83,127,143,0,0,0,0,0,50,151,35,36,0,0,0,0,0,50,82,83,143,0,0,0,0,0,50,151,36,38,0,0,0,0,0,50,80,82,143,0,0,0,0,0,50,151,38,40,0,0,0,0,0,50,78,80,143,0,0,0,0,0,50,151,40,45,0,0,0,0,0,50,76,78,143,0,0,0,0,0,50,151,45,46,0,0,0,0,0,50,74,76,143,0,0,0,0,0,50,151,46,50,0,0,0,0,0,50,73,74,143,0,0,0,0,0,50,151,50,52,0,0,0,0,0,50,71,73,143,0,0,0,0,0,50,151,52,54,0,0,0,0,0,50,67,71,143,0,0,0,0,0,50,151,54,56,0,0,0,0,0,50,63,67,143,0,0,0,0,0,50,151,56,58,0,0,0,0,0,50,61,63,143,0,0,0,0,0,50,151,58,59,0,0,0,0,0,50,60,61,143,0,0,0,0,0,50,143,151,59,0,0,0,0,0,50,59,60,143,0,0,0,0,0,50,300,217,216,0,1,1,1,1,50,216,308,300,0,1,1,1,1,50,300,218,217,0,1,1,1,1,50,216,215,308,0,1,1,1,1,50,300,220,218,0,1,1,1,1,50,215,213,308,0,1,1,1,1,50,300,224,220,0,1,1,1,1,50,213,211,308,0,1,1,1,1,50,300,228,224,0,1,1,1,1,50,211,209,308,0,1,1,1,1,50,300,230,228,0,1,1,1,1,50,209,207,308,0,1,1,1,1,50,300,231,230,0,1,1,1,1,50,207,203,308,0,1,1,1,1,50,300,233,231,0,1,1,1,1,50,203,202,308,0,1,1,1,1,50,300,235,233,0,1,1,1,1,50,202,197,308,0,1,1,1,1,50,300,237,235,0,1,1,1,1,50,197,195,308,0,1,1,1,1,50,300,239,237,0,1,1,1,1,50,195,193,308,0,1,1,1,1,50,300,240,239,0,1,1,1,1,50,193,192,308,0,1,1,1,1,50,300,284,240,0,1,1,1,1,50,192,190,308,0,1,1,1,1,50,284,244,240,0,1,1,1,1,50,190,189,308,0,1,1,1,1,50,284,245,244,0,1,1,1,1,50,189,187,308,0,1,1,1,1,50,284,246,245,0,1,1,1,1,50,187,185,308,0,1,1,1,1,50,284,260,246,0,1,1,1,1,50,185,184,308,0,1,1,1,1,50,284,261,260,0,1,1,1,1,50,260,258,246,0,1,1,1,1,50,184,180,308,0,1,1,1,1,50,284,270,261,0,1,1,1,1,50,258,250,246,0,1,1,1,1,50,180,178,308,0,1,1,1,1,50,270,263,261,0,1,1,1,1,50,258,251,250,0,1,1,1,1,50,178,162,308,0,1,1,1,1,50,300,292,284,0,1,1,1,1,50,284,276,270,0,1,1,1,1,50,270,265,263,0,1,1,1,1,50,258,253,251,0,1,1,1,1,50,178,170,162,0,1,1,1,1,50,162,312,308,0,1,1,1,1,50,308,304,300,0,1,1,1,1,50,300,296,292,0,1,1,1,1,50,292,288,284,0,1,1,1,1,50,284,280,276,0,1,1,1,1,50,276,272,270,0,1,1,1,1,50,270,267,265,0,1,1,1,1,50,258,256,253,0,1,1,1,1,50,250,249,246,0,1,1,1,1,50,244,241,240,0,1,1,1,1,50,224,223,220,0,1,1,1,1,50,202,201,197,0,1,1,1,1,50,178,174,170,0,1,1,1,1,50,170,166,162,0,1,1,1,1,50,162,158,312,0,1,1,1,1,50,312,310,308,0,1,1,1,1,50,308,306,304,0,1,1,1,1,50,304,302,300,0,1,1,1,1,50,300,298,296,0,1,1,1,1,50,296,294,292,0,1,1,1,1,50,292,290,288,0,1,1,1,1,50,288,286,284,0,1,1,1,1,50,284,282,280,0,1,1,1,1,50,280,278,276,0,1,1,1,1,50,276,274,272,0,1,1,1,1,50,270,269,267,0,1,1,1,1,50,256,255,253,0,1,1,1,1,50,249,247,246,0,1,1,1,1,50,244,243,241,0,1,1,1,1,50,228,226,224,0,1,1,1,1,50,223,222,220,0,1,1,1,1,50,207,205,203,0,1,1,1,1,50,201,199,197,0,1,1,1,1,50,184,182,180,0,1,1,1,1,50,178,176,174,0,1,1,1,1,50,174,172,170,0,1,1,1,1,50,170,168,166,0,1,1,1,1,50,166,164,162,0,1,1,1,1,50,162,160,158,0,1,1,1,1,50,158,313,312,0,1,1,1,1,50,312,311,310,0,1,1,1,1,50,310,309,308,0,1,1,1,1,50,308,307,306,0,1,1,1,1,50,306,305,304,0,1,1,1,1,50,304,303,302,0,1,1,1,1,50,302,301,300,0,1,1,1,1,50,300,299,298,0,1,1,1,1,50,298,297,296,0,1,1,1,1,50,296,295,294,0,1,1,1,1,50,294,293,292,0,1,1,1,1,50,292,291,290,0,1,1,1,1,50,290,289,288,0,1,1,1,1,50,288,287,286,0,1,1,1,1,50,286,285,284,0,1,1,1,1,50,284,283,282,0,1,1,1,1,50,282,281,280,0,1,1,1,1,50,280,279,278,0,1,1,1,1,50,278,277,276,0,1,1,1,1,50,276,275,274,0,1,1,1,1,50,274,273,272,0,1,1,1,1,50,272,271,270,0,1,1,1,1,50,269,268,267,0,1,1,1,1,50,267,266,265,0,1,1,1,1,50,265,264,263,0,1,1,1,1,50,263,262,261,0,1,1,1,1,50,260,259,258,0,1,1,1,1,50,258,257,256,0,1,1,1,1,50,255,254,253,0,1,1,1,1,50,253,252,251,0,1,1,1,1,50,249,248,247,0,1,1,1,1,50,243,242,241,0,1,1,1,1,50,239,238,237,0,1,1,1,1,50,237,236,235,0,1,1,1,1,50,235,234,233,0,1,1,1,1,50,233,232,231,0,1,1,1,1,50,230,229,228,0,1,1,1,1,50,228,227,226,0,1,1,1,1,50,226,225,224,0,1,1,1,1,50,222,221,220,0,1,1,1,1,50,220,219,218,0,1,1,1,1,50,215,214,213,0,1,1,1,1,50,213,212,211,0,1,1,1,1,50,211,210,209,0,1,1,1,1,50,209,208,207,0,1,1,1,1,50,207,206,205,0,1,1,1,1,50,205,204,203,0,1,1,1,1,50,201,200,199,0,1,1,1,1,50,199,198,197,0,1,1,1,1,50,197,196,195,0,1,1,1,1,50,195,194,193,0,1,1,1,1,50,192,191,190,0,1,1,1,1,50,189,188,187,0,1,1,1,1,50,187,186,185,0,1,1,1,1,50,184,183,182,0,1,1,1,1,50,182,181,180,0,1,1,1,1,50,180,179,178,0,1,1,1,1,50,178,177,176,0,1,1,1,1,50,176,175,174,0,1,1,1,1,50,174,173,172,0,1,1,1,1,50,172,171,170,0,1,1,1,1,50,170,169,168,0,1,1,1,1,50,168,167,166,0,1,1,1,1,50,166,165,164,0,1,1,1,1,50,164,163,162,0,1,1,1,1,50,162,161,160,0,1,1,1,1,50,160,159,158,0,1,1,1,1,50,158,157,313,0,1,1,1,1,50,0,157,1,0,2,3,3,4,50,157,158,1,0,2,3,5,4,50,1,158,2,0,6,4,5,7,50,158,159,2,0,6,5,8,7,50,2,159,3,0,9,7,8,10,50,159,160,3,0,9,8,11,10,50,3,160,4,0,12,10,11,13,50,160,161,4,0,12,11,14,13,50,4,161,5,0,15,13,14,16,50,161,162,5,0,15,14,17,16,50,5,162,6,0,18,16,17,19,50,162,163,6,0,18,17,20,19,50,6,163,7,0,21,19,20,22,50,163,164,7,0,21,20,23,22,50,7,164,8,0,24,22,23,25,50,164,165,8,0,24,23,26,25,50,8,165,9,0,27,25,26,28,50,165,166,9,0,27,26,29,28,50,9,166,10,0,30,28,29,31,50,166,167,10,0,30,29,32,31,50,10,167,11,0,33,31,32,34,50,167,168,11,0,33,32,35,34,50,11,168,12,0,36,34,35,37,50,168,169,12,0,36,35,38,37,50,12,169,13,0,39,37,38,40,50,169,170,13,0,39,38,41,40,50,13,170,14,0,42,40,41,43,50,170,171,14,0,42,41,43,43,50,14,171,15,0,44,45,45,46,50,171,172,15,0,44,45,47,46,50,15,172,16,0,48,46,47,49,50,172,173,16,0,48,47,50,49,50,16,173,17,0,51,49,50,52,50,173,174,17,0,51,50,53,52,50,17,174,18,0,54,52,53,55,50,174,175,18,0,54,53,56,55,50,18,175,19,0,57,55,56,58,50,175,176,19,0,57,56,59,58,50,19,176,20,0,60,58,59,61,50,176,177,20,0,60,59,62,61,50,20,177,21,0,63,61,62,64,50,177,178,21,0,63,62,65,64,50,21,178,22,0,66,64,65,67,50,178,179,22,0,66,65,68,67,50,22,179,23,0,69,67,68,70,50,179,180,23,0,69,68,71,70,50,23,180,24,0,72,70,71,73,50,180,181,24,0,72,71,74,73,50,24,181,25,0,75,73,74,76,50,181,182,25,0,75,74,77,76,50,25,182,26,0,78,76,77,79,50,182,183,26,0,78,77,80,79,50,26,183,27,0,81,79,80,82,50,183,184,27,0,81,80,83,82,50,27,184,28,0,84,82,83,85,50,184,185,28,0,84,83,86,85,50,28,185,29,0,87,85,86,88,50,185,186,29,0,87,86,89,88,50,29,186,30,0,90,88,89,91,50,186,187,30,0,90,89,92,91,50,30,187,31,0,93,91,92,94,50,187,188,31,0,93,92,95,94,50,31,188,32,0,96,94,95,97,50,188,189,32,0,96,95,98,97,50,32,189,33,0,99,97,98,100,50,189,190,33,0,99,98,101,100,50,33,190,34,0,102,100,101,103,50,190,191,34,0,102,101,104,103,50,34,191,35,0,105,103,104,106,50,191,192,35,0,105,104,107,106,50,35,192,36,0,102,106,107,108,50,192,193,36,0,102,107,109,108,50,36,193,37,0,110,108,109,111,50,193,194,37,0,110,109,112,111,50,37,194,38,0,102,111,112,113,50,194,195,38,0,102,112,114,113,50,38,195,39,0,115,113,114,116,50,195,196,39,0,115,114,117,116,50,39,196,40,0,118,116,117,119,50,196,197,40,0,118,117,120,119,50,40,197,41,0,121,119,120,122,50,197,198,41,0,121,120,123,122,50,41,198,42,0,124,122,123,125,50,198,199,42,0,124,123,126,125,50,42,199,43,0,127,125,126,128,50,199,200,43,0,127,126,129,128,50,43,200,44,0,130,128,129,131,50,200,201,44,0,130,129,132,131,50,44,201,45,0,133,131,132,134,50,201,202,45,0,133,132,135,134,50,45,202,46,0,136,134,135,137,50,202,203,46,0,136,135,138,137,50,46,203,47,0,139,137,138,140,50,203,204,47,0,139,138,141,140,50,47,204,48,0,142,140,141,143,50,204,205,48,0,142,141,144,143,50,48,205,49,0,145,143,144,146,50,205,206,49,0,145,144,147,146,50,49,206,50,0,148,146,147,149,50,206,207,50,0,148,147,150,149,50,50,207,51,0,151,149,150,152,50,207,208,51,0,151,150,153,152,50,51,208,52,0,154,152,153,155,50,208,209,52,0,154,153,156,155,50,52,209,53,0,157,155,156,158,50,209,210,53,0,157,156,159,158,50,53,210,54,0,160,158,159,161,50,210,211,54,0,160,159,162,161,50,54,211,55,0,163,161,162,164,50,211,212,55,0,163,162,165,164,50,55,212,56,0,166,164,165,167,50,212,213,56,0,166,165,168,167,50,56,213,57,0,169,167,168,170,50,213,214,57,0,169,168,171,170,50,57,214,58,0,172,170,171,171,50,214,215,58,0,172,171,170,171,50,58,215,59,0,169,171,170,173,50,215,216,59,0,169,170,174,173,50,59,216,60,0,175,173,174,176,50,216,217,60,0,175,174,177,176,50,60,217,61,0,178,176,177,179,50,217,218,61,0,178,177,180,179,50,61,218,62,0,181,179,180,182,50,218,219,62,0,181,180,183,182,50,62,219,63,0,184,182,183,185,50,219,220,63,0,184,183,186,185,50,63,220,64,0,187,185,186,188,50,220,221,64,0,187,186,189,188,50,64,221,65,0,190,188,189,191,50,221,222,65,0,190,189,192,191,50,65,222,66,0,193,191,192,194,50,222,223,66,0,193,192,195,194,50,66,223,67,0,196,194,195,197,50,223,224,67,0,196,195,198,197,50,67,224,68,0,199,197,198,200,50,224,225,68,0,199,198,201,200,50,68,225,69,0,202,200,201,203,50,225,226,69,0,202,201,204,203,50,69,226,70,0,205,203,204,206,50,226,227,70,0,205,204,207,206,50,70,227,71,0,208,206,207,209,50,227,228,71,0,208,207,210,209,50,71,228,72,0,211,209,210,212,50,228,229,72,0,211,210,213,212,50,72,229,73,0,214,212,213,215,50,229,230,73,0,214,213,216,215,50,73,230,74,0,217,215,216,218,50,230,231,74,0,217,216,219,218,50,74,231,75,0,220,218,219,221,50,231,232,75,0,220,219,222,221,50,75,232,76,0,223,221,222,224,50,232,233,76,0,223,222,225,224,50,76,233,77,0,226,224,225,227,50,233,234,77,0,226,225,228,227,50,77,234,78,0,229,227,228,230,50,234,235,78,0,229,228,231,230,50,78,235,79,0,232,230,231,233,50,235,236,79,0,232,231,234,233,50,79,236,80,0,235,233,234,236,50,236,237,80,0,235,234,237,236,50,80,237,81,0,238,236,237,239,50,237,238,81,0,238,237,240,239,50,81,238,82,0,241,239,240,242,50,238,239,82,0,241,240,243,242,50,82,239,83,0,244,242,243,245,50,239,240,83,0,244,243,246,245,50,83,240,84,0,247,245,246,248,50,240,241,84,0,247,246,249,248,50,84,241,85,0,250,248,249,251,50,241,242,85,0,250,249,252,251,50,85,242,86,0,253,251,252,254,50,242,243,86,0,253,252,255,254,50,86,243,87,0,256,254,255,257,50,243,244,87,0,256,255,258,257,50,87,244,88,0,259,257,258,260,50,244,245,88,0,259,258,261,260,50,88,245,89,0,262,260,261,263,50,245,246,89,0,262,261,264,263,50,89,246,90,0,265,263,264,266,50,246,247,90,0,265,264,267,266,50,90,247,91,0,268,266,267,269,50,247,248,91,0,268,267,270,269,50,91,248,92,0,271,269,270,272,50,248,249,92,0,271,270,273,272,50,92,249,93,0,262,272,273,274,50,249,250,93,0,262,273,275,274,50,93,250,94,0,276,274,275,277,50,250,251,94,0,276,275,278,277,50,94,251,95,0,279,277,278,280,50,251,252,95,0,279,278,281,280,50,95,252,96,0,282,280,281,283,50,252,253,96,0,282,281,284,283,50,96,253,97,0,285,283,284,286,50,253,254,97,0,285,284,287,286,50,97,254,98,0,288,286,287,289,50,254,255,98,0,288,287,290,289,50,98,255,99,0,262,289,290,291,50,255,256,99,0,262,290,292,291,50,99,256,100,0,293,291,292,294,50,256,257,100,0,293,292,295,294,50,100,257,101,0,262,294,295,296,50,257,258,101,0,262,295,297,296,50,101,258,102,0,298,296,297,299,50,258,259,102,0,298,297,300,299,50,102,259,103,0,262,299,300,301,50,259,260,103,0,262,300,302,301,50,103,260,104,0,303,301,302,304,50,260,261,104,0,303,302,305,304,50,104,261,105,0,306,304,305,307,50,261,262,105,0,306,305,308,307,50,105,262,106,0,309,307,308,310,50,262,263,106,0,309,308,311,310,50,106,263,107,0,312,310,311,313,50,263,264,107,0,312,311,314,313,50,107,264,108,0,315,313,314,316,50,264,265,108,0,315,314,317,316,50,108,265,109,0,318,316,317,319,50,265,266,109,0,318,317,308,319,50,109,266,110,0,320,319,308,321,50,266,267,110,0,320,308,322,321,50,110,267,111,0,323,321,322,324,50,267,268,111,0,323,322,325,324,50,111,268,112,0,326,324,325,327,50,268,269,112,0,326,325,328,327,50,112,269,113,0,329,327,328,330,50,269,270,113,0,329,328,331,330,50,113,270,114,0,332,330,331,333,50,270,271,114,0,332,331,334,333,50,114,271,115,0,335,333,334,336,50,271,272,115,0,335,334,337,336,50,115,272,116,0,338,336,337,339,50,272,273,116,0,338,337,340,339,50,116,273,117,0,341,339,340,342,50,273,274,117,0,341,340,343,342,50,117,274,118,0,344,342,343,345,50,274,275,118,0,344,343,345,345,50,118,275,119,0,346,347,347,348,50,275,276,119,0,346,347,349,348,50,119,276,120,0,350,348,349,351,50,276,277,120,0,350,349,352,351,50,120,277,121,0,353,351,352,354,50,277,278,121,0,353,352,355,354,50,121,278,122,0,356,354,355,357,50,278,279,122,0,356,355,358,357,50,122,279,123,0,359,357,358,360,50,279,280,123,0,359,358,361,360,50,123,280,124,0,362,360,361,363,50,280,281,124,0,362,361,364,363,50,124,281,125,0,365,363,364,366,50,281,282,125,0,365,364,367,366,50,125,282,126,0,368,366,367,369,50,282,283,126,0,368,367,370,369,50,126,283,127,0,371,369,370,372,50,283,284,127,0,371,370,373,372,50,127,284,128,0,374,372,373,375,50,284,285,128,0,374,373,376,375,50,128,285,129,0,377,375,376,378,50,285,286,129,0,377,376,379,378,50,129,286,130,0,380,378,379,381,50,286,287,130,0,380,379,382,381,50,130,287,131,0,383,381,382,384,50,287,288,131,0,383,382,385,384,50,131,288,132,0,386,384,385,387,50,288,289,132,0,386,385,388,387,50,132,289,133,0,389,387,388,390,50,289,290,133,0,389,388,391,390,50,133,290,134,0,392,390,391,393,50,290,291,134,0,392,391,394,393,50,134,291,135,0,395,393,394,396,50,291,292,135,0,395,394,397,396,50,135,292,136,0,398,396,397,399,50,292,293,136,0,398,397,400,399,50,136,293,137,0,401,399,400,402,50,293,294,137,0,401,400,403,402,50,137,294,138,0,404,402,403,405,50,294,295,138,0,404,403,406,405,50,138,295,139,0,407,405,406,408,50,295,296,139,0,407,406,409,408,50,139,296,140,0,410,408,409,411,50,296,297,140,0,410,409,412,411,50,140,297,141,0,413,411,412,414,50,297,298,141,0,413,412,415,414,50,141,298,142,0,416,414,415,417,50,298,299,142,0,416,415,418,417,50,142,299,143,0,419,417,418,420,50,299,300,143,0,419,418,421,420,50,143,300,144,0,422,420,421,423,50,300,301,144,0,422,421,424,423,50,144,301,145,0,425,423,424,426,50,301,302,145,0,425,424,427,426,50,145,302,146,0,428,426,427,429,50,302,303,146,0,428,427,430,429,50,146,303,147,0,431,429,430,432,50,303,304,147,0,431,430,433,432,50,147,304,148,0,434,432,433,435,50,304,305,148,0,434,433,436,435,50,148,305,149,0,437,435,436,438,50,305,306,149,0,437,436,439,438,50,149,306,150,0,440,438,439,441,50,306,307,150,0,440,439,442,441,50,150,307,151,0,443,441,442,444,50,307,308,151,0,443,442,445,444,50,151,308,152,0,446,444,445,447,50,308,309,152,0,446,445,448,447,50,152,309,153,0,449,447,448,450,50,309,310,153,0,449,448,451,450,50,153,310,154,0,452,450,451,453,50,310,311,154,0,452,451,454,453,50,154,311,155,0,455,453,454,456,50,311,312,155,0,455,454,457,456,50,155,312,156,0,458,456,457,459,50,312,313,156,0,458,457,460,459,50,156,313,0,0,461,459,460,462,50,313,157,0,0,461,460,462,462]} \ No newline at end of file diff --git a/simpleExample/package-lock.json b/simpleExample/package-lock.json index 22130ef..ba5a80f 100644 --- a/simpleExample/package-lock.json +++ b/simpleExample/package-lock.json @@ -886,8 +886,7 @@ "big.js": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", - "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", - "dev": true + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=" }, "binary-extensions": { "version": "1.8.0", @@ -1589,8 +1588,7 @@ "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, "encodeurl": { "version": "1.0.1", @@ -1897,6 +1895,11 @@ "websocket-driver": "0.6.5" } }, + "file-saver": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.3.tgz", + "integrity": "sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI=" + }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -3508,8 +3511,7 @@ "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsonify": { "version": "0.0.0", @@ -3564,7 +3566,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, "requires": { "big.js": "3.1.3", "emojis-list": "2.1.0", @@ -3721,8 +3722,7 @@ "mime": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", - "dev": true + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" }, "mime-db": { "version": "1.27.0", @@ -5065,6 +5065,15 @@ } } }, + "url-loader": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", + "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==", + "requires": { + "loader-utils": "1.1.0", + "mime": "1.3.4" + } + }, "url-parse": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", diff --git a/simpleExample/package.json b/simpleExample/package.json index 390558f..2b94b68 100644 --- a/simpleExample/package.json +++ b/simpleExample/package.json @@ -11,7 +11,9 @@ "license": "ISC", "dependencies": { "babel-polyfill": "^6.23.0", - "three": "^0.83.0" + "file-saver": "^1.3.3", + "three": "^0.83.0", + "url-loader": "^0.5.9" }, "devDependencies": { "babel-core": "^6.25.0", diff --git a/src/settings/default.yml b/src/settings/default.yml index 128a25c..40532b8 100644 --- a/src/settings/default.yml +++ b/src/settings/default.yml @@ -8,6 +8,7 @@ filamentThickness: 2.85 temperature: 210 bedTemperature: 70 layerHeight: 0.15 +combing: true thickness: top: 1.2 bottom: 1.2 diff --git a/src/sliceActions/helpers/GCode.js b/src/sliceActions/helpers/GCode.js index 4323ce9..71f9a65 100644 --- a/src/sliceActions/helpers/GCode.js +++ b/src/sliceActions/helpers/GCode.js @@ -1,4 +1,5 @@ import * as THREE from 'three'; +import { PRECISION } from '../../constants.js'; const MOVE = 'G'; const M_COMMAND = 'M'; @@ -17,6 +18,7 @@ export default class { this._currentValues = {}; this._nozzlePosition = new THREE.Vector2(0, 0); this._extruder = 0.0; + this._duration = 0.0; this._isRetracted = false; this._isFanOn = false; } @@ -62,35 +64,37 @@ export default class { } moveTo(x, y, z, { speed }) { - speed *= 60; + const newNozzlePosition = new THREE.Vector2(x, y).multiplyScalar(PRECISION); + const lineLength = this._nozzlePosition.distanceTo(newNozzlePosition); + + this._duration += lineLength / speed; this._addGCode({ [MOVE]: 0, - [POSITION_X]: x.toFixed(3), - [POSITION_Y]: y.toFixed(3), + [POSITION_X]: newNozzlePosition.x.toFixed(3), + [POSITION_Y]: newNozzlePosition.y.toFixed(3), [POSITION_Z]: z.toFixed(3), - [SPEED]: speed.toFixed(3) + [SPEED]: (speed * 60).toFixed(3) }); - this._nozzlePosition.set(x, y); + this._nozzlePosition.copy(newNozzlePosition); return this; } lineTo(x, y, z, { speed, flowRate }) { - const newNozzlePosition = new THREE.Vector2(x, y); - - speed *= 60; - + const newNozzlePosition = new THREE.Vector2(x, y).multiplyScalar(PRECISION); const lineLength = this._nozzlePosition.distanceTo(newNozzlePosition); + this._extruder += this._nozzleToFilamentRatio * lineLength * flowRate; + this._duration += lineLength / speed; this._addGCode({ [MOVE]: 1, - [POSITION_X]: x.toFixed(3), - [POSITION_Y]: y.toFixed(3), + [POSITION_X]: newNozzlePosition.x.toFixed(3), + [POSITION_Y]: newNozzlePosition.y.toFixed(3), [POSITION_Z]: z.toFixed(3), - [SPEED]: speed.toFixed(3), + [SPEED]: (speed * 60).toFixed(3), [EXTRUDER]: this._extruder.toFixed(3) }); @@ -99,17 +103,17 @@ export default class { return this; } - unRetract({ enabled, speed, minDistance }) { + unRetract({ enabled, speed, minDistance, amount }) { if (this._isRetracted && enabled) { this._isRetracted = false; - speed *= 60; - if (this._extruder > minDistance) { + this._duration += amount / speed; + this._addGCode({ [MOVE]: 0, [EXTRUDER]: this._extruder.toFixed(3), - [SPEED]: speed.toFixed(3) + [SPEED]: (speed * 60).toFixed(3) }); } } @@ -121,13 +125,13 @@ export default class { if (!this._isRetracted && enabled) { this._isRetracted = true; - speed *= 60; - if (this._extruder > minDistance) { + this._duration += amount / speed; + this._addGCode({ [MOVE]: 0, [EXTRUDER]: (this._extruder - amount).toFixed(3), - [SPEED]: speed.toFixed(3) + [SPEED]: (speed * 60).toFixed(3) }); } } @@ -136,6 +140,10 @@ export default class { } getGCode() { - return this._gcode; + return { + gcode: this._gcode, + duration: this._duration, + filament: this._extruder + }; } } diff --git a/src/sliceActions/helpers/VectorUtils.js b/src/sliceActions/helpers/VectorUtils.js new file mode 100644 index 0000000..e61b266 --- /dev/null +++ b/src/sliceActions/helpers/VectorUtils.js @@ -0,0 +1,27 @@ +export const subtract = (a, b) => ({ + x: a.x - b.x, + y: a.y - b.y +}); +export const add = (a, b) => ({ + x: a.x + b.x, + y: a.y + b.y +}); +export const scale = (a, factor) => ({ + x: a.x * factor, + y: a.y * factor +}); +export const normal = (a) => ({ + x: -a.y, + y: a.x +}); +export const dot = (a, b) => a.x * b.x + a.y * b.y; +export const length = (a) => Math.sqrt(a.x * a.x + a.y * a.y); +export const distanceTo = (a, b) => length(subtract(a, b)); +export const normalize = (a) => { + const l = length(a); + + return { + x: a.x / l, + y: a.y / l + }; +} diff --git a/src/sliceActions/helpers/comb.js b/src/sliceActions/helpers/comb.js new file mode 100644 index 0000000..67a0ea5 --- /dev/null +++ b/src/sliceActions/helpers/comb.js @@ -0,0 +1,131 @@ +import Shape from 'clipper-js'; +import { subtract, add, scale, normalize, dot, length, distanceTo } from './VectorUtils.js'; +import { PRECISION } from '../../constants.js'; + +const TOLERANCE = 5 / PRECISION; + +export default function comb(outline, start, end) { + if (distanceTo(start, end) < TOLERANCE) { + return [start, end]; + } + + let combPath = new Shape([[start, end]], false, true, false); + + for (let i = 0; i < outline.paths.length; i ++) { + let outlinePart = new Shape([outline.paths[i]], true, false, false, true); + + let snappedCombPaths = outlinePart.orientation(0) ? combPath.intersect(outlinePart) : combPath.difference(outlinePart); + + snappedCombPaths = snappedCombPaths.mapToLower(); + outlinePart = outlinePart.mapToLower()[0]; + + if (distanceTo(start, outlinePart[outlinePart.length - 1]) < distanceTo(start, outlinePart[0])) { + outlinePart = outlinePart.reverse(); + } + + const distanceMap = new WeakMap(); + + for (let i = 0; i < snappedCombPaths.length; i ++) { + const snappedCombPath = snappedCombPaths[i]; + + const distanceStart = distanceTo(start, snappedCombPath[0]); + const distanceEnd = distanceTo(start, snappedCombPath[snappedCombPath.length - 1]); + + if (distanceStart < distanceEnd) { + distanceMap.set(snappedCombPath, distanceStart); + } else { + snappedCombPath.reverse(); + distanceMap.set(snappedCombPath, distanceEnd); + } + } + snappedCombPaths.sort((a, b) => distanceMap.get(a) - distanceMap.get(b)); + + const firstPath = snappedCombPaths[0]; + const lastPath = snappedCombPaths[snappedCombPaths.length - 1]; + + if (snappedCombPaths.length === 0) { + snappedCombPaths.push([start], [end]); + } else if (distanceTo(firstPath[0], start) > 1.0) { + snappedCombPaths.unshift([start]); + } else if (distanceTo(lastPath[lastPath.length - 1], end) > 1.0) { + snappedCombPaths.push([end]); + } + + if (snappedCombPaths.length === 1) { + continue; + } + + const startPath = snappedCombPaths[0]; + const startPoint = startPath[startPath.length - 1]; + + const endPath = snappedCombPaths[snappedCombPaths.length - 1]; + const endPoint = endPath[0]; + + const lineIndexStart = findClosestLineOnPath(outlinePart, startPoint); + const lineIndexEnd = findClosestLineOnPath(outlinePart, endPoint); + + const path = []; + if (lineIndexEnd === lineIndexStart) { + continue; + } else if (lineIndexEnd > lineIndexStart) { + if (lineIndexStart + outlinePart.length - lineIndexEnd < lineIndexEnd - lineIndexStart) { + for (let i = lineIndexStart + outlinePart.length; i > lineIndexEnd; i --) { + path.push(outlinePart[i % outlinePart.length]); + } + } else { + for (let i = lineIndexStart; i < lineIndexEnd; i ++) { + path.push(outlinePart[i + 1]); + } + } + } else { + if (lineIndexEnd + outlinePart.length - lineIndexStart < lineIndexStart - lineIndexEnd) { + for (let i = lineIndexStart; i < lineIndexEnd + outlinePart.length; i ++) { + path.push(outlinePart[(i + 1) % outlinePart.length]); + } + } else { + for (let i = lineIndexStart; i > lineIndexEnd; i --) { + path.push(outlinePart[i]); + } + } + } + + combPath = new Shape([[...startPath, ...path, ...endPath]], false, true, false, true); + } + + return combPath.mapToLower()[0]; +} + +function findClosestLineOnPath(path, point) { + let distance = Infinity; + let lineIndex; + + for (let i = 0; i < path.length; i ++) { + const pointA = path[i]; + const pointB = path[(i + 1) % path.length]; + + const tempClosestPoint = findClosestPointOnLine(pointA, pointB, point); + const tempDistance = distanceTo(tempClosestPoint, point); + + if (tempDistance < distance) { + distance = tempDistance; + lineIndex = i; + } + } + + return lineIndex; +} + +function findClosestPointOnLine(a, b, c) { + const b_ = subtract(b, a); + const c_ = subtract(c, a); + + const lambda = dot(normalize(b_), c_) / length(b_); + + if (lambda >= 1) { + return b; + } else if (lambda > 0) { + return add(a, scale(b_, lambda)); + } else { + return a; + } +} diff --git a/src/sliceActions/slice.js b/src/sliceActions/slice.js index 2d3fdd0..30168bf 100644 --- a/src/sliceActions/slice.js +++ b/src/sliceActions/slice.js @@ -11,7 +11,7 @@ import shapesToSlices from './shapesToSlices.js'; import slicesToGCode from './slicesToGCode.js'; import detectOpenClosed from './detectOpenClosed.js'; import applyPrecision from './applyPrecision.js'; -import removePrecision from './removePrecision.js'; +// import removePrecision from './removePrecision.js'; export default function(settings, geometry, onProgress) { const totalStages = 12; @@ -65,7 +65,7 @@ export default function(settings, geometry, onProgress) { updateProgress('Optimizing paths'); optimizePaths(slices, settings); - removePrecision(slices); + // removePrecision(slices); updateProgress('Constructing gcode'); const gcode = slicesToGCode(slices, settings); diff --git a/src/sliceActions/slicesToGCode.js b/src/sliceActions/slicesToGCode.js index fd38039..96e1db3 100644 --- a/src/sliceActions/slicesToGCode.js +++ b/src/sliceActions/slicesToGCode.js @@ -1,4 +1,6 @@ import GCode from './helpers/GCode.js'; +import comb from './helpers/comb.js'; +import { PRECISION } from '../constants.js'; const PROFILE_TYPES = ['support', 'innerShell', 'outerShell', 'innerInfill', 'outerInfill', 'brim']; @@ -9,7 +11,8 @@ export default function slicesToGCode(slices, settings) { nozzleDiameter, travelSpeed, retraction, - travel + travel, + combing } = settings; const filamentSurfaceArea = Math.pow((filamentThickness / 2), 2) * Math.PI; @@ -42,11 +45,12 @@ export default function slicesToGCode(slices, settings) { }, {}); if (typeof slice.brim !== 'undefined') { - pathToGCode(gcode, slice.brim, true, true, z, profiles.brim); + pathToGCode(null, false, gcode, slice.brim, true, true, z, profiles.brim); } for (let i = 0; i < slice.parts.length; i ++) { const part = slice.parts[i]; + const outline = part.shell[0]; if (part.closed) { for (let i = 0; i < part.shell.length; i ++) { @@ -55,26 +59,26 @@ export default function slicesToGCode(slices, settings) { const unRetract = isOuterShell; const profile = isOuterShell ? profiles.outerShell : profiles.innerShell; - pathToGCode(gcode, shell, false, unRetract, z, profile); + pathToGCode(outline, combing && true, gcode, shell, false, unRetract, z, profile); } - pathToGCode(gcode, part.outerFill, false, false, z, profiles.outerInfill); - pathToGCode(gcode, part.innerFill, true, false, z, profiles.innerInfill); + pathToGCode(outline, combing && true, gcode, part.outerFill, false, false, z, profiles.outerInfill); + pathToGCode(outline, combing && true, gcode, part.innerFill, true, false, z, profiles.innerInfill); } else { const retract = !(slice.parts.length === 1 && typeof slice.support === 'undefined'); - pathToGCode(gcode, part.shape, retract, retract, z, profiles.outerShell); + pathToGCode(null, false, gcode, part.shape, retract, retract, z, profiles.outerShell); } } if (typeof slice.support !== 'undefined') { - pathToGCode(gcode, slice.support, true, true, z, profiles.support); + pathToGCode(null, false, gcode, slice.support, true, true, z, profiles.support); } } return gcode.getGCode(); } -function pathToGCode(gcode, shape, retract, unRetract, z, { lineProfile, travelProfile, retractionProfile }) { +function pathToGCode(outline, combing, gcode, shape, retract, unRetract, z, { lineProfile, travelProfile, retractionProfile }) { const { closed } = shape; const paths = shape.mapToLower(); @@ -86,9 +90,15 @@ function pathToGCode(gcode, shape, retract, unRetract, z, { lineProfile, travelP const point = line[i % line.length]; if (i === 0) { - // TODO - // moveTo should impliment combing - gcode.moveTo(point.x, point.y, z, travelProfile); + if (combing) { + const combPath = comb(outline, gcode._nozzlePosition.divideScalar(PRECISION), point); + for (let i = 0; i < combPath.length; i ++) { + const combPoint = combPath[i]; + gcode.moveTo(combPoint.x, combPoint.y, z, travelProfile); + } + } else { + gcode.moveTo(point.x, point.y, z, travelProfile); + } if (unRetract) { gcode.unRetract(retractionProfile);