x1=unknown_x1
y1=50//green start y coordinate
x2=170 y2=50//red start
xmeet=20 ymeet=50//yellow meet
speed1=100//speed of green train
speed2= 80//speed of red train
zzscene
jt 1000 0
return -100 + rnd 100
local d
d=10
color gray [
spin 4 [repeat 100 [fd 1000 fd -2000 jt d 0 ] jt 0 0]
]
linestyle 0 2 [spin 4 [fd 1000 jt 0 0 ]]
local t d1 d2
zzgrid
if speed2 <=0 [speed2 = - speed2]
//draws the lines
jt (-1000*x1 +(1 + 1000)*xmeet) (-1000*y1 +(1 + 1000)*ymeet)
mt (1000*x1 +(1 - 1000)*xmeet) (1000*y1 +(1 - 1000)*ymeet)
jt (-1000*x2 +(1 + 1000)*xmeet) (-1000*y2 +(1 + 1000)*ymeet)
mt (1000*x2 +(1 - 1000)*xmeet) (1000*y2 +(1 - 1000)*ymeet)
jt 0 0
//draws the cities
jt x1 y1 solid green [circle 10]
jt x2 y2 solid red [size 0.3[ngon 3]]
jt xmeet ymeet solid yellow [circle 6]
//computes the distances
d1=sqrt ((xmeet - x1)^2 + (ymeet - y1)^2)
d2=sqrt ((xmeet - x2)^2 + (ymeet - y2)^2)
speed2_c=speed1*d2/d1
//
t=0 loop 20000 [t=t+1/20000
jt (x1 + (xmeet - x1)*t) (y1 + (ymeet - y1)*t) color green [circle 3]
jt x2 + (xmeet - x2)*t*speed2/speed2_c y2 + (ymeet - y2)*t*speed2/speed2_c
color red [circle 3]]