내적과 직교 투영
점곱(dot product)이라고도 부르는 내적(inner product)은 스칼라값을 내는 벡터 곱셈의 일종이다.
u = (ux, uy, uz)이고, v = (vx, vy, vz)라고 했을때, 내적은 다음과 같이 정의된다.
u · v = uxvx + uyvy + uzvz
다른 말로하면 "내적은 대응되는 성분들의 곱들의 합" 이다.
내적의 기하학적 의미는 코사인 법칙을 적용해보면 알수 있다.
u · v = ||u|| ||v|| cosθ
θ는 두 벡터 u, v 사이의 0≤θ≤π를 만족하는 각도이다. 따라서 위 식은 두 벡터의 내적이 두 벡터 사이의 각도의 코사인을 벡터 크기로 비례한 것임을 뜻한다. 특히 u,v 둘다 단위 벡터일 때 경우 u · v는 두벡터 사이의 각도의 코사인이다. 이를 통해 내적의 유용한 기하학적 속성 몇가지를 이끌어낼 수 있다.
1. u · v = 0 이면, u ⊥ v 이다. (두 벡터는 수직이다.)
2. u · v > 0 이면, 두 벡터 사이의 각도 θ는 90도보다 작다. (두 벡터는 예각을 이룬다.)
3. u · v < 0 이면, 두 벡터 사이의 각도 θ는 90도보다 크다. (두 벡터는 둔각을 이룬다.)
그리고 또한 내적을 이용하여 구할 수 있는 아주 중요한 기하학적 개념이 더있다.
바로 직교 투영이다.
위의 그림에서 벡터 v와 단위 벡터 n이 주어졌을 때 p를 내적을 이용해서 v와 n으로 표현해보자.
우선 그림을 보면 p = kn을 만족하는 스칼라 k가 존재함을 알 수 있다.
더 나아가, ||n||은 1이므로, 반드시 ||p|| = ||kn|| = |k| ||n|| = |k| 이다.
삼각함수 법칙을 적용하면
cosθ = k / ||v||
k = ||v|| cosθ 가 나온다.
따라서 p = kn = (||v|| cosθ) n이다. 그런데 n은 단위 벡터 이므로,
p = (||v|| cosθ) n = (||v|| * 1 * cosθ) n = (||v|| ||n|| cosθ) n = (v · n) n
이 공식에 따르면 k = v · n 이다. 이는 n이 단위벡터일 때 v· n의 기하학적 의미를 말해준다.
이러한 p를 n에 대한 v의 직교투영(orthographic projection; 또는 정사영)이라고 부르며, 흔히 다음과 같이 표기 한다.
P = projn(v)
v벡터를 하나의 힘으로 간주 한다면 p는 힘v 중에서 n방향으로 작용하는 부분이라고 이해하면 쉽다.
이와 비슷하게, 벡터w = prepn(v) = v - p는 힘v 중에서 n의 수직 방향으로 작용하는 부분이다.(prep는 perpendicular[수직]를 뜻한다.)
여기서 v = p + w임을 주목해야 한다. 즉, v는 두 직교 벡터 p와 w의 합으로 분해된다.
n이 단위 벡터가 아니면 먼저 n을 정규화 한다음 투영공식을 대입하면된다. 이로써 좀더 일반적인 투영공식이 나온다.
p = projn(v) = (v · n/||n||) * n/||n|| = (v · n)/||n||2 * n