288 karma · joined August 9, 2012
Eigen is a quintessential example. It's some of the most complex and inscrutable template code out there but it makes writing numerical code in C++ almost as nice as matlab while also being extremely fast.
( 0.013 dollars/hour * 24 hours/day * 31 days/month ) * 0.70 discount = 6.77
Academic papers are intended to be static, finalized content so I don't see the need for anything more than hyperlinks, and even hyperlinks are problematic because the content they link to disappears so often. Because of this PDF makes a great export format because it is nearly as old as HTML, standardized and you know your paper will always look the same. And for generating academic paper PDFs there is nothing that produces better looking papers than LaTeX.
As for standardization, TeX is older (1978), more standard (a single definitive reference implementation), and more stable (no feature changes since 1989). LaTeX is not quite as stable (last release was in 1994 with a new version planned for some time in the future) but I would argue it is still more stable than HTML.
Most rigid body simulations use discrete collision detection with fixed time steps, so it only checks for collisions at specific points in time. This is fast, but can cause issues where fast moving objects passing through thin objects (such as a bullet through a pane of glass). The alternative is called Continuous Collision Detection in which you calculate exactly when two objects will collide (or have collided) and can then simulate up to that point (or roll back to that point) and deal with the collision. One naive technique to do this is after integrating your simulation forwards, you use the volume each object swept out in that time step as its collision geometry instead of just the shape of the object at its new position. This solution has issues; it doesn't tell you when two objects collided and it can give false positives, but it works ok for rigid body simulations.
Some recent papers on the subject with more exact (and complicated) techniques:
http://www.cs.columbia.edu/cg/ACM/
http://www.cs.ubc.ca/~rbridson/docs/brochu-siggraph2012-ccd....
I believe that's exactly how Onlive works.
http://travel.stackexchange.com/questions/19941/one-foot-in-...
http://english.stackexchange.com/questions/1216/what-is-the-...
http://physics.stackexchange.com/questions/75459/why-do-chim...
http://skeptics.stackexchange.com/questions/17578/did-9-11-l...
#define foreach(x, xs) \
for (var _xs = xs, *x = iter_start(_xs); x = iter_next(_xs); x != iter_end(_xs))
Because var is just void* and anything you can iterate over will also be a void*.edit: I see, they address this in the article: In this specific case the Eigen library has the squared L2-norm in its API, but in more complicated examples there might be no such built-in provision
[0] https://github.com/Rip-Rip/clang_complete/blob/master/doc/cl...