Finding distance between two parallel 3D lines I can handle non-parallel lines and the minimum distance between them (by using the projection of the line and the normal vector to both direction vectors in the line), however, in parallel lines, I'm not sure on how to start. I was thinking of finding a normal vector to one of the direction vectors (which will be as well normal to the other line because they are parallel), then set up a line by a point in the direction of the normal vector, and then find the points of intersection. After finding the line between the two parallel lines, then we can calculate the distance.
Is this reasoning correct? If it is, is there a way to find normal vectors to a line or any vector instead of guessing which terms give a scalar product of 0? I have encountered this problem as well in directional derivatives and the like. 

Let $r(t) = r_0 + \hat{r} t, \ \ s(t) = s_0 + \hat{r}t$.    Then form a triangle with sides $r_0 - s_0$ and one parallel to $\hat{r}$ with length given by $\hat{r} \cdot (r_0 - s_0)$.  Then the length of the missing side is your distance.
$d = \sqrt{ |r_0 - s_0|^2 + (\hat{r}(r_0 - s_0))^2}$
