I donβt know what a standard way to do this, but if you only want to know IF it intersects, thatβs what I will do.
... sqrt() . , .
.
- , . , x, y- z- , , , . . , .
. . , .
, , - , .
(x0 + it, y0 + jt, z0 + kt), - (xS, yS, zS). , t , (xS - x0 - it, yS - y0 - jt, zS - z0 - kt).
x = xS - x0, y = yX - y0, z = zS - z0, D -
D = x ^ 2 -2 * xit + (i * t) ^ 2 + y ^ 2 - 2 * yjt + (j * t) ^ 2 + z ^ 2 - 2 * zkt + (k * t) ^ 2
D = (i ^ 2 + j ^ 2 + k ^ 2) t ^ 2 - (xi + yj + zk) * 2 * t + (x ^ 2 + y ^ 2 + z ^ 2)
dD/dt = 0 = 2 * t * (i ^ 2 + j ^ 2 + k ^ 2) - 2 * (xi + yj + z * k)
t = (xi + yj + z * k)/(i ^ 2 + j ^ 2 + k ^ 2)
D =.... , . , .