Computer Lab II: Billiards Tables

a) Build a Billiards Table!  It should have sides that always stay horizontal and vertical, and you should be able to change its dimensions by draging the corner.  Its dimensions should be labeled.  How can you do this?  Start with a vertical line and two points not on the line.  Construct a rectangle whose corners are the two points and whose sides are parallel/perpendicular to the vertical line.  Save your table as table1.

b) Add a point to represent a ball, and another point to show the direction that the ball is being hit in.  We want to construct the path that the ball would follow when hit towards the second point.   Show the path of the ball until it hits the side of the table.  Add the path that the ball takes after its first bounce.  Add the path for the next several bounces.  Save your table as table 2.

c) Go back to table 1.  Add two balls.  Construct the path that one ball has to travel to hit the other directly.  Make a button to show/hide this path.  Construct a path from one ball to the other that bounces once.  Construct a path that bounces twice.  How many paths are there from one ball to the other that include one bounce?  Two?  Three?  This is actually a practical question: it is common in pool games to want to bank a shot off of a rail, that is to hit a ball by bouncing the cue ball off of a side of the table.  Can you find a practical method that a pool player could use to find the spot that he or she should aim for in order to hit the ball after one bounce?

Homework:  Write a report explaining what the possible paths are that the ball can take to get to the second ball, and how you can construct them.