A double bank shot into the near right corner

Geometry Level pending

In a simulation of a pool game, the pool table is a rectangle with a horizontal width of 15 units and a vertical length of 30 units.

The left bottom corner of this rectangle is at the origin of an x y xy reference frame with standard orientation. You have two billiard balls of radius 1 unit, the first is the cue ball (drawn in light green) and is placed at ( 8 , 20 ) (8,20) , the second is the target ball and is placed at ( 11 , 23 ) (11,23) . You want to shoot the cue ball (green) in a certain direction, such that it bounces off the right bank, then collides with the target ball, causing it to reflect off the top and the left bank, into the target point which, in this problem, is the near right corner pocket, whose coordinates are ( 15 , 0 ) (15, 0) . Find the angle θ \theta that the direction of your shot of the cue ball makes with the positive x x -axis, in radians , and report 1 0 4 θ \large \lfloor 10^4 \hspace{4pt} \theta \rfloor .


The answer is 1699.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

1 solution

Steven Chase
May 2, 2019
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import math

R = 1.0    # radius

W = 15.0  # width and length of table
L = 30.0

x1 = 8.0   # shooting ball initial coordinates
y1 = 20.0

x2 = 11.0   # target ball coordinates
y2 = 23.0

####################

# x and y travel distances
# for target ball

travel_dist_x_target = (x2 - R) + (W - R)
travel_dist_y_target = (L - R - y2) + (L - R)

mag_target = math.hypot(travel_dist_x_target,travel_dist_y_target)

# unit vector in direction of target ball velocity post-collision

ux_target = -travel_dist_x_target/mag_target
uy_target = travel_dist_y_target/mag_target

####################

x1c = x2 - 2.0*R*ux_target  # shooting ball center coordinates at collision
y1c = y2 - 2.0*R*uy_target  

####################

# x and y travel distances
# for shooting ball - pre-collision

travel_dist_x_shoot = (W - R - x1) + (W - R - x1c)
travel_dist_y_shoot = y1c - y1

mag_shoot = math.hypot(travel_dist_x_shoot,travel_dist_y_shoot)

# unit vector in direction of shooting ball 

ux_shoot = travel_dist_x_shoot/mag_shoot
uy_shoot = travel_dist_y_shoot/mag_shoot

####################

theta = math.atan(uy_shoot/ux_shoot)  # angle

####################

print (180.0 * theta / math.pi)
print math.floor(10000.0*theta) # answer is 1699

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...