All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 Triangular Billiard Table (Posted on 2005-05-12)
We have a billiard table in the shape of a right triangle ABC with B the right angle. A cue ball is struck at vertex A and bounces off sides BC, AC, AB, and AC at points D, E, F, and G respectively ending up at vertex B. Assume the angle of incidence equals the angle of reflection at each bounce. If the path segments AD, EF, and GB are concurrent, then what is the tangent of angle BAD?

 See The Solution Submitted by Bractals Rating: 2.5000 (2 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
 corrected program | Comment 7 of 9 |
(In reply to re: Method -- Solution, if I've done the trig right by Charlie)

The corrected program is as follows with the correction being the negative sign in front of the cosine in the bolded line below.

DECLARE FUNCTION asind# (x#)
DEFDBL A-Z
DIM SHARED dr
pi = ATN(1) * 4
dr = pi / 180

CLS
a = 30 ' angle CAB
' base AB assumed equal to 1
FOR a = 29 TO 31                      ' uses A' as the origin for polar coordinates
c = 90 - a
ar = 2: atheta = 0
br = 1: btheta = 0
cr = 1 / COS(a * dr)
ctheta = a
bpr = 1: bptheta = 2 * a
cpr = cr: cptheta = 3 * a
bppr = bpr: bpptheta = 4 * a
tanBAD = SIN(bpptheta * dr) * bppr / (-COS(bpptheta * dr) * bppr + 2)
ABpp = SQR(4 + bppr - 4 * bppr * COS(4 * a * dr))
sinGBA = SIN(4 * a * dr) * 2 / ABpp
GBA = asind(sinGBA)
AXB = 180 - GBA - BAD
AX = sinGBA / SIN(AXB * dr)
EA = 2 * SIN(BAD * dr) / SIN((180 - a - BAD) * dr)
AX2 = SIN(XEA * dr) * EA / SIN((180 - XEA - EAX) * dr)
PRINT USING "###.#######"; a; AX; AX2; AX - AX2; BAD
NEXT a

FUNCTION asind (x)
IF x = 1 THEN
asind = 90
ELSEIF x = -1 THEN
asind = -90
ELSE
asind = ATN(x / SQR(1 - x * x)) / dr
END IF
END FUNCTION

The cosine, when its argument is greater than 90 degrees, is negative, but the segment is added at the bottom, and must be made positive. In other words the angle is the supplement of the one sought.

The results show:

` 29.0000000  0.7696017  0.8156536 -0.0460518 20.2341025 30.0000000  0.7559289  0.7559289  0.0000000 19.1066054 31.0000000  0.7434599  0.6980666  0.0453933 17.9494689`

where angle BAD is 19.1066054 and its tangent is .34641016.

 Posted by Charlie on 2005-05-14 03:57:21

 Search: Search body:
Forums (0)