Basics About the Game

There are no pockets on this type of billiard table. The idea is to try to use the white cue ball to hit the other two. What makes this interesting is that there is one more rule: Your cue ball must hit at least 3 cushions before striking the last ball.

To illistrate, imagine a carom billiard table (twice as long as wide with no pockets), where one can locate any point on the table using the Cartesian coordinate system. Let the lower left corner be (0,0) and the upper-right corner (8,4).

A cue ball at (2,2) needs to be aimed at diamond 4 1/2 on the south cushion so it can strike the other two balls at (5,3) and (5, 2 1/2)

The "Diamond System" is one way to help figure out the correct place to aim the cue ball. In this example we have a cue position of 5, and a natural angle of 1 1/2, so the diamond to aim at is

5 - 1 1/2 = 3 1/2

(counting from the right -- this would be 4 1/2 in the coordinate system, where you always count from the left to the right). This looks complicated until you get the idea of how to count the diamonds...

The "Diamond system"

The Diamond system is used in 3-cushion billiards find a place to aim the cue ball so that it strikes 3 cushions before hitting any balls.

This system has three steps:

  1. First find the natural angle off the cushion that would strike both target balls.

  2. Find the cue position, counting the diamonds differently. Begin near the corner by the target balls, and count by 1/2 the diamonds (or dots) starting at 1 1/2.

  3. Subtract the Natural Angle (Step 1) from the Cue position (step 2). The result is diamond (or dot) that you need to aim at, counting with the same numbering as Step 1, to strike three cushions before the two other target balls.

Use the TI-85, TI-82 or TI-83 program "Pool" or the Mathematica notebook "" or the Java enhanced web page. Click here and answer the following questions.

Click here to get the TI Calc simulation

Click here to do the On-Line simulation

Puzzles and Experiments:

1. How many ways can you hit a certain ball bouncing off the same cushion?

2. In 3-Cushion billiards the object of the game is to hit the first ball, and 3 or more cushions before hitting the second ball. Can you design so trick shots? A "system" (Sorry--this version of Pool does not move balls that have been "hit"...maybe later...of if someone else would like to adapt this program to do this...(send me e-mail; I'd like to know)

3. If you hit the ball hard (200), is it easier to design a way that hits *all* the balls or finding a way that *avoids* all of them?

4. Can you make the path of the ball into an interesting shape like a fish, star or snowflake?

Mathematica Instructions:

Open and evaluate the initialization cells of "" if it has not already been started.

To change the location of any ball type and evaluate:



RedBall = {1,1.8]


BlueBall = { 2, 1 — Sqrt[3] }


To show the pool table type and evaluate:


To Shoot a ball, just list it in the same "Show" statement:

Show [PoolTable, ShootBall [ WhiteBall, down, 3, 4] ]

The "ShootBall" command needs four things:

    1. The Ball (WhiteBall, RedBall, BlueBall).
    2. The cushion (up, down, left, right)
    3. The dot or diamond number (counting from the bottom or left)
    4. The number of cushions it should bounce against.

So the statement above will show the path of the white ball if it was aimed at the third dot on the bottom cushion, and bounced against four cushions.

Other examples:

WhiteBall={4, 3};


BlueBall={5.5, 3};

Show[PoolTable, ShootBall[WhiteBall, down, 6.5, 4]];

If you use both the calculator and the computer, the following terms are equivalent:

dot = diamond

Ball1 = cue ball = WhiteBall

Ball2 = target = RedBall

Ball3 = " = BlueBall