18 comments

[ 3.6 ms ] story [ 20.3 ms ] thread
It really never ceases to amaze me the things you can do in JavaSCript. That's the kind of thing that up until a few years ago you'd be hesitant to do in Java. This is really cool stuff! I look forward to when we get full powered PC games done in JS. We're not there yet, I know - but it's little steps like this that'll get us there.
I agree, the speeds you can achieve with JavaScript are astounding. They are far superior to Python, it's a shame JS doesn't have that well of a support for scientific calculations.
If anyone could list what support there is that'd be really interesting.
Just a side note: Java used to be slow, but is actually a lot lot faster now. So while javascript is certainly impressively fast, Java is actually even faster still.
Although I believe this is true, I've used more fluid interfaces and played/have seen better performing demos/games in Javascript rather than Java.
There's nothing particularly hard about this, or special about javascript though. This is the kind of stuff you could've implemented back in the day and ran on a Pentium MMX. It's about having an efficient algorithm.
How do you choose the angles at which you send the beams and the number of beams? It appears to be somewhat random, even though I'm sure it's not.
(comment deleted)
It doesn't calculate all beams that originate from one point. It calculates only the beams which originate from one of the points and eventually reach the other point. It only looks random because the walls are placed at odd angles.
As someone who dabbles heavily in acoustics with javascript, THANK YOU! Let's talk.
Makes the three of us.. Nice work OP!

P.S. Also a fan of threedB @robmiller.. :)

It's great to stumble upon like-minded people on HN :-)