꼬인 위치에 있는 두 직선 사이의 거리는 어떻게 구할까?

수학 2020년 05월 18일


이 글에서는 3차원을 넘는 \(n\)차원 세계의 벡터나 추상적인 기하학을 다루지 않는다. 직관적으로 이해하기 쉬운 3차원 상에서의 논의가 이루어질 것이다.

두 직선의 위치 관계

어떤 두 직선은 다음과 같은 4가지의 위치 관계를 가질 수 있다.

두 직선의 위치 관계는 다음과 같은 4가지 경우가 있다. 

두 직선이 평행하다는 것의 정의는 두 직선의 '방향벡터'(단위벡터로 나타내었을 때)가 일치하며, 만나지 않는다는 것이다. 두 방향벡터가 일치함과 동시에 두 직선이 만난다면, 두 직선은 모든 점에서 만날 것이고 같은 직선이 된다.

직선의 방정식

일반적인 직선의 방정식은 \(ax+by+c=0\)의 형태를 가지는데, 이는 어디까지나 평면 상에서의 얘기이다. 3차원 이상의 공간으로 가게 되면, 모든 기하적 도형들을 벡터를 통해서 나타내는 것이 훨씬 수월하게 되는데, 3차원(그이상)의 공간 상에서 점 \(P\)을 지나고 방향벡터가 \(u\)인 직선의 방정식은 다음과 같다. \[\overrightarrow{OP}+t\vec{u}\] 이 식은 벡터의 합으로 이루어져 있는데, 원점\(O\)부터 점 \(P\)까지의 벡터에 방향벡터의 어떤 실수\(t\)배만큼 해준 벡터를 더하는 것이므로 점 \(P\)을 지나고 방향벡터가 \(u\)인 직선의 방정식이 된다.

정사영

이 개념을 소개하는 이유는 꼬인 위치의 두 직선 사이의 거리를 구하는데 매우 용이하게 쓰이기 때문이다. projection 의 의미를 가지고 있는데, 자세한 개념보다는 수식적인 차원으로만 접근하겠다. 벡터 \(\overrightarrow{A}\)에대한 벡터 \(\overrightarrow{B}\)의 정사영의 크기는 \(\frac{\overrightarrow{B}\cdot\overrightarrow{A}}{\mid \overrightarrow{A}\mid}\)이다.
이처럼 크기만 구하는 것은 '스칼라 사영'이라고 하고, '벡터 사영'이야말로 진정한  projection으로, 정사영한 방향벡터의 단위벡터를 곱해주면 된다. 벡터 \(\overrightarrow{A}\)에대한 벡터 \(\overrightarrow{B}\)의 벡터 사영은 \(proj_{A}B\)로 표기하며, \(proj_{A}B=\frac{\overrightarrow{B}\cdot\overrightarrow{A}}{\mid \overrightarrow{A}\mid}\hat{A}=\frac{\overrightarrow{B}\cdot\overrightarrow{A}}{{\mid \overrightarrow{A}\mid}^{2}}\vec{A}\)이다.

'거리'

우선 '거리'라는 것의 철학부터 이해할 필요가 있을 것 같다. 일반적으로 우리는 '유클리드 기하학'을 다룬다. 유클리드 공간에서 유클리드 거리는 '최단'의 의미를 가지며, '유클리드 거리함수'에 따른 거리를 말한다.
3차원 공간에 두 점 \(A\left(x_{1},y_{1},z_{1}\right),B\left(x_{2},y_{2},z_{2}\right)\)이 있다면, 유클리드 거리함수에 따른 두 점을 잇는 '벡터의 크기'라고도 생각할수 있으며, 다음과 같다. \[\mid\overrightarrow{AB}\mid=\sqrt{(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}+(z_{2}-z_{1})^{2}}\]

고등학교 수학에서 배우는 점\(\left(x_{1},y_{1}\right)\)과 직선\(ax+by+c=0\) 사이의 거리는 다음과 같다: \[\frac{\mid ax_{1}+by_{1}+c\mid}{\sqrt{x_{1}^{2}+y_{1}^{2}}}\]  하지만 이는 평면 상에 있을 때의 얘기이다. 3차원 공간 상의 가면, 임의의 직선과 직선 밖의 한 점을 포함하는 평면은 단 하나 존재한다. 따라서 그 평면 상에서 계산할 수 있다. 3차원 공간 상에서 직선에 대한 수선의 발을 내리고, 그 수선의 발과 점을 잇는 선분의 길이를 마찬가지로 구하면 된다.

직선 \(x+y+1=0\)과 점 \(\left(2,1\right)\) 사이의 거리는 수선의 발\(B\)와 \(A\)를 잇는 선분의 길이이다.

사실 \(\frac{\mid ax_{1}+by_{1}+c\mid}{\sqrt{x_{1}^{2}+y_{1}^{2}}}\)이라는 식의 의미는 매우 특별하고, 수학적이며 아름답다. 앞서 언급한 '직선의 방정식'과 '정사영'으로 이를 해석할 수 있으며, 평면과 점 사이의 거리로도 확장 가능하다.
일반적으로 직선의 방정식 \(ax+by+c\)는 \(\overrightarrow{OP}+t\vec{u}\)로 표현된다고 했다.
이때 점과 직선 사이의 거리 공식은 \(\mid\overrightarrow{OP}-\frac{\overrightarrow{OP}\cdot\vec{u}}{\mid\vec{u}\mid}\hat{u}\mid+\mid\vec{x}-\frac{\vec{x}\cdot\vec{u}}{\mid\vec{u}\mid}\hat{u}\mid\)라는 '정사영'을 이용한 공식과 다름이 없음을 알 수 있다.

3차원 상의 두 직선 사이의 거리

이러한 직선의 방정식을 바탕으로 3차원 상의 임의의 두 직선 사이의 거리를 구할 수 있다. 앞서 말했듯이, 공간 상에서 두 직선은 4가지의 위치 관계를 가진다.
i)일치하는 경우: 당연히 거리는 \(0\)이다.
ii)한 점에서 만나는 경우: 역시 당연히 \(0\)이다.

iii) 평행한 경우: 이때부터 조금 의미가 있다. 그러나 두 직선이 평행한 것은 한 평면 내에서 생각할수 있다.
앞서 언급한 직선의 방정식을 생각해보자. 두 직선이 평행한 것은 '방향벡터'가 같다는 뜻이다. 그러나 일치하지 않으려면 지나는 점이 달라야 한다. 따라서 두 직선 \(l_{1}\),\(l_{2}\)가 지나는 점을 각각 \(P_{1}\), \(P_{2}\)라고 하자.
순차적으로 천천히 어떻게 구할지를 생각해 보자. 결국엔 한 직선의 임의의 점에서 다른 직선에 수선의 발을 내리면 된다. 이때 '수선의 발'이 키 포인트다. 이때 두 직선은 평행하므로, 방향벡터가 \(\vec{u}\)로 같다고 해보자. 그렇다면 직선 \(l_{2}\)위의 임의의 점 \(P_{2}\)에서 직선 \(l_{1}\)에 내린 수선의 발은 정사영을 이용해서, \(\overrightarrow{P_{1}P_{2}}\)라는 벡터에서 이벡터를 \(\vec{u}\) 벡터에 정사영한 벡터를 빼준 벡터의 '크기' 가 된다. 따라서 평행한 두 직선 \(\overrightarrow{OP_{1}}+t\vec{u}\)과 \(\overrightarrow{OP_{2}}+k\vec{u}\) 사이의 거리는 다음과 같다. \[\mid\overrightarrow{P_{1}P_{2}}-proj_{\vec{u}}\overrightarrow{P_{1}P_{2}}\mid\] 수식이 조금 복잡하므로, 평면 상의 그림으로 쉽게 이해할 수 있다. 아래 그림은 편이 상 평면 상의 두 직선으로 그린 것이지만, 벡터적으로 보았을 때 당연히 3차원에도 적용이 가능하다.

방향벡터\(\vec{v}=\overrightarrow{BC}\)를 갖는 두 평행한 직선 사이의 거리. 이때 두 직선은 각각 점 \(A\), \(B\)를 지나며 이를 이은 벡터 \(\overrightarrow{AB}\)를 방향벡터 \(\vec{v}\)에 정사영한 \(proj_{\vec{v}}\vec{u}\)=\(\vec{w}\)=\(\overrightarrow{BD}\)가 있다. 이때 \(\mid\vec{u}-\vec{w}\mid=\mid\vec{a}\mid\)가 평행한 두 직선 사이의 거리가 된다. 

iv)꼬인 위치: 최종 목표는 임의의 두 직선 사이의 거리를 구하는 것, 즉 꼬인 위치에 있어도 거리를 구할 수 있어야 한다. 앞서 한 방법과 매우 유사하다. '정사영'을 이용하면 된다. 그런데 정사영을 해야하는 벡터를 어떻게 잡으면 좋을지 고민을 해야한다. 지금까지 생각한 벡터연산은 오직 '내적'(dot product)밖에 없었다. 그러나, 수선의 발을 내려서 정사영을 했다면 그 선분은 두 직선과 모두 수직인 선분이 된다. 그 선분의 길이만큼의 크기를 갖는 벡터라고 생각할수 있다. 그 벡터는 두 직선의 방향벡터와 동시에 수직이기 때문에 두 방향벡터가 생성하는 평면의 법선벡터, 즉 '외적'(cross product)으로 생성된 벡터가 될것이다.
따라서 그래도 적용하고, 두 방향벡터의 외적을 통해 얻은 평면의 법선벡터에 사영시키기만 하면 된다. 왜냐하면 평행한 직선에서는 두 방향벡터가 일치하기 때문에 외적하면 \(O\)이 되어 그 크기가 분모에 들어갈 수 없었다. 따라서 '벡터의 뺄셈'을 통해서 연산했지만, 외적벡터의 크기가 \(0\)이 아니면 분모로 들어갈 수 있으므로 그냥 사영해주면 된다.
따라서 평행하지 않은 두 직선 \(\overrightarrow{OP_{1}}+t\vec{u_{1}}\)과 \(\overrightarrow{OP_{2}}+k\vec{u_{2}}\) 사이의 거리는 다음과 같다. \[\mid proj_{\vec{u_{1}}\times\vec{u_{2}}}\overrightarrow{P_{1}P_{2}}\mid\]

'거리'에 대한 개념

고등학교 수학에서 배우는 거리, 길이 등에 대한 것은 결국 '벡터'의 크기이다. 모든 기하적 도형이나, 어떤 공간의 원소는 '벡터공간의 원소'인 '벡터'에 대한 해석으로 받아들일 수 있다. 직선 뿐만 아니라 평면 간의 거리, 곡선 간의 거리, 더 나아가 입체도형의 무게중심간의 거리, 곡면 사이에서의 거리 등 비유클리드 기하학까지 확장 가능하다. 이를 더 파헤치면 '사영기하학'으로도 접근할 수 있다. 기하학의 세계는 무궁무진하다.

문동재

하나고등학교 9기

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.