본문 바로가기
Mathematics/선형대수

(선형대수학) 2.5-(1) Example: Projection

by 피그티 2018. 7. 21.

일반물리의 초반에 나오는 포물선 운동에서 물체의 속도를 x축 방향과 y축 방향으로 분리하여 분석하는데, 이 때 2차원 벡터인 속도를 이용해 1차원 벡터인 x방향 속도 또는 y방향 속도를 얻는 방법을 projection이하고 한다. 경사면에서 물체에 작용하는 힘으로부터 경사면에 수평인 방향의 성분만 얻어내는 것도 역시 projection이다. 이번 페이지에서는 projection에 대해서 살펴본다.

 

 

The transformation P is the projection onto the line m.

By No machine-readable author provided. Jitse Niesen assumed (based on copyright claims). [Public domain], via Wikimedia Commons

 

 

좌표축으로의 Projection

 

2차원 공간 \(\mathbb{R}^2\)에 다음과 같이 작용하는 operator \(P_x\), \(P_y\)를 생각해보자.

$$ P_x(a,b)=(a,0) $$

$$ P_y(a,b)=(0,b) $$

vector \((a,b)+(c,d)\)에 \(P_x\)를 작용하면,

$$ P_x((a,b)+(c,d))=P_x(a+c,b+d)=(a+c,0)=(a,0)+(c,0)=P_x(a,b)+P_x(c,d) $$

이므로 \(P_x\)는 linear operator임을 알수가 있다. 같은 방식으로 \(P_y\)도 linear operator이다. \(P_x\)를 x축으로의 projection, \(P_y\)를 y축으로의 projection이라고 부른다.

 

\(P_x\)에 대한 matrix representation을 얻기위해 standard basis를 projection하면,

$$ P_x(1,0)=(1,0) $$

$$ P_x(0,1)=(0,1) $$

따라서 \(P_x\)의 matrix representation은

$$ [P_x]=\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} $$

이다. 같은 방식으로

$$ [P_y]=\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix} $$

를 얻는다.

 

 

경사면으로의 Projection

 

Projection의 결과가 vector가 되도록 하기 위해 경사면은 원점을 지나는 직선으로 생각하자. 보통 함수에서는 원점을 지나는 직선을 \(y=kx\)와 같은 형태로 표현할 수 있지만, 미적분학에서 배운바와 같이 벡터를 이용해 이와 동일한 직선을 나타낼 수 있다. 일단 vector \(\mathbf{a}\)를

$$ \mathbf{a}=(1,k) $$

라고 하자. 이제 함수 \(l:(-\infty,\infty)\to \mathbb{R}^2\)을 다음과 같이 정의한다.

$$ l(t)=t\mathbf{a}=(t,kt) $$

매개변수 \(t\)에 대하여 \(l\)의 점들을 그려보면 정확히 기울기를 \(k\)로 하는 원점을 지나는 직선이 된다. 사실 \(y=kx\)라는 표현은 좌표평면 상에서 그 식을 만족하는 점들의 집합, 즉

$$ \{~(x,y)~|~y=kx~\} $$

를 의미하기 때문에 vector 표현, 집합 표현, 함수 표현은 모두 원점을 지나는 기울기 \(k\)인 직선을 의미한다. \mathbf{a}에 상수 \(\frac{1}{\sqrt{1+k^2}}\)을 곱한 vector를 이용해도 같은 직선을 얻는다. 이 vector를 다시 새롭게 \(\mathbf{a}\)로 정의하자.

$$ \mathbf{a}=(\frac{1}{\sqrt{1+k^2}},\frac{k}{\sqrt{1+k^2}}) $$

 

임의의 vector \(\mathbf{v}=(v_x,v_y)\)의 경사면 \(l\)로의 projection을 그래프로 그리면 다음과 같다.

 

-Picture-

 

\(v_p\)를 구하기 위해서는 \(\mathbf{v}\)와 \(l\) 사이의 \(\cos\theta\)를 구하는 것이 핵심이 되는데, 이는 고등학교때 배운 내적을 이용해서 해결할 수 있다.

$$ \mathbf{v} \cdot \mathbf{a}=|v||a|\cos\theta $$

이 때 \(|a|=1\)이므로 \(|v|\cos\theta=\mathbf{v}\cdot\mathbf{a}\)가 된다. 따라서 경사면으로의 projection을 \(P\)라고 하면,

$$  P(x,y)=\frac{x+ky}{\sqrt{1+k^2}}\mathbf{a}=(\frac{x+ky}{1+k^2},\frac{kx+k^2y}{1+k^2}) $$

이 되고 \(P\)의 matrix representation은
$$ [P]=\begin{bmatrix} \frac{1}{1+k^2} & \frac{k}{1+k^2} \\ \frac{k}{1+k^2} & \frac{k^2}{1+k^2} \end{bmatrix} $$

가 된다.

 

 

3차원에서의 Projection

 

3차원에서의 일반적인 projection은 조금 더 복잡하다. 직선으로의 projection은 2차원에서의 경우와 비슷하게 매개변수에 곱해지는 vector를 구해 내적을 이용할 수 있다. 그러나 평면으로의 projection의 경우, 하나의 평면은 미적분학에서 배웠듯이 2개의 vector로 표현되며 2개의 vector를 선택하는 방법도 무수히 많다. 평면으로의 projection을 쉽게 구하기 위해서 기하학적인 특성과 내적을 이용하는 것이 이해하기 쉽기때문에 이후에 소개될 Gram-Schmidt process를 이용하여 2개의 vector를 서로 직각인 unit vector \(\mathbf{a}\), \(\mathbf{b}\)로 잡으면, projection은

$$ P\mathbf{v}=(\mathbf{v}\cdot\mathbf{a})\mathbf{a}+(\mathbf{v}\cdot\mathbf{b})\mathbf{b} $$

가 된다. 예를 들어, vector \((x,y,z)\)를 \(xy\)-평면에 projection하면

$$ P(x,y,z)=[(x,y,z)\cdot (1,0,0)](1,0,0)+[(x,y,z)\cdot (0,1,0)](0,1,0)=(x,y,0) $$

가 된다.

 

 

Projection Operator

 

Projection은 의미상 이미 projection된 vector에 다시 작용해도 변화를 가져오지 않는다. 즉, 모든 vector \(\mathbf{v}\)에 대하여

$$ P^2\mathbf{v}=P(P\mathbf{v})=P\mathbf{v} $$

를 만족한다. (위에서 구한 행렬들로도 직접 확인할 수 있음) 이를 일반화하여, Euclidean space가 아니더라도 projection을 정의할 수 있다.

 

DEFINITION            Projection

 

Vector \(V\)에 대하여, linear operator \(P\)가

$$ P^2=P $$

이면, \(P\)를 projection이라고 부른다.

 

위의 정의를 만족하는 operator가 반드시 지금까지 분석했던 것처럼 "vector를 성분으로 분해"하는 것은 아니다. 예를 들어 3차원 공간 \(\mathbf{R}^3\)에서

$$ P(x,y,z)=(x+\frac{z\cos\theta}{2},y+\frac{z\sin\theta}{2},0) $$

또는

$$ [P]=\begin{bmatrix} 1 & 0 & \frac{\cos\theta}{2} \\ 0 & 1 & \frac{\sin\theta}{2} \\ 0 & 0 & 0 \end{bmatrix} $$

를 살펴보자. 정의로부터 \(P\)도 projection임을 쉽게 알 수 있다. 그리고 projection의 결과 vector는 xy평면의 vector가 된다는 것도 알 수 있다.

 

사실 이 projection은 3차원 물체를 원근감등을 이용하여 2차원 평면에 그리는 방법이다. 우리가 3차원 그래프를 그릴때, 좌표축을 종이에 그리는 방식이기도 하다. 예를 들어 \((1,0,0)\), \((0,1,0)\), \((0,0,1)\) 세 vector를 \(\theta =210^\circ\)에서 변환하고 이를 종이에 그려보면 아래와 같은 종류의 축을 얻게 된다.

 

By SharkD [CC BY-SA 3.0  (https://creativecommons.org/licenses/by-sa/3.0) or GFDL (http://www.gnu.org/copyleft/fdl.html)], from Wikimedia Commons

 

이러한 projection을 oblique projection이라고 하고, 우리가 처음에 분석했던 vector의 성분으로 분해하는 projection을 orthogonal projection이라고 부른다.