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]]