[{"data":1,"prerenderedAt":460},["ShallowReactive",2],{"project-15492248":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":45,"post_text":46,"what":47,"said":50,"maker_in_thread":125,"shape":135,"grid":140,"attempts":421,"same_week":422,"maker_shows":209,"maker_hidden":452,"reader_version":453,"card":454},"15492248","Metaballs","That is awesome!","maker","Show HN: Metaballs","http:\u002F\u002Fvarun.ca\u002Fmetaballs","varun.ca","winkerVSbecks",1508257484,2017,673,93,11,2242,1,"legend","creative","generative graphics demo","web_app",[24,25,26,27,28],"metaballs","canvas animation","javascript","metaball rendering","isosurface","debated",0.054,{"positive":32,"neutral":33,"mixed":34,"critical":32},9,16,0,34,{"design":37,"idea":39,"execution":41,"performance":43,"docs":44},{"positive":38,"critical":34},2,{"positive":40,"critical":38},5,{"positive":34,"critical":42},3,{"positive":18,"critical":42},{"positive":34,"critical":18},[34,34,34,40,40,34,34,34,34,34,18,42,42,34,34,34,34,18,34,34,34,42,34,42,40,42,40,42,40,42,38,18,18,18,42,42,42,40,18,40],null,{"problem":46,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":48,"openness":49,"stage":49,"team_size":49},[],"unknown",{"praise":51,"objections":64,"requests":79,"questions":91,"alternatives":99},[52],{"value":53,"source":54,"evidence":55},"Visually satisfying and cool to watch","commenter",[56,60],{"id":57,"by":58,"text":59},"15493509","fergyfresh","That is weirdly satisfying to watch...",{"id":61,"by":62,"text":63},"15492386","bpicolo","That bubble slider is super cute. https:\u002F\u002Fcodepen.io\u002Fchrisgannon\u002Fpen\u002FGZNgLw",[65,72],{"value":66,"source":54,"evidence":67},"Approximation is far from real metaballs; the bigger disc does not change size",[68],{"id":69,"by":70,"text":71},"15494011","ehsankia","Much better. There's definitely many improvements that could be done, but that was the main one. The other big one is how the bigger disc doesn't change size. The approximation…",{"value":73,"source":54,"evidence":74},"Math could be optimized by avoiding trigonometry",[75],{"id":76,"by":77,"text":78},"15496919","Const-me","The math can be optimized by at least an order of magnitude. Trigonometry functions are expensive, especially the reverse ones. If v=0.5, see [1] for how to find out sine\u002Fcosine…",[80],{"value":81,"source":54,"evidence":82},"Extend beyond two balls",[83,87],{"id":84,"by":85,"text":86},"15492375","shove","Paper.js is truly a great source of vector drawing tricks. Curious how difficult it would be to extend this technique beyond two circles. Might have to dust off some old…",{"id":88,"by":89,"text":90},"15494821","slavik81","From the grandparent article: > Well, for 40 bouncing circles, on a 700x500 grid, that would be on the order of 14 million operations. If we want to have a nice smooth 60fps…",[92],{"value":93,"source":54,"evidence":94},"Can this extend to 3D?",[95],{"id":96,"by":97,"text":98},"15492506","Osmium","Could this extend to 3D?",[100,111,118],{"value":101,"source":54,"evidence":102},"CSS blur and contrast filter metaballs",[103,107],{"id":104,"by":105,"text":106},"15494854","robocat","References https:\u002F\u002Fcodepen.io\u002Fkeithclark\u002Fpen\u002FsEbFz which does metaballs using pure CSS (using a combination of a contrast filter with a blur filter). Beautiful article.",{"id":108,"by":109,"text":110},"15493702","woodrowbarlow","the same effect (albeit with less crisp edges) can also be achieved by abusing the blur filter in CSS -- with no need for JavaScript or SVG at all.…",{"value":112,"source":54,"evidence":113},"Jamie Wong's marching squares article",[114],{"id":115,"by":116,"text":117},"15493658","christotty","An alternative method (with potentially different applications) that I found interesting. The visual aids in both articles are very good.…",{"value":119,"source":54,"evidence":120},"Three.js marching cubes demo",[121],{"id":122,"by":123,"text":124},"15492982","kowdermeister","Yes, there's a Three.js demo: https:\u002F\u002Fthreejs.org\u002Fexamples\u002F#webgl_marchingcubes",{"comments":40,"answered":18,"key":126},[127,129,132],{"id":128,"text":6},"15494207",{"id":130,"text":131},"15494414","this is so well done! I'm going to have to try out real metaballs now.",{"id":133,"text":134},"15492837","Absolutely. This is by far worst way to render metaballs But, I love that you can do this as just paths.",{"commenters":136,"max_depth":137,"maker_replies":40,"first_comment_mins":138,"lifespan_hours":139},73,8,13,54,[141,143,146,149,151,154,157,160,162,166,167,171,173,177,180,184,188,192,196,197,198,201,205,207,212,213,217,218,221,224,229,232,234,237,239,241,243,245,248,251,253,255,258,261,264,267,270,274,278,281,283,285,289,292,296,299,302,307,309,313,317,321,325,329,333,337,340,345,349,351,354,357,360,363,365,367,369,372,375,378,381,382,384,386,389,392,395,399,402,406,411,414,418],[88,34,34,142,89,34],"commenter\u002Fneutral\u002Fperformance",[144,34,34,142,145,34],"15495258","skeoh",[147,34,34,142,148,34],"15495435","ZenPsycho",[150,34,34,142,89,34],"15495675",[152,34,34,142,153,34],"15495541","Franciscouzo",[155,34,34,142,156,34],"15501120","fyrstenberg",[158,34,34,142,159,34],"15497637","mar77i",[161,34,34,142,89,34],"15503070",[163,18,40,164,165,34],"15493442","project\u002Fpositive\u002Fdesign","femto113",[57,18,40,164,58,34],[168,18,40,169,170,34],"15493556","project\u002Fpositive\u002Fidea","Raphmedia",[128,18,34,172,11,18],"commenter\u002Fpositive\u002Fnone",[174,18,34,175,176,34],"15495269","commenter\u002Fneutral\u002Fexecution","XaspR8d",[178,18,34,175,179,34],"15497626","jakobegger",[181,38,34,182,183,34],"15493005","other\u002Fneutral\u002Fnone","mikewhy",[185,38,34,186,187,34],"15496154","other\u002Fpositive\u002Fnone","andai",[189,38,34,190,191,34],"15497266","other\u002Fpositive\u002Fdesign","NKCSS",[193,42,34,194,195,34],"15494370","commenter\u002Fneutral\u002Fnone","dmschaab",[130,42,34,172,11,18],[104,42,34,172,105,34],[199,42,34,172,200,34],"15495899","rosstex",[202,42,34,203,204,34],"15499610","commenter\u002Fcritical\u002Fexecution","pault",[206,42,34,194,195,34],"15501000",[208,209,18,210,211,34],"15493943",4,"project\u002Fcritical\u002Fexecution","panic",[69,209,18,210,70,34],[214,209,42,215,216,34],"15494019","project\u002Fneutral\u002Fidea","zaroth",[61,40,34,186,62,34],[219,40,34,190,220,34],"15493530","thoughtpalette",[222,40,34,223,62,34],"15494286","other\u002Fmixed\u002Fdesign",[225,226,42,227,228,34],"15492625",6,"project\u002Fneutral\u002Fexecution","microcolonel",[230,226,34,142,231,34],"15492734","yoklov",[233,226,34,142,228,34],"15492830",[235,226,34,142,236,34],"15493323","DarkTree",[238,226,34,142,231,34],"15495867",[133,226,34,240,11,18],"project\u002Fmixed\u002Fperformance",[242,226,34,142,228,34],"15492878",[108,226,34,244,109,34],"other\u002Fneutral\u002Fperformance",[246,226,34,182,247,34],"15494006","garaetjjte",[249,250,34,182,11,18],"15494663",7,[76,137,18,252,77,34],"project\u002Fcritical\u002Fperformance",[254,137,34,142,77,34],"15497708",[256,32,34,182,257,34],"15492637","santaclaus",[259,32,34,194,260,34],"15492791","philipov",[262,32,34,182,263,34],"15493339","dguaraglia",[265,32,34,182,266,34],"15493616","jlg23",[268,32,34,182,269,34],"15495432","ninju",[271,272,34,186,273,34],"15493680",10,"mileycyrusXOXO",[275,16,34,276,277,34],"15494122","other\u002Fpositive\u002Fperformance","spitfire",[279,16,34,182,280,34],"15494605","twic",[84,282,40,169,85,34],12,[284,138,18,210,260,34],"15492535",[286,287,34,182,288,34],"15492999",14,"zokier",[290,287,34,182,291,34],"15495794","emmelaich",[293,294,34,182,295,34],"15494392",15,"theoh",[297,33,42,215,298,34],"15492723","ladon86",[300,33,34,182,301,34],"15492740","easytiger",[303,304,40,305,306,34],"15492741",17,"project\u002Fpositive\u002Fperformance","asadlionpk",[115,308,34,182,116,34],18,[310,311,34,244,312,34],"15500625",19,"fzaninotto",[314,315,42,215,316,34],"15495531",20,"a_e_k",[318,319,40,169,320,34],"15492866",21,"davidkuhta",[322,323,34,182,324,34],"15497193",22,"memco",[326,327,42,215,328,34],"15499600",23,"macca321",[330,331,34,182,332,34],"15493641",24,"corprew",[334,335,34,182,336,34],"15493549",25,"robodale",[338,335,34,182,339,34],"15496169","alexyskywalker",[341,342,40,343,344,34],"15497380",26,"project\u002Fpositive\u002Fnone","staticelf",[346,347,42,215,348,34],"15495480",27,"fibo",[96,350,42,215,97,34],28,[352,350,42,215,353,34],"15492570","striking",[355,350,18,356,257,34],"15492652","project\u002Fcritical\u002Fidea",[358,350,42,215,359,34],"15493056","efraim",[361,350,18,252,362,34],"15493310","dvt",[364,350,34,194,359,34],"15493366",[366,350,18,356,89,34],"15496020",[368,350,34,194,362,34],"15512224",[370,350,18,252,371,34],"15494451","pdkl95",[373,350,34,374,11,18],"15492580","maker\u002Fneutral\u002Fidea",[376,350,42,215,377,34],"15492649","knolan",[379,350,42,215,380,34],"15492816","Ologn",[122,350,42,215,123,34],[383,350,42,215,97,34],"15495098",[385,350,34,194,123,34],"15497290",[387,350,42,215,388,34],"15492986","thibaut_barrere",[390,350,42,215,391,34],"15493068","elihu",[393,350,42,215,394,34],"15493376","Impossible",[396,397,40,169,398,34],"15494676",29,"mgalka",[400,401,34,182,159,34],"15497620",30,[403,404,34,182,405,34],"15499191",31,"retor",[407,408,18,409,410,34],"15492543",32,"project\u002Fcritical\u002Fdocs","fenollp",[412,408,34,194,413,34],"15492783","icebraining",[415,416,40,169,417,34],"15492645",33,"fairpx",[419,35,34,182,420,34],"15492452","alex_suzuki",[],[423,428,433,438,442,447],{"id":424,"name":425,"points":426,"category":427},"15466817","CoinMall Alpha",156,"finance_crypto",{"id":429,"name":430,"points":431,"category":432},"15484390","FaxRocket",152,"productivity",{"id":434,"name":435,"points":436,"category":437},"15489535","BOOLR",136,"learning_science",{"id":439,"name":440,"points":441,"category":432},"15494655","Writing",133,{"id":443,"name":444,"points":445,"category":446},"15461000","Vue-Model",109,"languages",{"id":448,"name":449,"points":450,"category":451},"15481298","libsignal-node",88,"security_privacy",false,"v2",{"id":455,"name":5,"line":6,"ai":452,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":456,"top":18,"kw":457,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":458,"url":9,"mix":459,"praise":53,"objection":66,"sub":21},15492248,0.05,[24,25,26,27,28],"0005500000133000010003035353532111333515",[32,33,34,32],1794036559861]