벡터 연산

2022. 8. 21. 19:12Public/Math

두 개의 벡터 

와 상수 c 가 있다고 할 때 다음과 같은 연산들을 정의할 수 있다.

 

 

1.덧셈(addition)

 

2. 스칼라 곱셈(scalar multiplication)

 

3. 내적(dot product) *******

 

4. 외적(cross product)

 

뺄셈은 덧셈과 스칼라 곱셈의 조합으로 나타낼 수 있으며 , 나눗셈 역시 마찬가지이므로 별도로 정의하지 않는다. 이들 연산 중에서 우리에게 중요한 것은 내적과 외적이다.

내적은 일반적으로 두 벡터 사이의 각이 90도 이상인가를 판단하는 중요한 값이다. cos의 그래프를 생각하면 알기 쉽겠지만 cos은 0가 90도 사이, 그리고 270도와 360도 사이에서만 양(plus)의 값을 갖는다. 이 성질을 이용하여 인간의 눈에 해당하는 eye - 벡터와 물체의 면과 직교하는 법선벡터(face-normal vector)와의 내적값을 구하여 그 값이 양수일 경우에만 화면에 표시하는 은면제거(backface-culling)에 사용된다.

 

특히 내적 연산은 3D 그래픽 전반에 걸쳐서 가장 빈번하게 사용되는 유용한 연산이므로 수식자체를 통째로 암기해 두기 바란다. 외적 연산은 수식을 외울 필요 없이 필요할 때 함수 호출만 사용해도 되지만 내적은 결코 그렇지 않다. 후에 HLSL이나 cg 등을 사용해서 정점 셰이더와 픽셀 셰이더를 프로그래밍할 때 반드시 내적 연산이 필요하게 된다. 내적은 연산 자체의 정의도 유용하거니와 연산의 결과 또한 중요하다는 것을 결코 잊지 말기 바란다.

 

'Public > Math' 카테고리의 다른 글

[벡터]길이와 단위벡터  (1) 2022.11.06
행렬식  (0) 2022.10.10
행렬의 전치  (0) 2022.10.06
행렬 곱셈  (0) 2022.10.06
행렬  (0) 2022.10.04