Pool Simulator "Show And Tell": 2x and 3x Cross Side Banks

TheRooster

New member
I'm writing a pool simulator for fun, and recently I improved the ball-rail collision model so that 2x and 3x cross side banks are more realistic!

Videos are played back at 0.1x real time.
Twice Across:
Thrice Across:

(Here's a recent, related AZBilliards post https://forums.azbilliards.com/threads/fedor-showing-off.580154/, with a link to a video of Fedor demonstrating the real thing.)

The collision model is based on Chapter 5 Section 2 of Stronge W.J., Impact Mechanics. The model approximates the effects of "tangential compliance", i.e. the springiness of the rail parallel to the rail.

Prior to this, I used a classic impulse model for all collisions. The tangential forces were purely due to friction, and didn't account for tangential compliance. In that case, these banks were difficult or impossible to reproduce.

I briefly tested ShootersPool and I was able to get the 2x bank to work, but I couldn't get the 3x bank. I'm curious if ShootersPool or any other pool simulators can reproduce this effect.

Here are some technical details for the few who might be interested:
There is no numerical integration to solve differential equations; it's all done with simple harmonic motion equations that can mostly be solved directly for the final velocity at the contact point. The exception is some numerical root finding. I haven't measured anything yet, but I expect this is much faster than a numerically integrated model without much loss in accuracy. It's probably only slightly slower than the classic impulse model.
 
Last edited:
Some shots require rail compression. Do you plan to handle that? Also, I think break shots and other multi-body situations are hard to simulate accurately without numerical integration.
 
Rail compression and multi-body collisions are definitely the two main difficult points of pool simulation.

The theory of this model assumes the bodies "do not change configuration" during the collision, but there is an equation for displacement of the contact point during the collision. I've thought that it could be used to approximate the rail compression. Maybe I'll try that out before moving on.

As for multi-body collisions, I agree that they're difficult without numerical integration. I have played around with standalone numerically integrated break simulations using Project Chrono, an open-source physics simulation engine. It has support for Hertzian compression forces like those used in these simulations. The results were pretty realistic, but the simulation time isn't great. I've worked a little on integrating (no pun intended) these collisions into my simulator. That's what I'm going to move on to after I wrap this up.

And if this model doesn't work out for rail compression, I could probably use Project Chrono to do a simple FEA simulation with a few springs.
 
Last edited:
Re: model assumes...no change of shape at contact.

You science folks have a different set of know-hows, but I don't see how rail(cushion/rubber) compression could be built into a sim model with a realistic outcome

So many variables, it makes my balls spin😳
 
Re: model assumes...no change of shape at contact.

You science folks have a different set of know-hows, but I don't see how rail(cushion/rubber) compression could be built into a sim model with a realistic outcome

So many variables, it makes my balls spin😳
Yeah assuming things are perfectly rigid simplifies things and gives reasonable results if there isn’t a ton of deformation. But for situations where deformation is crucial, there are “soft body” simulations which basically split an object into lots of little pieces connected by springs. The math for each little piece is easy enough to work out and a computer doesn’t mind doing a lot of computation for each little piece.

For soft body simulations the realism varies depending on the application. Animation and games don’t need to be perfectly realistic for example, but how much an airplane wing flexes needs to be pretty close.

And to be clear, what I’m doing here is sort of in the middle of rigid body and soft body. It’s rigid body but with two imaginary springs in the perpendicular and parallel directions in between the rail and the ball.
 
Back
Top