beachrace
Author: Steve Arnold
Date: 16/07/2006

A beach race begins from a point, 4 km out to sea from one end of a 10km beach. Racers must swim to a point along the beach, and then run to the finish line. If I can swim at 4 kph and run at 10 kph, to what point on the beach should I aim to land?

Drag point C to try out different landing points!

Now try and find the algebraic function which describes this situation.

Swim Distance = 

Run Distance = 

Swim Speed = 

Run Speed = 

Swim Time = 

Run Time = 

Where on the beach is the best place to land?

Sea

Beach

Drag me!

Landing point (OC) = 

Distance

Time

Total Time (hours) = 

O = (6, 6)
A = (15, 6)
B = (6, 12)
a = Segment(O, A)
C = Point(a)
x1 = Distance(O, C)
swimdist = Segment(B, C)
R = (2, -1)
S = (14, -1)
runspeed = Segment(R, S)
D = Point(runspeed)
b = Distance(D, S)
swimspeed = Segment(D, S)
rundist = Segment(C, A)
swimtime_1: swimdist / swimspeed
runtime_1: rundist / runspeed
totaltime: swimtime_1 + runtime_1
P: (x1, totaltime)
c = Distance(O, B)
f(x) = sqrt(x^(2) + c^(2)) / swimspeed + (a - x) / runspeed
E = (6, 4)
F = (15, 4)
Q, o, e, f_1, a_1 = Polygon(O, E, F, A)
G = (6, 13)
H = (15, 13)
T, o_1, g, h, a_2 = Polygon(O, G, H, A)
T3: swimdist + ""
T4: rundist + ""
T10: swimspeed + ""
T11: runspeed + ""
T12: swimtime_1 + ""
T13: runtime_1 + ""
T14: totaltime + ""
I = (11, 8)
u = Vector(I, C)
T20: x1 + ""
f1(x) = 0
swimtime(x) = 0
runtime(x) = 0
racetime(x) = 0
swimdistance(x) = 0
rundistance(x) = 0
M = (0, 0)