hp = his position mp = my position md = my direction (velocity) hd = his direction (velocity) t = time pythag to find line length: t^3 = (hpx + hdx*t - mpx - mdx*t)(hpy + hdy*t -mpy - mdy*t)(hpz + hdz*t -mpz - mdz*t) (hpx + hdx*t - mpx - mdx*t)(hpy + hdy*t -mpy - mdy*t) add all these up +hpy +hdy*t -mpy -mdy*t +hpx ) hpx*hpy +hpx*hdy*t -hpx*mpy -hpx*mdy*t +hdx*t) hdx*t*hpy +hdx*t*hdy*t -hdx*t*mpy -hdx*t*mdy*t -mpx ) -mpx*hpy -mpx*hdy*t +mpx*mpy +mpx*mdy*t -mdx*t) -mdx*t*hpy -mdx*t*hdy*t +mdx*t*mpy +mdx*t*mdy*t xy= +mdx*mdy*t2 - hdx*mdy*t2 + hdx*hdy*t2 - mdx*hdy*t2 +hpx*hdy*t - hpx*mdy*t + hdx*hpy*t - hdx*mpy*t + mpx*mdy*t - mpx*hdy*t - mdx*hpy*t + mdx*mpy*t +hpx*hpy - hpx*mpy -mpx*hpy + mpx*mpy store all the crap away as factors of t: xy= t2(mdx*mdy - hdx*mdy + hdx*hdy - mdx*hdy) + t(hpx*hdy - hpx*mdy + hdx*hpy - hdx*mpy + mpx*mdy - mpx*hdy - mdx*hpy + mdx*mpy) + 1(hpx*hpy - hpx*mpy -mpx*hpy + mpx*mpy) known1 = k1 = mdx*mdy - hdx*mdy + hdx*hdy - mdx*hdy known2 = k2 = hpx*hdy - hpx*mdy + hdx*hpy - hdx*mpy + mpx*mdy - mpx*hdy - mdx*hpy + mdx*mpy knonw3 = k3 = hpx*hpy - hpx*mpy -mpx*hpy + mpx*mpy ok... same again for the z axis: (k1*t^2 + k2*t + k3)(hpz + hdz*t -mpz - mdz*t) add em up k1*t^2 +k2*t +k3 --------------------------------------------------------------- +hpz ) hpz*k1*t^2 +hpz*+k2*t +hpz*k3 +hdz*t) hdz*k1*t^3 +hdz*k2*t2 +hdz+k3*t -mpz )-mpz*k1*t^2 -mpz*k2*t -mpz*k3 -mdz*t)-mdz*k1*t^3 -mdz*k2*t^2 -mdz*k3*t +hdz*k1*t^3 -mdz*k1*t^3 +hdz*k2*t^2 +hpz*k1*t^2 -mdz*k2*t^2 -mpz*k1*t^2 +hpz*+k2*t +hdz+k3*t -mpz*k2*t -mdz*k3*t +hpz*k3 -mpz*k3 store as factors of t t^3 = t^3(+hdz*k1 -mdz*k1 ) + t^2(+hdz*k2 +hpz*k1 -mdz*k2*t^2 -mpz*k1 ) + t(+hpz*+k2 +hdz+k3 -mpz*k2*t -mdz*k3 ) + 1(+hpz*k3 -mpz*k3 ) k4 = +hdz*k1 -mdz*k1 k5 = +hdz*k2 +hpz*k1 -mdz*k2 -mpz*k1 k6 = +hpz*+k2 +hdz+k3 -mpz*k2 -mdz*k3 k7 = +hpz*k3 -mpz*k3 YEY! t^3 = k4*t^3 + k5*t^2 + k6*t + k7 ao, just solve for t and we have time.. :o