[{"data":1,"prerenderedAt":345},["ShallowReactive",2],{"project-10406165":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":47,"what":48,"said":85,"maker_in_thread":196,"shape":207,"grid":212,"attempts":308,"same_week":309,"maker_shows":209,"maker_hidden":337,"reader_version":338,"card":339},"10406165","clock","Mechanical clock simulation in WebGL","title","Show HN: Mechanical clock simulation in WebGL","https:\u002F\u002Fnikital.github.io\u002Fclock\u002F","nikital.github.io","nikital",1445116786,2015,109,37,222,2565,9,"notable","learning_science","interactive educational visualisation","web_app",[24,25,26,27,28],"mechanical clock","webgl","escapement","three.js","clock simulation","debated",0.007,{"positive":32,"neutral":32,"mixed":33,"critical":34},8,1,7,24,{"idea":37,"execution":40,"performance":42,"design":43,"docs":44},{"positive":38,"critical":39},3,0,{"positive":39,"critical":41},6,{"positive":39,"critical":33},{"positive":33,"critical":39},{"positive":33,"critical":39},[46,46,46,33,39,33,39,38,39,46,38,38,38,39,38,39,39,33,39,38,33,39,46,39,38,33,33,39,38,39,46,33,39,39,38,46,46],5,null,{"problem":49,"audience":61,"pricing":47,"motivation":47,"time_to_build":47,"stack":67,"openness":82,"stage":83,"team_size":84},{"value":50,"source":51,"evidence":52},"Helps people understand how a mechanical clock works","commenter",[53,57],{"id":54,"by":55,"text":56},"10407008","Renaud","That was a useful animation: it made me realise that I didn't really know how a clock worked; I only had a fuzzy -and wrong- understanding of how the the parts worked together.…",{"id":58,"by":59,"text":60},"10407798","Theodores","Me too, I went from thinking I sort of new something about how clocks work to actually understanding it properly for the first time ever, reading a small amount if text, again to…",{"value":62,"source":63,"evidence":64},"People curious about how mechanical clocks and watches work","inferred",[65,66],{"id":54,"by":55,"text":56},{"id":58,"by":59,"text":60},[68,75,79],{"value":69,"source":70,"evidence":71},"TypeScript","maker",[72],{"id":73,"by":11,"text":74},"10407226","Sure: I wrote it in Typescript, modeled everything in Blender and rendered with three.js. The simulation logic itself it in…",{"value":76,"source":70,"evidence":77},"Blender",[78],{"id":73,"by":11,"text":74},{"value":27,"source":70,"evidence":80},[81],{"id":73,"by":11,"text":74},"open_source","launched","unknown",{"praise":86,"objections":107,"requests":144,"questions":167,"alternatives":182},[87,96],{"value":88,"source":51,"evidence":89},"Visualisation helps understanding of how clocks work",[90,91,92],{"id":54,"by":55,"text":56},{"id":58,"by":59,"text":60},{"id":93,"by":94,"text":95},"10407610","marincounty","Balance wheel(oscillating wheel in demo. Its the brain. it keeps the time accurate)--->Lever escapement fork(looks like pin pallet. Your watch's fork looks more like a dinner…",{"value":97,"source":51,"evidence":98},"Beautiful and informative",[99,103],{"id":100,"by":101,"text":102},"10407552","mherrmann","Very cool and informative at the same time. Well done!",{"id":104,"by":105,"text":106},"10407900","irascible","Beautiful.",[108,119,130,137],{"value":109,"source":51,"evidence":110},"Mainspring appears mounted backwards, winding instead of unwinding",[111,115],{"id":112,"by":113,"text":114},"10407776","christiangenco","I think you mounted the main spring the wrong way? The way it is currently, the clock's operation would wind it tighter.",{"id":116,"by":117,"text":118},"10408674","codewritinfool","It looks like the main spring is flipped 180 degrees. I speeded up the clock movement and it looks like it would be tightened, not loosened.",{"value":120,"source":51,"evidence":121},"Gear teeth intersect and do not align properly",[122,126],{"id":123,"by":124,"text":125},"10407173","aps-sids","I'm not entirely sure, but zooming closer to gear teeth interaction, it looks like cogs aren't aligning perfectly like they do in real life? I'm viewing this in firefox, so that…",{"id":127,"by":128,"text":129},"10407998","imaginenore","It's an animation, not a simulation. And not a very good one, gear teeth intersect all over the place: http:\u002F\u002Fi.imgur.com\u002FxDWigpp.jpg",{"value":131,"source":51,"evidence":132},"Minute hand runs too fast relative to real time",[133],{"id":134,"by":135,"text":136},"10407971","wbhart","In Chrome, the minute hand didn't move anywhere near 10 minutes worth over 10 minutes of watching the mechanism. Are the gear mechanisms designed to accurately reproduce a real…",{"value":138,"source":51,"evidence":139},"Escape wheel animation does not clearly show the push",[140],{"id":141,"by":142,"text":143},"10407450","kyberias","Nice, but I don't think the escape wheel animation is correct. The explanation says it pushes something but I don't see it.",[145,152,156,160],{"value":146,"source":51,"evidence":147},"Show gear speeds and cog counts",[148],{"id":149,"by":150,"text":151},"10406399","gus_massa","Nice animation. I'd add the option to show the speed of each gear (a curved arrow around the axis, with a label \"1 turn per 15 seconds\", and perhaps the number of cogs in each…",{"value":153,"source":51,"evidence":154},"Add a single-gear simplified version",[155],{"id":149,"by":150,"text":151},{"value":157,"source":51,"evidence":158},"Linearized gear view",[159],{"id":149,"by":150,"text":151},{"value":161,"source":51,"evidence":162},"Prevent page scroll when zooming",[163],{"id":164,"by":165,"text":166},"10406898","dhritzkiv","Zooming-in is a bit tricky as a page scroll is triggered. Might help to add ``` event.preventDefault(); ``` to the wheel event listener function.",[168,175],{"value":169,"source":51,"evidence":170},"How the balance spring keeps accurate time as it unwinds",[171],{"id":172,"by":173,"text":174},"10407241","jonahx","Nice. It seems that small spring is driving the \"ticking\" of the clock, so does the winding of the springs wind both the large and small spring? Also, it's surprising to me how…",{"value":176,"source":51,"evidence":177},"How the simulation was made",[178],{"id":179,"by":180,"text":181},"10406850","kqr2","Nice! Can you give more details on how you made the simulation?",[183,189],{"value":184,"source":70,"evidence":185},"Gearotic CAD software",[186],{"id":187,"by":11,"text":188},"10407214","In real life the do align perfectly, otherwise they will get stuck. Here there are off a bit because 1. I didn't get the sizes absolutely right as I modeled it in Blender and not…",{"value":190,"source":51,"evidence":191},"Electrical engineering video on mechanical watches",[192],{"id":193,"by":194,"text":195},"10407814","jonsen","An Electrical Engineering View of a Mechanical Watch: http:\u002F\u002Fvideo.mit.edu\u002Fwatch\u002Fan-electrical-engineering-view-of-a-mechanical-watch-9035\u002F",{"comments":46,"answered":38,"key":197},[198,201,204],{"id":199,"text":200},"10409121","You're right, I missed it. Nice catch :)",{"id":202,"text":203},"10406448","Thanks for the feedback. Regarding the simple version, did you see that you can rotate, pan and zoom the camera? You can focus on the escapement to get a better view. You can…",{"id":205,"text":206},"10407219","Oh, cross-browser issues. There shouldn't be any scroll bars at all... What browser\u002FOS?",{"commenters":208,"max_depth":209,"maker_replies":46,"first_comment_mins":210,"lifespan_hours":211},29,4,34,28,[213,217,219,220,223,225,227,231,233,235,237,239,243,246,250,252,256,258,259,260,264,265,266,269,270,275,277,279,283,285,286,289,291,295,297,301,304],[214,39,46,215,216,39],"10407474","maker\u002Fpositive\u002Fidea","AlexMuir",[54,33,46,218,55,39],"project\u002Fpositive\u002Fidea",[58,33,46,218,59,39],[112,221,33,222,113,39],2,"project\u002Fcritical\u002Fexecution",[199,221,39,224,11,33],"maker\u002Fneutral\u002Fexecution",[134,38,33,226,135,39],"project\u002Fcritical\u002Fperformance",[228,38,39,229,230,39],"10408005","commenter\u002Fneutral\u002Fperformance","lucideer",[149,209,38,232,150,39],"project\u002Fneutral\u002Fdesign",[202,209,39,234,11,33],"maker\u002Fneutral\u002Fdesign",[93,46,46,236,94,39],"project\u002Fpositive\u002Fdocs",[172,41,38,238,173,39],"project\u002Fneutral\u002Fnone",[240,41,38,241,242,39],"10407255","project\u002Fneutral\u002Fidea","blacksmith_tb",[244,41,38,241,245,39],"10407268","beeboop",[247,41,39,248,249,39],"10407435","other\u002Fneutral\u002Fnone","rcurry",[251,41,38,241,249,39],"10407443",[253,41,39,254,255,39],"10407639","commenter\u002Fneutral\u002Fdocs","chrisseaton",[257,41,39,254,173,39],"10409084",[164,34,33,222,165,39],[205,34,39,224,11,33],[261,34,38,262,263,39],"10407248","project\u002Fneutral\u002Fexecution","chrisdroukas",[123,32,33,222,124,39],[187,32,39,224,11,33],[267,32,46,268,124,39],"10407288","maker\u002Fpositive\u002Fnone",[193,18,39,248,194,39],[271,272,38,273,274,39],"10410642",10,"project\u002Fmixed\u002Fdesign","jeffehobbs",[116,276,33,222,117,39],11,[141,278,33,222,142,39],12,[280,278,39,281,282,39],"10407516","commenter\u002Fneutral\u002Fidea","X-Istence",[179,284,38,224,180,39],13,[73,284,39,224,11,33],[100,287,46,288,101,39],14,"project\u002Fpositive\u002Fnone",[127,290,33,222,128,39],15,[292,290,39,293,294,39],"10408447","commenter\u002Fneutral\u002Fnone","RobotCaleb",[296,290,39,293,128,39],"10409647",[298,299,38,241,300,39],"10407330",16,"trhway",[104,302,46,303,105,39],17,"project\u002Fpositive\u002Fdesign",[305,306,46,288,307,39],"10406288",18,"callesgg",[],[310,315,319,323,327,332],{"id":311,"name":312,"points":313,"category":314},"10425959","Metabase",287,"data",{"id":316,"name":317,"points":318,"category":20},"10426106","Clojure for the Brave and True",224,{"id":320,"name":321,"points":322,"category":20},"10405288","Arguman",170,{"id":324,"name":325,"points":326,"category":314},"10403820","CloudScrape",116,{"id":328,"name":329,"points":330,"category":331},"10420329","Apifier",101,"infrastructure",{"id":333,"name":334,"points":335,"category":336},"10411756","startc",97,"languages",false,"v2",{"id":340,"name":5,"line":6,"ai":337,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":341,"top":18,"kw":342,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":343,"url":9,"mix":344,"praise":88,"objection":109,"sub":21},10406165,0.01,[24,25,26,27,28],"5551010305333030010310503110305100355",[32,32,33,34],1794036536712]