/epicycles

Primary LanguageHTML

Epic Cycles

A JS1K 2018 entry golfed with <3 by BalintCsala and xem

Thanks to romancortes, eljj, antimatter15, brettcvz, paul bourke, and kuvos for their help, individual work and ideas!

Commented:

Minified: (1606b)

Packed: (1024b)

Bonus:

Van Gogh: (https://twitter.com/MaximeEuziere/status/967475497390231552)

p=[[-194,159],[-162,138],[-125,146],[-107,146],[-62,137],[-12,155],[-40,167],[-78,151],[-116,147],[-136,169],[-150,212],[-140,233],[-107,234],[-86,222],[-93,201],[-68,224],[-86,206],[-90,225],[-111,234],[-81,234],[-52,252],[-32,262],[-4,230],[8,211],[24,186],[30,143],[30,107],[15,88],[-43,85],[-101,84],[-150,90],[-176,116],[-188,145],[-205,128],[-200,89],[-175,77],[-117,74],[-33,75],[31,74],[60,81],[99,109],[96,148],[63,139],[40,155],[34,182],[40,221],[36,251],[22,275],[-11,312],[-41,334],[-72,347],[-116,345],[-144,330],[-160,292],[-165,264],[-173,229],[-174,198],[-188,172],[-163,280],[-198,298],[-250,322],[-288,352],[-320,383],[-338,411],[-340,539],[-148,546],[-181,479],[-158,435],[-207,412],[-166,290],[-150,317],[-183,391],[-141,423],[-158,471],[-130,534],[-105,537],[-155,542],[-102,542],[-123,424],[-130,368],[-156,308],[-133,341],[-108,389],[-78,406],[-29,389],[45,280],[-11,423],[-80,412],[-116,424],[-102,494],[-78,537],[-27,470],[35,322],[48,282],[73,289],[79,342],[42,500],[-18,484],[11,519],[-19,546],[-98,544],[249,539],[250,376],[58,281],[80,337],[42,497],[-23,473],[42,493],[74,339],[67,290],[45,285],[55,224],[35,215],[45,200],[79,186],[69,160],[80,149],[93,161],[84,141],[57,162],[73,177],[42,202],[41,174],[1,229],[-46,258],[-33,283],[-60,283],[-86,297],[-97,286],[-116,288],[-136,272],[-157,279],[-116,270],[-94,266],[-52,290],[-43,291],[-37,270],[-63,245],[-95,231],[-104,227],[-117,229],[-99,220],[-90,229],[-111,234],[-127,244],[-131,225],[-126,242],[-143,231],[-139,203],[-132,160],[-148,176],[-194,155],[-203,128],[-253,81],[-276,47],[-272,11],[-248,1],[-232,28],[-178,31],[-98,15],[-28,-3],[-12,-4],[12,-7],[39,-2],[63,-3],[35,-49],[9,-94],[-68,-104],[-118,-95],[-144,-87],[-162,-54],[-172,-42],[-143,-60],[-133,-38],[-162,-38],[-177,-18],[-198,31],[-179,1],[-123,-3],[-110,-2],[-70,-1],[-31,-2],[-91,10],[-141,21],[-195,26],[-241,32],[-184,27],[-136,17],[-87,8],[-32,-1],[16,-4],[59,-2],[101,18],[131,38],[152,70],[160,102],[155,147],[127,183],[101,196],[82,198],[70,223],[62,245],[51,281],[37,292],[47,251],[48,210],[31,204],[31,180],[9,207],[-26,247],[-38,256],[-61,246],[-90,230],[-115,232],[-137,236],[-145,214],[-132,167],[-123,146],[-162,135],[-191,160],[-159,168],[-130,145],[-167,142],[-163,157],[-143,152],[-112,144],[-57,136],[-32,146],[-43,160],[-57,149],[-52,138],[-62,138],[-113,151],[-165,133],[-191,155]]

World map: (https://twitter.com/MaximeEuziere/status/967506782993244160)

p=[[-559,-130],[-549,-133],[-539,-137],[-530,-142],[-520,-145],[-511,-146],[-502,-148],[-493,-150],[-484,-154],[-477,-160],[-471,-167],[-479,-173],[-487,-178],[-493,-185],[-486,-192],[-484,-201],[-478,-209],[-469,-213],[-459,-213],[-457,-222],[-467,-222],[-468,-232],[-461,-240],[-452,-238],[-445,-232],[-442,-241],[-444,-251],[-444,-261],[-436,-266],[-426,-271],[-417,-272],[-408,-274],[-397,-270],[-392,-262],[-385,-254],[-377,-248],[-369,-243],[-361,-238],[-351,-238],[-341,-238],[-330,-236],[-319,-231],[-313,-223],[-305,-218],[-296,-223],[-285,-220],[-277,-215],[-275,-226],[-282,-232],[-290,-238],[-287,-247],[-280,-253],[-289,-250],[-298,-246],[-305,-252],[-299,-259],[-294,-267],[-285,-271],[-276,-268],[-271,-260],[-267,-251],[-258,-248],[-249,-250],[-242,-244],[-248,-237],[-250,-228],[-249,-218],[-255,-210],[-265,-211],[-274,-212],[-283,-213],[-292,-214],[-287,-205],[-282,-197],[-274,-203],[-265,-200],[-255,-198],[-245,-202],[-239,-209],[-237,-218],[-239,-229],[-240,-238],[-234,-245],[-226,-252],[-222,-261],[-232,-265],[-241,-267],[-253,-266],[-263,-268],[-267,-278],[-270,-288],[-261,-292],[-254,-298],[-245,-296],[-245,-286],[-238,-293],[-240,-303],[-231,-305],[-222,-300],[-227,-291],[-235,-286],[-233,-276],[-223,-277],[-214,-279],[-205,-278],[-210,-286],[-220,-286],[-218,-295],[-213,-303],[-209,-312],[-202,-303],[-197,-295],[-188,-296],[-185,-305],[-179,-312],[-171,-318],[-165,-325],[-164,-315],[-160,-306],[-159,-315],[-159,-325],[-149,-326],[-138,-326],[-127,-327],[-116,-329],[-106,-329],[-97,-323],[-95,-314],[-101,-307],[-110,-302],[-122,-295],[-131,-291],[-139,-285],[-146,-276],[-154,-266],[-161,-256],[-171,-257],[-181,-259],[-190,-260],[-181,-257],[-170,-255],[-167,-245],[-177,-240],[-186,-242],[-198,-245],[-200,-254],[-199,-264],[-202,-255],[-207,-263],[-212,-255],[-221,-250],[-219,-241],[-225,-234],[-216,-236],[-210,-243],[-213,-234],[-218,-225],[-214,-213],[-212,-198],[-206,-206],[-209,-215],[-211,-227],[-206,-237],[-197,-242],[-197,-231],[-188,-237],[-179,-234],[-170,-229],[-169,-220],[-162,-214],[-157,-201],[-153,-190],[-145,-181],[-138,-175],[-140,-166],[-148,-160],[-154,-168],[-159,-160],[-156,-149],[-163,-143],[-173,-142],[-179,-149],[-181,-158],[-187,-166],[-181,-175],[-178,-187],[-185,-193],[-194,-192],[-202,-181],[-207,-172],[-204,-161],[-213,-154],[-225,-158],[-235,-158],[-242,-151],[-248,-142],[-250,-133],[-250,-123],[-241,-118],[-233,-112],[-230,-103],[-227,-94],[-218,-102],[-214,-111],[-210,-122],[-209,-131],[-205,-142],[-198,-148],[-186,-148],[-181,-134],[-176,-123],[-171,-131],[-162,-134],[-155,-126],[-160,-117],[-156,-106],[-149,-96],[-146,-86],[-146,-76],[-139,-69],[-142,-59],[-153,-64],[-155,-74],[-166,-74],[-173,-67],[-166,-61],[-164,-52],[-170,-45],[-179,-43],[-189,-43],[-197,-38],[-205,-32],[-210,-24],[-216,-17],[-224,-12],[-230,-4],[-236,3],[-243,10],[-243,22],[-245,31],[-256,30],[-261,20],[-270,19],[-280,18],[-289,21],[-299,22],[-304,30],[-307,40],[-308,51],[-304,60],[-294,61],[-283,56],[-275,51],[-274,60],[-277,70],[-268,74],[-260,80],[-259,89],[-249,95],[-242,101],[-233,98],[-224,92],[-214,88],[-204,93],[-188,99],[-180,94],[-182,82],[-186,73],[-196,64],[-212,66],[-224,64],[-231,58],[-242,58],[-251,53],[-258,47],[-244,45],[-237,52],[-223,55],[-210,58],[-198,63],[-187,66],[-182,78],[-182,90],[-173,101],[-164,111],[-153,114],[-142,118],[-139,128],[-130,137],[-116,138],[-102,142],[-94,149],[-84,154],[-81,166],[-86,177],[-93,186],[-96,202],[-98,212],[-106,218],[-117,224],[-124,230],[-125,241],[-133,254],[-142,260],[-148,267],[-155,277],[-161,284],[-166,292],[-175,297],[-177,306],[-179,315],[-181,325],[-177,342],[-179,352],[-179,363],[-170,368],[-177,374],[-186,371],[-194,365],[-202,360],[-206,345],[-210,332],[-214,320],[-213,301],[-211,279],[-210,268],[-210,255],[-210,239],[-210,229],[-210,218],[-213,208],[-220,199],[-229,188],[-235,180],[-243,173],[-250,160],[-254,144],[-252,134],[-242,125],[-240,113],[-244,104],[-249,112],[-256,101],[-266,97],[-280,90],[-288,83],[-299,77],[-311,77],[-330,67],[-336,60],[-341,48],[-347,34],[-353,26],[-356,13],[-362,6],[-364,18],[-362,31],[-357,40],[-364,31],[-368,20],[-372,8],[-377,-1],[-380,-10],[-391,-18],[-396,-30],[-395,-44],[-394,-53],[-392,-70],[-387,-80],[-387,-91],[-391,-100],[-385,-91],[-378,-82],[-379,-96],[-384,-104],[-389,-112],[-398,-110],[-401,-123],[-391,-126],[-394,-138],[-396,-150],[-402,-158],[-410,-163],[-418,-171],[-428,-174],[-439,-170],[-435,-179],[-446,-176],[-450,-167],[-457,-160],[-466,-156],[-479,-152],[-497,-149],[-506,-142],[-518,-142],[-525,-135],[-535,-133],[-545,-133],[-557,-134],[-557,-160],[-557,-182],[-557,-200],[-557,-222],[-557,-242],[-559,-262],[-562,-282],[-567,-304],[-570,-322],[-571,-333],[-571,-346],[-570,-364],[-560,-365],[-514,-366],[-474,-371],[-429,-376],[-401,-375],[-372,-372],[-340,-370],[-286,-369],[-236,-370],[-191,-370],[-149,-370],[-120,-370],[-108,-370],[-93,-370],[-67,-369],[-37,-365],[-34,-346],[-34,-335],[-34,-322],[-51,-318],[-63,-312],[-73,-310],[-82,-306],[-96,-306],[-107,-301],[-115,-292],[-125,-282],[-135,-281],[-135,-262],[-134,-252],[-122,-245],[-112,-235],[-112,-217],[-112,-205],[-103,-200],[-114,-197],[-114,-186],[-105,-180],[-116,-177],[-118,-167],[-118,-157],[-116,-147],[-114,-134],[-102,-124],[-93,-129],[-91,-139],[-89,-150],[-76,-158],[-64,-159],[-52,-160],[-43,-171],[-34,-176],[-25,-182],[-32,-188],[-19,-189],[-24,-203],[-18,-210],[-16,-222],[-14,-234],[-10,-245],[-2,-259],[3,-270],[6,-279],[11,-289],[2,-295],[-6,-286],[-17,-293],[-26,-298],[-17,-300],[-4,-302],[-7,-311],[-18,-313],[-27,-320],[-29,-331],[-33,-341],[-34,-354],[-28,-362],[-6,-362],[14,-362],[35,-361],[46,-364],[57,-364],[74,-366],[86,-368],[110,-364],[132,-364],[168,-363],[191,-364],[219,-364],[249,-364],[277,-362],[303,-360],[340,-358],[374,-358],[409,-358],[431,-358],[451,-357],[474,-353],[491,-351],[516,-348],[530,-347],[542,-348],[577,-348],[595,-354],[610,-353],[622,-309],[622,-288],[622,-276],[613,-262],[603,-262],[600,-272],[579,-280],[556,-278],[537,-283],[529,-276],[534,-266],[518,-271],[508,-262],[494,-262],[486,-271],[468,-266],[440,-274],[428,-284],[414,-291],[422,-300],[432,-300],[406,-306],[391,-294],[414,-278],[424,-270],[424,-259],[410,-252],[409,-239],[396,-262],[375,-261],[349,-254],[333,-251],[338,-272],[308,-284],[298,-298],[266,-320],[248,-320],[261,-301],[277,-290],[278,-307],[286,-290],[300,-291],[292,-281],[300,-270],[291,-266],[275,-258],[270,-246],[267,-237],[254,-230],[272,-222],[275,-213],[254,-221],[252,-190],[251,-179],[240,-219],[235,-203],[238,-192],[205,-205],[199,-222],[208,-242],[214,-249],[210,-259],[198,-244],[189,-225],[188,-204],[208,-188],[182,-179],[165,-168],[155,-156],[145,-156],[158,-158],[160,-170],[143,-184],[118,-198],[97,-184],[82,-168],[66,-139],[52,-126],[60,-110],[70,-116],[80,-102],[95,-100],[96,-114],[96,-133],[108,-152],[110,-140],[109,-118],[114,-110],[105,-103],[96,-97],[77,-93],[59,-81],[48,-75],[39,-91],[35,-110],[19,-105],[20,-96],[11,-85],[23,-88],[22,-76],[28,-69],[46,-72],[34,-65],[35,-53],[35,-43],[20,-41],[11,-40],[10,-27],[10,-13],[22,-8],[36,-12],[45,-24],[58,-34],[68,-37],[65,-25],[75,-31],[91,-24],[83,-18],[96,-10],[104,-23],[92,-38],[110,-22],[131,-6],[131,-19],[140,-37],[147,-47],[164,-44],[178,-44],[181,-34],[169,-31],[158,-31],[139,-30],[126,-22],[140,-8],[158,-6],[164,4],[151,11],[130,11],[117,11],[105,15],[79,5],[64,-7],[41,-5],[24,2],[8,14],[-2,30],[-11,40],[-21,62],[-17,74],[-13,99],[4,114],[23,115],[46,115],[66,116],[84,138],[88,160],[91,179],[86,212],[98,233],[109,257],[121,263],[151,246],[165,229],[176,205],[187,197],[202,199],[204,209],[199,220],[198,229],[210,227],[220,214],[225,196],[224,178],[210,186],[198,192],[192,170],[190,152],[203,138],[214,124],[230,104],[230,90],[214,90],[197,87],[172,57],[167,35],[190,63],[200,77],[214,90],[224,87],[242,74],[260,57],[238,40],[214,23],[234,33],[272,42],[290,44],[310,79],[320,98],[330,101],[337,108],[347,105],[340,97],[337,83],[354,66],[368,52],[387,71],[402,74],[404,95],[414,118],[392,124],[432,160],[480,172],[502,172],[492,170],[441,156],[431,126],[413,102],[413,88],[435,101],[446,84],[430,61],[444,63],[464,40],[478,37],[475,2],[470,-27],[483,-32],[494,-7],[499,-39],[510,-70],[523,-102],[538,-71],[531,-53],[532,-35],[520,-21],[506,0],[519,2],[541,-16],[549,-42],[546,-54],[548,-67],[539,-87],[528,-112],[525,-122],[505,-131],[497,-150],[512,-164],[537,-179],[547,-189],[553,-202],[565,-197],[556,-166],[558,-132],[577,-108],[566,-80],[581,-119],[584,-163],[578,-178],[589,-181],[594,-206],[602,-219],[594,-236],[594,-250],[606,-256],[614,-267],[629,-276],[644,-198],[645,-86],[638,35],[648,98],[648,133],[652,165],[653,185],[633,164],[606,154],[584,136],[578,145],[561,144],[532,132],[520,123],[511,99],[496,59],[480,59],[492,91],[487,110],[470,109],[459,117],[447,128],[449,151],[475,149],[483,138],[474,114],[488,97],[503,133],[518,146],[539,152],[550,168],[559,173],[567,178],[562,194],[550,200],[544,193],[544,182],[526,181],[516,189],[494,194],[474,210],[454,224],[452,259],[454,279],[478,270],[508,267],[519,273],[535,288],[542,299],[552,311],[554,330],[565,320],[550,308],[562,301],[571,299],[590,266],[599,250],[592,223],[577,196],[566,174],[574,169],[584,176],[595,172],[595,162],[617,155],[635,171],[656,193],[660,215],[660,248],[660,279],[663,296],[654,323],[636,332],[617,350],[621,360],[632,355],[648,345],[670,330],[673,314],[673,297],[665,291],[678,309],[670,348],[664,379],[636,378],[557,382],[454,380],[409,385],[346,388],[174,387],[32,374],[-58,374],[-93,370],[-157,375],[-207,378],[-253,380],[-275,382],[-357,377],[-457,377],[-550,373],[-600,372],[-622,354],[-619,291],[-630,197],[-630,110],[-621,39],[-618,-2],[-610,-62],[-607,-114],[-595,-206],[-584,-278],[-575,-333],[-573,-350]]