행렬이란 무엇인가?
행과 열, 덧셈, 곱셈, 단위 행렬부터 이해하기
본 블로그 작성 글들은, 강의를 목표로 하고 제작되었습니다. 또한 작성된 글의 정보도 틀렸을 수 있으니, 주의해주세요.
Matrix(행렬)는 숫자를 행과 열로 배치한 것이다. 게임 수학에서는 여러 좌표를 한꺼번에 저장하기보다, 벡터에 변환을 적용하는 도구로 자주 사용한다.
2행 3열 행렬
[ 1 2 3 ]
[ 4 5 6 ]
행렬의 덧셈
크기가 같은 행렬은 같은 위치의 원소끼리 더한다.
[ 1 2 ] + [ 5 6 ] = [ 6 8 ]
[ 3 4 ] [ 7 8 ] [ 10 12 ]
행과 열의 수가 다르면 같은 위치를 정의할 수 없으므로 더할 수 없다.
행렬의 곱셈
A가 m × n, B가 n × p일 때 A × B를 계산할 수 있고 결과는 m × p다.
[ a b ] [ e f ] [ ae + bg af + bh ]
[ c d ] [ g h ] = [ ce + dg cf + dh ]
앞 행렬의 한 행과 뒤 행렬의 한 열을 곱해서 더한다. 일반적인 숫자 곱셈과 달리 A × B와 B × A는 결과가 다르거나 한쪽만 계산 가능할 수 있다.
단위 행렬
단위 행렬은 대각선이 1이고 나머지가 0인 행렬이다.
[ 1 0 0 ]
[ 0 1 0 ]
[ 0 0 1 ]
어떤 행렬이나 벡터에 곱해도 원래 값을 유지한다. Transform을 아무것도 적용하지 않은 초기 상태로 사용할 수 있다.
행렬은 숫자 표 자체를 외우는 과목이 아니다. 여러 축의 관계와 변환을 하나의 연산으로 묶어 순서대로 적용하기 위한 표현이다.