선형대수(Linear Algebra)

4-11. 점과 평면 사이의 거리

frcn 2023. 2. 24. 11:22
반응형

(1) 평면 상에 있지 않은 점과 평면 사이의 거리

 

 

이전에는 평면상에 존재하는 점 혹은 법선벡터와 평면의 관계에 대해서 알아봤다.

 

이번에는 평면상에 있지 않은 점과 평면의 관계에 대해서 알아보겠다.

 

저번의 그림에서 이어지기 때문에, 그대로 활용하였다.

 

평면상에 존재하지 않는 점 (x0, y0, z0)가 있다.

 

위치벡터로 표현하면 x0i+y0j+z0k 의 식을 가지게 된다.

 

이 점과 평면 사이의 거리를 구해보도록 하자.

 

일반적으로 거리를 구한다고 할 때는 보통 최단거리를 의미하는 것이다.

 

평면에 수직할 때 최단거리를 구할 수 있다.

 

평면상에 존재하는 점 (xp, yp, zp)와 (x0, y0, z0) 사이의 벡터를 만들어보자.

 

평면상에서 시작하여 그 꼬리는 평면에 있고 평면 밖으로 벗어나는 주황색 벡터 f를 찾을 수 있다.

 

벡터 f는 노란색 위치벡터에서 초록색 위치벡터를 뺀 것과 같다.

그러므로 이 벡터 f = (x0-xp)i+(y0-yp)j+(zo-zp)k 의 식이 된다.

 

우리가 구하고 싶은 것은 하늘색 선의 길이(거리)이다.

 

벡터 f와 d가 이루는 직각삼각형을 그리면, 직각 삼각형의 밑변은 평면과 맞닿아있게 된다.

 

노란색과 하늘색 선은 직각을 이루게 되며, 주황색과 파란색 선 사이의 각은 θ라고 표현할 수 있다.

 

주황색 선의 길이는 벡터 f의 크기를 알면 알 수 있다.

 

하지만 우리는 파란색의 길이를 알고 싶기 때문에, θ에 대해 삼각함수를 활용하면 길이를 구할 수 있다.

 

 

 

우리가 구하려는 길이가 d라고 할 때, cos(θ)은 인접한 면의 길이를 빗변 길이로 나눈 것과 같다.

 

cos(θ)=d / 빗변f의 길이 로 쓸 수 있다.

 

양변에 벡터 f의 크기(빗변의 길이)를 곱해주고, 좌변에 (벡터 n의 크기 / 벡터 n의 크기)를 곱해주자.

 

|n| * |f| * cos(θ) / |n| = d ... (1)

 

가 된다.

 

이 때.. 왜 n의 크기를 곱해주는지 생각해보자면, d는 평면과 수직을 이루고 있기 때문에 법선벡터 n과 분명히 같은 방향을 향하고 있다.

 

물론 d의 길이는 법선벡터의 길이와 다를 수 있지만, f 벡터와 법선 사이의 각도는 f 벡터와 d 사이의 각도와 같게 된다.

 

따라서, cos(θ)를 활용하기 위해 법선 벡터 n을 가져온 것이다.

 

(1)의 식에서 |n| * |f| * cos(θ)는 벡터 n과 f가 내적한 값과 같다.

 

따라서, n·f / |n| = d 라는 식으로 정리할 수 있다.

 

그러므로 우리가 구하려는 최단거리는 f 벡터와 법선벡터의 내적값을 법선벡터의 크기로 나눈 것과 같다.

 

평면의 방정식이 Ax + By + Cz = D 일 때,

 

n = Ai + Bj + Ck (법선 벡터는 단순히 x, y, z 항의 계수를 따오면 된다)

 

f = (x0-xp)i+(y0-yp)j+(zo-zp)k

 

n·f = Ax0-Axp+By0-Byp+Cz0-Czp

 

|n| = A²+B²+C² (법선 벡터의 크기)

 

이 성립한다.

 

따라서, d = (Ax0-Axp+By0-Byp+Cz0-Czp) / A²+B²+C²

 

(xp, yp, zp)는 평면 위에 존재하는 점이기 때문에, 평면의 방정식 Ax + By + Cz = D를 성립하는 점이다.

 

따라서, -Axp-Byp-Czp = -D 이고,

 

d = (Ax0+By0+Cz0-D) / A²+B²+C²

 

라는 꽤나 직관적인 식을 구할 수 있다.

 

예를 들어보면, 평면의 방정식은 1x-2y+3z=5 이고, 평면상에 존재하지 않는 점 (2, 3, 1)이 있다고 하자.

 

둘의 거리는 (1·2 - 2·3 + 3·1 - 5) / √(1+4+9)이다.

 

-6 / √14 

반응형