[게임수학] 4. 행렬

2025. 9. 5. 01:35·게임수학
728x90

→ 이 글은 「이득우의 게임 수학」을 바탕으로 작성했습니다.

 

■ 선형성

행렬에 대해 얘기하기 전에, 먼저 "벡터의 선형 변환"에서 말했던 선형성(Linarity)이란 성질에 대해 살펴보자.

[스칼라 곱셈]

스칼라 곱셈은 벡터와 평행한, 원점을 지나는 직선상에 위치하고 시각적인 부분에서 직선이 지니는 성질을 선형성이라 한다.

 

이러한 "직선"의 성질을 참/거짓으로 구분하기 위해 아래와 같은 명제를 사용해 두 조건을 모두 만족하는 함수의 성질로 정의한다.

$$ f(x_1 + x_2) = f(x_1) + f(x_2) \\ f(k\cdot x) = k \cdot f(x) $$

[가법성(위)과 1차 동차성(아래)]

  • 가법성($f(x_1 + x_2) = f(x_1) + f(x_2)$) : 입력값을 더해서 얻은 출력과 각 입력값을 따로 함수에 넣어 얻은 출력들의 합이 같다.
  • 1차 동차성($f(k * x) = k * f(x)$) : 어떤 함수 f에 대해 입력을 k배 해서 넣은 결과가, 원래 함수 출력값을 k배 한 것과 같다

 

1. 선형 함수

[함수 y = ax]

입력에 사용되는 요소 $x$와 출력이 모두 실수인, 그리고 원점을 지나는 직선 함수 $f(x) = ax$를 생각할 수 있고, 출력을 $y$로 둔다면, $y = ax$로 표현할 수 있다.

  • $a$(비례 상수)는 기울기를 의미하며, 입력값 $x$가 증가할 때 $f(x)$가 얼마나 변하는지를 나타낸다.

이 함수가 가법성과 1차 동차성을 만족하는지 확인해 보자.

 

1. 가법성

$$ f(x_1 + x_2) = a(x_1+x_2) \\ f(x_1) + f(x_2) = ax_1 + ax_2 $$

a, x1, x2가 모두 체의 성질을 가지는 실수라면 분배법칙이 성립하므로, 가법성 역시 성립한다.

 

2. 1차 동차성

$$ f(k\cdot x) = a(k\cdot x) \\ k\cdot f(x) = k(a\cdot x) $$

$a,k,x$가 체의 성질을 만족하는 실수라면, 곱셈에 대한 결합, 교환 법칙을 만족하므로 가법성 역시 성립한다.

 

2. 비선형 함수

[비선형 함수]

반대로 곡선의 성질을 띄는 함수 $f(x) = x^2$는 선형성을 만족하는지 확인해 보자.

$$ f(x_1 + x_2) = (x_1 + x_2)^2 = x_1^2 + 2x_1x_2 + x^2 \\ f(x_1) + f(x_2) = x_1^2 + x_2^2 $$

위 함수는 가법성을 만족하지 않기 때문에 선형성을 만족하는 함수가 아니다.

 

[y = ax + b]

다음과 같이 원점을 지나지는 않지만, 직선의 성질을 지니고 있는 함수의 경우는 선형성을 만족하는지 확인해 보자.

$$ f(x_1 + x_2) = a(x_1 + x_2) + b \\ f(x_1) + f(x_2) = ax_1 + ax_2 + 2b $$

이 역시 계산 결과는 $b$만큼 차이가 나기 때문에 이 역시 선형성을 만족하는 함수가 아니다.

 

정리하자면 선형 함수는 꼭 "원점을 지나는 함수"여야 하고, "가법성 + 1차 동차성"을 만족해야 한다. 이는 입력과 출력이 항상 "일정한 비율"로 연결되어 있고, 더하기와 곱하기 연산을 그대로 보존하는 관계를 의미한다.

  • 그렇기에 선형성은 "예측 가능한 비례 관계"이며, 반대로 역함수 $f(x)^{-1} = \frac{1}{a}x$가 존재하여 입력값을 거꾸로 계산하는 것이 가능하다.

■ 벡터 공간의 선형 변환

[벡터 공간의 선형 변환]

벡터 공간$V$의 원소인 벡터$\vec v$를, 가법성과 1차 동차성을 만족하는 선형 변환 함수에 넣어 다른 벡터 공간 $W$로 보낸다고 생각해 보자.

 

$$ f(\vec v) = f(x,y) = f(ax+by, cx + dy) $$

  • x, y에 대해 선형성을 유지하고자 한다면, 단순 비의 형태를 사용해야 한다. (ax + z, by + w처럼 1차 결합이 깨지면 선형성은 유지되지 않음)
  • 입력 벡터에 "고정된 상수"를 곱하고 더해서 새로운 벡터를 만드므로, 이는 선형 변환이 된다.

 

그렇다면 위 함수가 선형 변환을 만족하는지 확인해 보자.

 

1. 가법성

$$ f(v_1+v_2) = (x_1+x_2, y_1+y_2)\\ = (a(x_1+ x_2) + b(y_1+y_2), c(x_1+ x_2) + d(y_1+y_2)) \\ ==============================\\ f(v_1) + f(v_2) = (ax_1+by_1, cx_1 + dy_1) + (ax_2+by_2, cx_2 + dy_2) $$

 

2. 1차 동차성

$$ k\cdot f(\vec v) = kax + kby, kcx + kdy \\ f(k\cdot \vec v) = akx + bky, ckx + dky $$

가법성과 1차 동차성을 모두 만족하므로 함수 $f(x,y) = (ax + by, cx + dy)$는 선형 변환 함수이다.

  • 표준기저벡터의 선형 결합으로 생성된 벡터 공간은 선형성의 성질을 지니고, 이 공간을 선형 함수로 변환시킨 새로운 공간도 기저 벡터의 선형 결합으로 생성되므로 선형성을 지닌다.

 

임의의 벡터를 $k$배 늘리는 작업은, 상수 $a = k, b = 0 , c = k , d= 0$을 대입한 것과 동일하다.

$$ f(\vec v) = f(x,y) = (kx, ky) $$

 

또한 임의의 벡터를 각 $\theta$만큼 회전시키는 작업은 상수 $a = \cos\theta , b = -\sin\theta, c =\sin\theta , d = \cos\theta$를 대입한 것과 동일하다.

$$ f(\vec v) = f(x,y) = (\cos\theta x - \sin \theta y, \sin\theta x + \cos\theta y) $$

 

이러한 선형 변환을 체계적으로 수행하기 위해, 선형 변환을 좌표계로 정해 수로 나타낸 결과물을 행렬(Matrix)이라 한다.


■ 행렬

$$ \begin{bmatrix} a & b & c \\ d & e & f\end{bmatrix} \\ A = \begin{bmatrix} x \\ y \end{bmatrix} B = \begin{bmatrix} x & y\end{bmatrix} $$

행렬은 사각의 형태로 행(row)과 열(col)을 맞추어 나열한 테이블을 의미한다.

  • A는 열벡터, B는 행벡터로 표현한다.

 

선형 변환$f(\vec v) = (ax + by, cx + dy)$을 표현하는 행렬은 아래와 같이 나타낸다.

$$ \begin{bmatrix} a & b\\ c &d \end{bmatrix} $$

  • 행과 열의 크기가 같은 행렬을 정방행렬(Square Matrix)이라 한다.

 

1. 행렬의 기본 연산

행렬의 기본 연산을 정리하자면, 다음과 같다.

 

A. 행렬과 행렬의 덧셈

$$ A + B = \begin{bmatrix} a & b\\ c &d \end{bmatrix} + \begin{bmatrix} e & f\\ g & h \end{bmatrix} = \begin{bmatrix} a + e & b + f \\ c + g& d + h \end{bmatrix} $$

크기가 같은 행렬의 경우에만 연산이 가능하며, 같은 위치의 원소를 더한다.

 

B. 행렬과 스칼라 곱셈

$$ k \cdot A = k \cdot \begin{bmatrix} a & b\\ c &d \end{bmatrix} = \begin{bmatrix} ka & kb\\ kc &kd \end{bmatrix} $$

행렬을 구성하는 모든 원소에 스칼라를 곱한다.

 

C. 행렬의 전치

$$ A = \begin{bmatrix} a & b & c \\d & e & f \end{bmatrix} \ \ A^T = \begin{bmatrix} a & d\\ b & e \\ c&f \end{bmatrix} $$

행렬의 전치는 첨자($T)$를 붙이며, 행과 열을 서로 바꾼다.

 

$$ \begin{bmatrix} a & b \\ c& d \end{bmatrix}^T = \begin{bmatrix} a&c\\b&d\end{bmatrix} $$

정방 행렬의 전치는 대각 성분을 중심으로 대칭된 행렬을 만든다.

 

2. 행렬의 곱셈

행렬의 곱셈은 앞에 위치한 행백터의 요소와, 뒤에 위치한 열벡터의 요소를 곱하는 방식으로 계산된다.

$$ \begin{bmatrix} a & b \\ c& d \end{bmatrix} \cdot \begin{bmatrix} e & f \\g & h \end{bmatrix} = \begin{bmatrix} ae + bg & af + bh \\ ce + dg & cf + dh\end{bmatrix} $$

  • 행렬은 교환법칙은 성립하지 않지만(AB에선 A의 행과 B의 열이 만나지만, BA에선 B의 행과 A의 열이 만남), 결합법칙은 만족한다.

 

또 하나의 특징으론 두 행렬을 곱해 전치한 결과는, 연산 순서를 바꾼 뒤 두 행렬을 전치해 곱한 결과와 같다.

$$ (A\cdot B)^T = \begin{bmatrix} ae + bg & af + bh \\ ce + dg & cf + dh\end{bmatrix} ^T = \begin{bmatrix} ae + bg & ce + dg\\ af + bh & cf + dh\end{bmatrix} $$

$$ B^T\cdot A^T = \begin{bmatrix} e & g \\ f& h\end{bmatrix} \cdot \begin{bmatrix} a & c\\ b& d\end{bmatrix} = \begin{bmatrix} ea + gb & ec + gd \\ fa + hb & fc + hd \end{bmatrix} \\ \\ \therefore (A\cdot B)^T = B^T\cdot A^T $$

 

$a,b,c,d$로 구성된 정방행렬과, 2차원 벡터$(x,y)$를 열벡터로 설정한 두 행렬의 곱셈은 다음과 같이 표현된다.

$$ \begin{bmatrix} a & b\\ c&d\end{bmatrix} \cdot \begin{bmatrix} x \\ y\end{bmatrix} = \begin{bmatrix}ax + by \\ cx + dy \end{bmatrix} $$

  • 즉 $2X2$정방행렬은 2차원 공간의 선형 변환 함수를 의미하고 함수$f(x,y) = (ax + by, cx + dy)$는 2차원 벡터에 선형 변환을 적용해 새로운 벡터를 생성하는 작업이다.

 

3. 정방행렬의 곱셈

$2X2$ 정방행렬 간 곱셈은 합성함수에 대응되는 연산이다.

$$ B \cdot A \cdot \vec v $$

  • 합성 함수는 결합법칙을 만족한다. 따라서 $(B\cdot A)\cdot \vec v = B\cdot (A\cdot \vec v)$

 

이러한 합성 함수의 결합 법칙으로 인하여 연산량을 줄일 수 있다. 만약 5번의 변환 과정을 100번 수행한다 하면,

$$ E\cdot D\cdot C\cdot B\cdot A\cdot \vec {v_{100}} $$

 

각 점마다 5번의 연산을 수행하므로, 총 연산 횟수는 500번이다.하지만, $E\cdot D\cdot C\cdot B\cdot A$를 하나의 합성 함수 $F$로 만든다면,

$$ F \cdot \vec {v_{100}} $$

처음 합성함수를 만들기 위한 4번의 연산과 이후 100번의 연산으로 총 104번의 연산을 진행한다.

 

 

▶ 열 기준 행렬과 행 기준 행렬

수학에서 행렬을 다룰 때는 벡터를 열벡터로 나타내는 열 기준 행렬 방식을 주로 사용한다.

$$ \begin{bmatrix} a & b\\ c&d\end{bmatrix} \cdot \begin{bmatrix} x \\ y\end{bmatrix} $$

 

하지만 컴퓨터에서 행렬을 응용할 때는, 행 기준 행렬을 사용하는 경우도 존재한다.

  • 이 경우 아래처럼 열 기준 행렬과 연산 순서를 바꾸고, 정방 행렬을 전치해야 동일한 결과가 나온다.

$$ \begin{bmatrix} a & b\\ c&d\end{bmatrix} \cdot \begin{bmatrix} x \\ y\end{bmatrix} = \begin{bmatrix} ax + by \\ cx + dy\end{bmatrix} \\ ==========================\\ \begin{bmatrix} x & y \end{bmatrix} \cdot \begin{bmatrix}a & c \\ b & d \end{bmatrix} = \begin{bmatrix} ax + by & cx + dy\end{bmatrix} $$

  • 열 기준 행렬 : OpenGL, Unity
  • 행 기준 행렬 : DirectX, Unreal

열 기준 행렬을 사용하던, 행 기준 행렬을 사용하던, 전치 관계의 차이만 있을 뿐이다.

  • 열벡터 행렬을 전치한 결과는 행벡터가 되고, 행벡터의 계산 순서는 열벡터와 달리 순방향으로 진행된다.

■ 행렬의 설계

[표쥰기저벡터 선형 변환]

평면상의 물체를 원하는 형태로 변환하기 위해 선형 변환 행렬을 설계해 보자. 

위처럼 표준기저벡터가 각각 선형 변환을 통해 $(a,c),(b,d)$에 대응되어 변환된다면,

 

[선형 변환]

$$ \vec w = x(a,c) + y(b,d) = (ax+by, cx+ dy) \\ \begin{bmatrix} a & b \\ c& d\end{bmatrix} \cdot \begin{bmatrix} x \\ y\end{bmatrix} = \begin{bmatrix} ax + by \\ cx + dy\end{bmatrix} $$

벡터 $\vec v$를 선형 변환하여 벡터 $\vec w$를 만드는 수식은 위와 같이 정리된다.

 

그래서 "선형 변환"을 행렬로 나타내면, 그 행렬은 결국 "기저벡터들을 어디로 보낼지"를 담고 있는 열벡터들의 모음이다.

 

1. 크기 변환행렬

$$ S = \begin{bmatrix} a & 0 \\ 0 & b\end{bmatrix} $$

크기 변환행렬은 표준기저벡터를 동일한 방향으로 지정된 크기만큼 늘린 변환을 의미한다.

  • $e_1$을 $a$배 늘리거나 줄인다. $a(1,0) = (a,0)$
  • $e_2$를 $b$배 늘리거나 줄인다. $b(0,1) = (0,b)$

 

2. 회전 변환행렬

90도 회전에 대한 변환행렬을 살펴보면, 양(+) 방향 회전과 음(-) 방향 회전이 존재한다.

 

     2-1. 표준기저벡터를 90도 회전하면

$$ e_1 = (0,1) \ \ \ e_2 = (-1,0) \\ R_{\frac{\pi}{2}} = \begin{bmatrix} 0 & -1 \\ 1 & 0\end{bmatrix} $$

 

      2-2. 표준기저벡터를 -90도 회전하면

$$ e_1 = (0,-1) \ \ \ e_2 = (1,0) \\ R_{-\frac{\pi}{2}} = \begin{bmatrix} 0 & 1 \\ -1 & 0\end{bmatrix} $$

▶ 벡터의 90도 회전은 반시계방향 회전이고, 회전 결과는 요소를 바꾼 뒤, 앞 요소에 음수를 부여한다.

▶ 벡터의 -90도 회전은 시계방향 회전이고, 회전 결과는 요소를 바꾼 뒤, 뒷 요소에 음수를 부여한다.

 

      3. 표준기저벡터를 $\theta$회전하면

$$ e_1 = (\cos\theta,\sin\theta) \ \ \ e_2 = (-\sin\theta,\cos \theta) \\ R_{\theta} = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{bmatrix} $$

 

 

3. 전단 변환행렬

표준기저벡터의 한 축을 고정한 채, 다른 기저벡터를 $x$축 방향으로 $a$만큼 움직이는 변환행렬을 의미한다.

$$ e_1 = (1,0) \ \ \ e_2 = (a,1) \\ S = \begin{bmatrix} 1 & a \\ 0 & 1\end{bmatrix} $$


■ 삼각함수의 덧셈(회전 변환의 합성)

[순서대로 두 번 회전한 벡터]

임의의 벡터(v)에 대해 먼저 각도 a만큼 회전시키고 다시 각도 b만큼 회전시키는 것은 한 번에 각도(a + b)만큼 회전시키는 것과 동일하다(이는 증명할 필요가 없는 명제).

 

그렇다면 여기서 "삼각함수 덧셈 공식"유도가 가능하다.

 

각 $a$에 대한 회전변환행렬을 $R_a$, 각 $b$에 대한 회전변환행렬을 $R_b$로, 각 $a+b$에 대한 회전변환행렬을 $R_{(a+b)}$로 나타내면 아래와 같다.

$$ R_a = \begin{bmatrix} \cos a & -\sin a \\ \sin a & \cos a\end{bmatrix} \\ R_b = \begin{bmatrix} \cos b & -\sin b \\ \sin b & \cos b\end{bmatrix} \\ R_{a + b} = \begin{bmatrix} \cos (a +b) & -\sin (a+b) \\ \sin (a+b) & \cos (a+b)\end{bmatrix} $$

 

각 $a +b$의 회전 변환은 각$a$의 변환을 수행한 뒤, 각 $b$의 회전을 수행하는 것과 동일하므로, 아래와 같이 행렬 곱으로 나타낼 수 있다.

$$ R_b \cdot R_a = \begin{bmatrix} \cos b & -\sin b \\ \sin b & \cos b\end{bmatrix} \cdot \begin{bmatrix} \cos a & -\sin a \\ \sin a & \cos a\end{bmatrix} $$

$$ \begin{bmatrix}\cos a \cos b - \sin a \sin b & -(\cos b \sin a + \sin b \cos a)) \\ \cos a\sin b + \sin a \cos b & \cos a \cos b - \sin a \sin b \end{bmatrix} $$

 

즉, $R_{(a + b)} = R_b \cdot R_a$이니 $\cos (a +b) = \cos a \cos b - \sin a \sin b$로 유도된다는 것을 확인할 수 있다.

$$ \cos(\alpha + \beta) = \cos\alpha\cos\beta-\sin\alpha\sin\beta \\ \sin(\alpha+\beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta $$

 

▶ $R_{(a + b)} = R_b \circ R_a$ 에 대해

선형 변환 $T$는 항상 $T(\vec v) = A(\vec v)$꼴로 표현할 수 있다.

  • 여기서 A는 $m \times n$ 행렬이다.

 

우리는 어떠한 선형 변환 함수를 쉽게 계산하기 위해 행렬이라는 것을 사용했다. 예를 들어 두 선형 변환이 있다고 해보자.

$$ T_1(\vec v) = A\vec v \ \ \ \ \ T_2(\vec v) = B\vec v $$

▼ 두 함수를 합성한다면,

$$ (T_2\circ T_1)(\vec v) = T_2(T_1(\vec v)) = B(A\vec v) $$

▼ 괄호를 묶으면,

$$ (BA)\vec v $$

따라서 합성 변환 $(T_2\circ T_1)$는 하나의 행렬 $BA$로 표현이 가능하고, 이 $BA$라는 게 바로 “행렬곱”의 정의 그 자체이다.

 

즉, 행렬곱은 “선형 변환의 합성”을 정확하게 반영하도록 정의된 연산이다. 그리고 행렬곱 = 합성함수라는 말은 “선형 변환”에 국한된 얘기이다.

  • 행렬이란 본질적으로 $T(\vec v) = A\vec v$꼴의 “선형 함수”만 표현할 수 있기 때문.

 

그렇다면 회전 → 회전 변환 행렬이 아닌, 스케일 → 회전도 동일하게 표현할 수 있을까? 예를 들어

$$ A = \begin{bmatrix} 2 & 0 \\ 0&1 \end{bmatrix} $$

[x축 2배 스케일 조정]

 

$$ B = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} $$

[90도 회전]

 

이라 한다면 $T_1(\vec v) = A\vec v$(늘리기)와 $T_2(\vec v) = B\vec v$(회전)으로 표현이 가능하다. 마지막으로 합성하면 $T_2(T_1(\vec v)) = (BA)\vec v$가 된다.

 

즉, “먼저 스케일, 그다음에 회전을 한 번에 표현한다면 $BA$라는 새로운 행렬이 되는 거다.

  • 단, 이동은 “선형 변환”이 아니다. 그래서 이동→회전 같은 것은 선형 변환 행렬만으로는 합칠 수 없다. 나중에 배울 동차 좌표를 사용해야 하나의 행렬곱으로 합성이 가능하다.

■ 역행렬

행렬은 본질적으로 함수의 성질을 지니기 때문에, 항등행렬(동일한 공간으로 유지)과 역행렬이 존재한다.

$$ I = \begin{bmatrix} 1 & 0 \\ 0 & 1\end{bmatrix} $$

  • 또한, 어떤 행렬 곱의 결과가 항등행렬이 나온다면, 그 행렬은 역행렬이라 부른다.

$$ A\cdot A^{-1} = A^{-1} \cdot A = I $$

 

1. 행렬식

행렬도 함수이므로, 전단사 대응될 때만 역함수가 존재하며 이를 판단하기 위한 수식을 행렬식이라 한다.

$$ A = \begin{bmatrix} a & b\\ c&d\end{bmatrix} \\ \det(A) = ad - bc $$

 

[행렬식]

두 표준기저벡터가 형성하는 정사각형 넓이는 1이고, 행렬에 의해 변환되며 평행사변형으로 바뀌고 넓이도 바뀐다.

 

전체 사각형 넓이에서 삼각형과 사각형 영역을 제외한 평행사변형의 넓이를 구하는 공식이 바로 행렬식 $ad-bc$ 이다.

 

이 행렬식의 값이 0이면, 평행사변형이 소멸되어 모든 요소는 1차원 위에 놓이게 되고 더 이상 2차원으로 돌아갈 수 없다.

→ 또한 행렬식의 부호를 통해 변환된 결과가 뒤집혔는지 확인 가능하다.

 

2. 크기 변환행렬의 역행렬

$$ S = \begin{bmatrix} a & 0 \\ 0 & b\end{bmatrix} \\ S^{-1} = \begin{bmatrix} \frac{1}{a} & 0 \\ 0 & \frac{1}{b}\end{bmatrix}
$$

크기 변환에 사용된 두 원소의 역수를 통해 크기 변환행렬의 역행렬을 구할 수 있다.

  • 전단 변환행렬도 동일하다.

$$ S = \begin{bmatrix} 1 & a \\ 0 & 1\end{bmatrix} \\ S^{-1} = \begin{bmatrix} 1 & \frac{1}a \\ 0 & 1\end{bmatrix}
$$

 

3. 회전 변환행렬의 역행렬

$\cos$ 함수와 $\sin$ 함수는 다음과 같은 성질을 지니고 있었다.

$$ \cos(\theta) = \cos(-\theta) \\ -\sin(\theta) = \sin(-\theta) $$

 

따라서 이를 회전변환행렬에 적용시키면, 다음과 같이 역행렬을 구할 수 있다.

$$ R_{\theta} = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{bmatrix} \\ R_{\theta}^{-1} = R_{\theta} = \begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta\end{bmatrix} $$

  • 회전변환행렬의 역행렬은 전치 행렬과 동일하다. $R_{\theta}^{-1} = R_{\theta}^{T}$

 

4. 행렬 곱의 역행렬

합성함수는 역함수에 대해 $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$이 성립된다.

  • 즉 합성함수의 역함수는 $g$를 먼저 되돌리고 $f$를 그 뒤에 되돌린다.

합성함수에 해당하는 행렬 곱도 위와 같은 수식( $(A \circ B)^{-1} = A^{-1} \circ B^{-1}$ )이 성립되는데 만약, 역행렬이 존재하는 두 행렬을 곱한 행렬$A\cdot B =C$라고 가정해 보면

 

$$ C \cdot C^{-1} = I $$

  • 어떤 함수와 그 함수의 역함수의 합성 결과는 항상 항등함수.

 

$$ (A\cdot B)\cdot (A\cdot B)^{-1} = I \\ A^{-1}\cdot (A\cdot B)\cdot (A\cdot B)^{-1} = A^{-1} $$

위 식$C \cdot C^{-1} = I$에 $(A\cdot B)$를 대입하고, 양변에 $A^{-1}$을 곱하면 다음과 같이 전개된다.

 

$$ (A^{-1}\cdot A)\cdot B\cdot (A\cdot B)^{-1} = A^{-1} \\ B^{-1}\cdot B\cdot (A\cdot B)^{-1} = A^{-1} \cdot B^{-1} \\(A\cdot B)^{-1} = B^{-1} \cdot A^{-1} $$

 

$A^{-1} \cdot A$는 항등행렬이므로 소거, 이후 양변에 $B^{-1}$을 곱하면 $B^{-1}\cdot B$도 항등행렬이므로 소거되므로 합성함수에 해당하는 행렬 곱도 동일한 수식을 지니는 것을 확인할 수 있다.

 

 

728x90

'게임수학' 카테고리의 다른 글

[게임수학] 3. 삼각함수  (2) 2025.08.31
[게임수학] 2. 벡터(Vector)  (2) 2025.08.27
[게임수학] 1. 수(Number)와 함수(Function)  (2) 2025.08.26
'게임수학' 카테고리의 다른 글
  • [게임수학] 3. 삼각함수
  • [게임수학] 2. 벡터(Vector)
  • [게임수학] 1. 수(Number)와 함수(Function)
브라더스톤
브라더스톤
유티니, C#과 관련한 여러 정보를 끄적여둔 블로그입니다. Email : dkavmdk98@gmail.com
  • 브라더스톤
    젊은 프로그래머의 슬픔
    브라더스톤
  • 전체
    오늘
    어제
    • 개발 노트 (31) N
      • Unity,C# (27)
        • Unity 정보 (5)
        • 알고리즘 (11)
        • 자료구조 (2)
        • 절차적생성(PCG) (9)
      • 게임수학 (4) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    unity
    알고리즘
    수집합
    BSP
    기저벡터
    공간분할알고리즘
    pcg
    정렬알고리즘
    게임수학
    C#
    커스텀 윈도우
    PerlinNoise
    CustomWindow
    최단경로찾기
    Custom Inspector
    이진공간분할
    절차적지형생성
    CustomEditorWindow
    자료구조
    절차적던전생성
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
브라더스톤
[게임수학] 4. 행렬
상단으로

티스토리툴바