Live data from Hacker News

Perfectly centered break of a perfectly aligned pool ball rack

mathoverflow.net

31–40 of 69 posts

Re: Perfectly centered break of a perfectly aligned pool ball rack

#31

Really cool problem! And great animations. I was disappointed to find that the associated notebook ( http://math.bard.edu/belk/code/BilliardsHertz.nb ) doesn't work correctly in either Mathematica 9 or 10 -- I think the author used 8. It seems like NDSolve falls down: NDSolve::smpf: Failure to project onto the discontinuity surface when computing Filippov continuation at time 0.`. >> and the solution shows the cue bo…

There's a Mathematica 10 now, already? Interesting. I'm still a happy 8 user, myself. Is there much reason to upgrade? It'd probably be good for them to pay more attention to backwards compatibility...

I think he is confused. Wolfram's site only has Mathematica 9 listed

Re: Perfectly centered break of a perfectly aligned pool ball rack

#32
post #20
post #7

What does the pattern of motion look like once they start bouncing off walls? What about if the table is frictionless?

I'm no physics expert, but I can account for the second one -- if there's no friction, the balls just keep rolling

Not necessarily; it might be possible to have some balls collide in such a way that at least one comes to a stop. At least one ball will keep moving though, and it isn't clear to me whether it is possible to prevent that moving ball from, eventually, hitting that stopped ball again. I think that would require at least three balls (ignoring pockets)

Re: Perfectly centered break of a perfectly aligned pool ball rack

#33

Really cool problem! And great animations. I was disappointed to find that the associated notebook ( http://math.bard.edu/belk/code/BilliardsHertz.nb ) doesn't work correctly in either Mathematica 9 or 10 -- I think the author used 8. It seems like NDSolve falls down: NDSolve::smpf: Failure to project onto the discontinuity surface when computing Filippov continuation at time 0.`. >> and the solution shows the cue bo…

Sorry about that. I really ought to upgrade to 9.

Apparently Mathematica added some new features in version 9 that are intended to better handle differential equations with discontinuities (see http://reference.wolfram.com/mathematica/tutorial/NDSolveWhe...). Apparently this is getting tripped up at the boundary between the two behaviors.

One simple thing that might work is to change the force law to either

  force[disp1_, disp2_, dir_] := -k Abs[(disp1 - disp2).dir ]^(3/2) dir* If[(disp1 - disp2).dir > 0, 1, 0]
or

  force[disp1_, disp2_, dir_] := -k Abs[(disp1 - disp2).dir ]^(3/2) dir* Piecewise[{{1, (disp1 - disp2).dir > 0}}, 0]
If these don't fix it, then you would need to play around with the options for NDSolve.

Re: Perfectly centered break of a perfectly aligned pool ball rack

#34

Really cool problem! And great animations. I was disappointed to find that the associated notebook ( http://math.bard.edu/belk/code/BilliardsHertz.nb ) doesn't work correctly in either Mathematica 9 or 10 -- I think the author used 8. It seems like NDSolve falls down: NDSolve::smpf: Failure to project onto the discontinuity surface when computing Filippov continuation at time 0.`. >> and the solution shows the cue bo…

That is odd. Mathematica is usually good about backwards compatibility. That sounds like a change in the under lying numerical solver.

Well, if it was a lying numerical solver...

Seriously: I think they will make breaking changes if the existing code turns out to be mathematically incorrect. That may or may not have been the case here.

Re: Perfectly centered break of a perfectly aligned pool ball rack

#37

Really cool problem! And great animations. I was disappointed to find that the associated notebook ( http://math.bard.edu/belk/code/BilliardsHertz.nb ) doesn't work correctly in either Mathematica 9 or 10 -- I think the author used 8. It seems like NDSolve falls down: NDSolve::smpf: Failure to project onto the discontinuity surface when computing Filippov continuation at time 0.`. >> and the solution shows the cue bo…

There's a Mathematica 10 now, already? Interesting. I'm still a happy 8 user, myself. Is there much reason to upgrade? It'd probably be good for them to pay more attention to backwards compatibility...

10 has Association expressions [1], which are a huge language addition (and long overdue). Seems there is some synchrony with Erlang on that front!

The features I'm most excited about in 10 (disclosure: my team is working on some of these):

[2] String, XML, file templating

[3] Hands-free machine learning

[4] Entity and EntityValue: semantic "hooks" to represent real world entities

[5] Dataset, a general data modelling and query framework.

Also, DateObject, TimeObject, interaction with external processes, multiple undo, a large number of updated data sources, the ExternalService "meta-api", device connections, time series stuff, GeoGraphics, and a long list of no less worthy features.

[1] http://reference.wolfram.com/language/guide/Associations.htm...

[2] http://reference.wolfram.com/language/guide/WorkingWithTempl...

[3] http://reference.wolfram.com/language/guide/MachineLearning....

[4] http://reference.wolfram.com/language/ref/Entity.html

[5] http://reference.wolfram.com/language/ref/Dataset.html

Re: Perfectly centered break of a perfectly aligned pool ball rack

#38

Somewhat meta, but at what point does Stack Overflow transition from being a useful, time-saving tool and become a waste of everyone's time? The top answer author clearly put a ton of time on the answer. We are all now reading this. Is anyone able to apply any of the knowledge they gained from this Q&A to anything productive?

This is a good question, and I sometimes do put too much time into answering questions on Math Stack exchange. Right now, though, I'm fairly happy with the time I put into this simulation.

First of all, there's the fact that I did this on a Friday evening, after I came home from work. (I spent about six hours on it, and maybe another hour or two on Saturday morning). There are probably more productive uses of my time, but it was fun, and the most likely alternative was probably something like "read reddit" as opposed to "do something productive". It's nice to have leisure-time activities that are at least marginally related to my career.

Speaking of which, here's a few reasons that this was helpful for me:

1. I got a little better at programming in Mathematica. I use Mathematica a lot for both my teaching and research, so it always helps to practice.

2. I learned about a whole field of physics called contact mechanics, which I otherwise wouldn't have been aware of. It's part of my job as a math professor to know about random things like this.

3. I got some experience with modeling in applied mechanics problems. This may be helpful for me in the future -- as a professor at Bard, I regularly have to supervise senior math majors who want to work on research-level problems. The next time a senior who's interested in applied mechanics wants a research problem, I'll have one available.

That's how it's helpful for me, but I suppose it's less clear that this was helpful for the rest of the world. I guess, at the very least, it certainly seems to have entertained a bunch of people, and maybe someone learned something about modeling or differential equations or physics.

Re: Perfectly centered break of a perfectly aligned pool ball rack

#39
While this is great for a theoretical model, most professionals also try to put forward spin on the cue ball, to offset the collision and break apart the rack further. You may have noticed small white burn marks from the heat generated by the cue ball spinning on the felt, from the location where most people break.
Post reply on HN