You Don't Know Jack

Geometry Level 4

Four friends are playing bocce, and they have each thrown one of their balls onto the lawn. Their relative positions are shown above (with each square one foot on a side).

The jack , or target ball, is not pictured, but we do know that the order of the four colored balls, from closest to farthest away from the jack, is A , B , C , D .

Find the area, in square feet, of the region of the lawn where the jack could possibly be located.

(You may assume that the lawn extends infinitely in all directions. You are not limited to the edges of the given image.)


The answer is 30.

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.

2 solutions

Matt Enlow
Jul 13, 2015

Since the "is closer to the jack than" relation is transitive, what we are looking for is, essentially, the set of all points that are

  1. closer to A than to B,
  2. closer to B than to C, and
  3. closer to C than to D.

For each of these individual inequalities, we find the perpendicular bisector of the segment joining the two points, and shade the side that contains the point that is closer to the jack.

The intersection of these three half-planes is a triangle, whose vertices happen to lie on lattice points. This makes it relatively straightforward to determine that the area of the triangle is 30 \boxed{30} square feet.

Brock Brown
Jul 14, 2015

I poured sand all over the lawn , counted the goal grains and the total grains, and multiplied the ratio of goal grains to total grains by the total area that I poured sand on.

Python 3.3:

 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
from math import sqrt
from matplotlib import pyplot as plot
from time import time
from random import random
from pickle import load, dump
search_width = 50
search_length = 50
try:
    x_values, y_values, goals, trials = load(open('jack.p', 'rb'))
except FileNotFoundError:
    x_values, y_values = [], []
    goals, trials = 0, 0
def distance(x1, y1, position):
    x2, y2 = position
    return sqrt(abs(x1-x2)**2 + abs(y1-y2)**2)
position = {'A':(6, 6),
    'B':(4, 10),
    'C':(0, 6),
    'D':(4, 0)}
def goal(x, y):
    return distance(x, y, position['A']) <\
        distance(x, y, position['B']) and\
        distance(x, y, position['B']) <\
        distance(x, y, position['C']) and\
        distance(x, y, position['C']) <\
        distance(x, y, position['D'])
end = float(input("How long? (seconds) ")) + time()
while time() < end:
    try:
        x = random() * search_width
        y = random() * search_length
        if goal(x, y):
            goals += 1
            x_values.append(x)
            y_values.append(y)
        trials += 1
    except KeyboardInterrupt:
        print ("\nBreaking loop...")
        break
# plot the goal positions
plot.plot(x_values, y_values, 'k.', markersize = 1)
# plot original ball positions
letters = 'ABCD'
colors = 'ygbr'
for index, letter in enumerate(letters):
    x, y = position[letter]
    plot.plot([x], [y], colors[index]+'.', markersize = 20)
plot.title(r'Area $\approx$ {0} (after {1} trials)'.format(search_length*search_width*(goals/trials), trials))
plot.show()
# save results for later
dump((x_values, y_values, goals, trials), open('jack.p', 'wb'))

Dependencies:

  • matplotlib (if you're on Linux: sudo apt-get install python3-matplotlib )

@Brock Brown This is a fantastic answer + a good joke at the beginning.

Silas Hundt Staff - 5 years, 9 months ago

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...