
Perfectly centered break of a perfectly aligned pool ball rack - verandaguy
http://mathoverflow.net/a/156407
======
taliesinb
Really cool problem! And great animations.

I was disappointed to find that the associated notebook
([http://math.bard.edu/belk/code/BilliardsHertz.nb](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 bool passing through all the others..

~~~
sillysaurus2
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...

~~~
taliesinb
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...](http://reference.wolfram.com/language/guide/Associations.html)

[2]
[http://reference.wolfram.com/language/guide/WorkingWithTempl...](http://reference.wolfram.com/language/guide/WorkingWithTemplates.html)

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

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

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

~~~
nswanberg
Nice to see all the WolframAlpha features being brought over. I'd completely
missed Entity and Dataset.

Any chance you'll be including the templating features in the RPi version?

~~~
taliesinb
Yup, although there is a bit of design change from the templating in the RPi
version.

------
TheLoneWolfling
This doesn't take into account rotation though :(

See
[http://archive.ncsa.illinois.edu/Classes/MATH198/townsend/in...](http://archive.ncsa.illinois.edu/Classes/MATH198/townsend/index.html)
for including rotation.

~~~
joosters
Also doesn't take into account the direction of the nap of the cloth on the
table - balls rolling 'up' will travel differently from those rolling 'down'.

Would this also mean that the speed of the balls has to be taken into account?
The differing effects of friction on the surface would surely alter as the
balls move & spin slower?

~~~
nostromo
What about air friction? And the the Coriolis effect? And does observing the
balls cause their wave function to collapse? :P

~~~
joosters
Yes! We demand to know whether the pool table was in the northern or southern
hemisphere :)

~~~
7483263789
Tut tut! You're forgetting that the earth is an oblate spheroid, and gravity
exerts greater downward force at the poles, than near the equator.

We also need to know the precise latitude of the pool table!

~~~
kaivi
One might as well consider the gravitational gradient exerted by the
surrounding terrain and significant celestial bodies, as well as the balls
themselves. Should we collaborate on assembling such simulation, taking in
account all known physical laws? Or has it been done already? Imagine how cool
it would be to toggle different forces or constants and see the result change.

------
lbarrow
Jim Belk was my math professor in college -- we always knew he was a much
better programmer than he let on!

~~~
jimbelk
Hi!

------
neltnerb
This is beautiful. I'd be curious about the results of a similar monte carlo
simulation (or random variable statistics if possible) that had identical
force laws but introduced random gaps between the balls.

------
kungfooguru
Weird, wasn't expecting to find that it was by my brother in law!

~~~
jimbelk
Hi! This seems like a neat website -- kind of like early reddit.

~~~
girvo
That's the aim, to be honest :)

------
aspensmonster
I didn't realize there was both mathoverflow.net and math.stackexchange.com. A
quick glance at both looks like they serve largely the same purpose.

Cool modelling in any case!

~~~
verandaguy
I believe MathOverflow - a formerly non-SE site - targets graduate-level
questions, while math.SE has a broader target user base.

~~~
jc4p
Yeah, MathOverflow was a SE 1.0 site (when we had white-label Stack Exchange
networks rather than internally made ones) which has since been added into the
real network with the SE 2.0 rollout. Math.SE and MathOverflow seem to
function well together even they though have similar areas of interests.

~~~
verandaguy
Could you explain the expression, "white-label?" First time I've heard it.

~~~
jc4p
The Wikipedia article explains the concept, but basically the initial business
plan for Stack Exchange was to sell the software to companies / groups that
wanted to run their own system versus the all in-house management we have
today.

------
rcthompson
Can anyone explain the "rules" for a 3-way simultaneous colision? Freshman
physics only covered collisions between 2 objects, and I've never figured out
how to generalize it.

~~~
waqf
Right, with 3 balls you can't just do an impulse calculation like you can with
2 (too many unknowns, too few equations).

The author is simulating the collision as an event which happens gradually
over an (admittedly short) period of time, using a differential equation,
instead of something that happens all at once. That's why he has to talk about
the elasticity model he's using, F ∝ (2-d)^1.5, and how the results vary when
you change it.

~~~
tel
Could you get more equations by symmetry?

~~~
waqf
Yes … in the symmetric case. That might give you enough to solve the first
one-against-two collision. But the subsequent collisions in the pool break
problem won't be symmetric (the velocity of the "incoming" ball is not
perpendicular to the axis joining the centers of the other two).

------
chubot
What does the pattern of motion look like once they start bouncing off walls?

What about if the table is frictionless?

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

~~~
Someone
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)

~~~
zodiac
> it might be possible to have some balls collide in such a way that at least
> one comes to a stop.

can you give an example?

~~~
eru
If you just have two identical balls.

------
Glyptodon
... but if you hit it hard enough what's the maximum number that will go in?

~~~
jimbelk
Assuming there's no friction on the table, the chances ought to be pretty high
that they'll all eventually go in.

~~~
chinpokomon
Once you start figuring out the elastic collisions with the rails, there's
even more to consider. Rails are positioned such that the balls strike them on
their northern hemispheres. Because the rails are a wedge, the ball will get
pinched between the rail and the table. To understand this collision, you need
to take into consideration the rotational momentum of the ball. This is easier
to solve when it is a completely orthogonal collision with no lateral
rotations.

If the ball strikes the rail on an angle, the rails twist to absorb the impact
and will recoil with a force that isn't just a simple reflection, but that
also has a force vector tangent to the ball and back towards the origin. This
directly affects the spin of the ball when it leaves the rail.

Combined, a bounce off the rail is a very complicated collision. The net
result of which has balls that strike the rail at lower velocities closely
matching a reflection, but if struck with a higher velocity, the reflection
straightens out into a bounce more perpendicular to the rail.

In short, the rails are highly dependent upon the velocities at impact, and
perhaps more so than at break, are affected by rotational momentum.

------
manglav
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.

~~~
a_soncodi
This is mostly incorrect. The chosen spin depends on several factors including
the breaking position (as in breaking from "the box") and ball count. In this
case it appears to be Eight Ball.

The burn marks are caused by the downward force due to an inclined cue.
Similar marks occur when performing a legal jump. This is why many tournaments
provide a cloth scrap for breaking.

Furthermore, the cue ball may hop to the rack and impact the head ball above
its equator, causing the cue ball to jump in the air, reducing the likelihood
of being kicked into a pocket. Top spin or forward roll is not required for
this.

Source: I play pool semi-professionally.

~~~
manglav
Agree on the spin, I was assuming a perfectly vertical break.

Abou the burn marks, see here [http://www.pooldawg.com/article/pooldawg-
library/table-maint...](http://www.pooldawg.com/article/pooldawg-
library/table-maintenance)

[http://www.cuesight.com/types-of-pool-table-
felt.html](http://www.cuesight.com/types-of-pool-table-felt.html)

Yeah, I hate it when the ball pops up, but my opponent looks cool catching it,
heh. I also play pool. Best game for lounging I feel.

------
IgorPartola
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?

~~~
jimbelk
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.

~~~
IgorPartola
Thanks for both the answer on SO/MS and your comment here. You definitely shed
some light on what I was wondering about.

