벡터는 컴퓨터 그래픽과 기하학에서 모두 중요한 내용입니다. 우선 벡터가 무엇인지 알아보도록 하겠습니다. 어떤 사람이 앞으로 걸어가고 있습니다. 그 사람의 위치는 시간이 지나면 변하게 됩니다. 이때 사람이 움직이는 방향이 바로 벡터입니다. 즉 벡터는 방향성분을 표현하는 단위입니다. 좀 더 정확히 설명하면 벡터는 크기방향을 가지는 성분이라고 할 수 있습니다. 

그렇다면 수학적으로 벡터를 어떻게 표현하는지 알아보도록 하겠습니다. 벡터는 V(x, y, z) 라고 표현할 수 있습니다. 3차원 공간에서는 x, y, z축 3가지가 있기 때문에 벡터를 V(x, y, z)로 표현하고 2차원 평면에서 벡터를 표현하면 V(x, y)가 됩니다. 

그리고 벡터의 크기는 Root(x^2 + y^2 + z^2) 로 표현할 수 있습니다. 뭐 여기까지는 고등교육을 이수한 사람이라면 쉽게 알 수 있는 내용이고 꼭 그렇지 않더라도 쉽게 이해가 가는 내용입니다.

이번 포스팅의 주제가 내적과 외적인데요. 각각 기하학적으로 어떤 의미가 있고 어떻게 활용되는지 알아보고 구하는 계산방법도 알아보도록 하겠습니다.

1. 내적 (Inner Product)

내적은 두 벡터의 곱이라고 생각할 수 있습니다. 그래서 Dot Product라고 부르고, 수학적으로 · 이란 기호를 사용합니다. 벡터 A와 벡터 B의 내적은 A · B 로 표현할 수 있습니다.  이를 좀 더 풀어서 표현하면 · B = |A| |B| Cosθ 로 표현이 가능합니다. 여기서 |A| 는 벡터 A의 크기이고 θ는 벡터 A, B 사이에 이루는 각도입니다.

여기서 |A|Cosθ는 벡터 B와 평행하고 벡터 A에서 벡터 B로 수직으로 그은 삼각형의 밑변이 됩니다. 따라서 여기에 |B|를 곱하면 내적이 되는 것입니다. 

일반적으로 벡터는 2차원이나 3차원에서만 해당되는 이야기가 아닙니다. 차원이 올라가서 n 차원이 되더라도 유클리드 공간에서는 성립하는 공식이 됩니다. 이제 공식과 같이 기억을 하고 있으면 좋은 것이 있는데요. 두 벡터가 수직일때 내적은 계산하나마나 0 이 된다 입니다. 그 이유는 Cosθ 가 θ 가 90인 경우 0이기 때문입니다. 

2. 외적 (Cross Product)

외적은 두 벡터의 수직인 벡터를 구하는 방법입니다. 기호로 x 를 사용하고 A x B 로 표현합니다. 일반적으로 외적 혹은 cross product라고 불리는데요. A x B 를 하면 두 벡터에 수직인 새로운 벡터 C가 나오기 때문에 수학적으로 표현하면 A x B = C 가 됩니다.

여기서 벡터 A의 성분을 A = V(u1, u2, u3) 라고 하고 벡터 B의 성분을 B = V(v1, v2, v3)라고 하면 아래와 같이 표현할 수 있습니다.

A x B = V(u1, u2, u3) x V(v1, v2, v3) = C ((u2 * v3) - (v1 * u2), (v1 * u3) - (u1 * v3), (u1 * v2) - (v1 & u2)) 가 됩니다. 

X 성분은  (u2 * v3) - (v1 * u2) 이고,

Y 성분은 (v1 * u3) - (u1 * v3) 이고,

Z 성분은 (u1 * v2) - (v1 & u2) 입니다.

기하학적으로 벡터 C의 크기는 벡터 A와 벡터 B로 만든 사각형의 넓이가 됩니다. 

 

 

+ Recent posts