[DX] 벡터와 행렬의 곱

김진우·2025년 6월 22일

DirectX

목록 보기
2/32
post-thumbnail

벡터

정의

벡터(Vector)는 방향과 크기를 가진 수학적 개체로, 보통 1차원 배열처럼 표현된다.

열 벡터 (3차원):
v =
[x][y]
[z]

행 벡터:
vᵀ = [x, y, z]

곱셈 가능 조건 (행렬 x 벡터)

행렬 A × 벡터 v 가 가능하려면,
행렬 A의 열 수 == 벡터 v의 행 수여야 한다.

예:
행렬 A가 3×3이면, 벡터 v는 3×1이어야 곱셈 가능
결과는 3×1 벡터 (즉, 열 벡터)

행렬 A      벡터 v
[1 2 3]       [x]
[4 5 6]   x   [y]
[7 8 9]       [z]

계산 방법

곱셈 결과는 A의 각 행과 v의 내적으로 구성된다.

A × v =
[
1x + 2y + 3z
4
x + 5y + 6z
7x + 8y + 9*z
]

이 결과도 벡터이다.

의미

벡터와 행렬의 곱은 일반적으로:

  • 벡터를 다른 좌표계로 변환
  • 스케일, 회전, 이동 등 변환(transform)을 적용

특히 컴퓨터 그래픽스나 DirectX에서 이 곱셈은 다음과 같은 경우에 자주 사용된다:

  • 월드 공간으로 변환 (v' = WorldMatrix × v)
  • 뷰 공간으로 변환 (v' = ViewMatrix × v)
  • 투영 변환 (v' = ProjectionMatrix × v)

이 모든 변환은 결국 행렬 × 벡터 형태로 이루어진다.

0개의 댓글