게임 수학(11)
-
[게임 수학] #19 | 벡터의 외적(Cross Product)
*인프런 강의를 듣고 공부한 글입니다. 1. 벡터의 외적(Cross Product)벡터의 외적 연산은 3차원 공간에서만 사용 가능한 연산으로, 스칼라 값을 결과로 내뱉었던 내적과 달리, 외적은 3차원 벡터를 결과로 배출합니다. 이러한 벡터의 외적 연산은 다른 축 요소들로만 연산이 이루어진다는 특징이 있습니다. 다음과 같이 3차원 벡터 \(u, \ v\) 가 있다고 하면, $$ u = (u_x, \ u_y, \ u_z), \ \ v = (v_x, \ v_y, \ v_z) $$ 이 두 벡터에 대한 외적 연산 결과는 다음과 같습니다. $$ u \times v = (u_y v_z - v_y u_z, \ u_z v_x - v_z u_x, \ u_x v_y - v_x u_y)$$ 위 식을 보면, \( (x, ..
2023.12.05 -
[게임 수학] #18 | 오일러 각(Euler angle)
*인프런 강의를 듣고 공부한 글입니다. 1. 회전 행렬 구현에서의 문제점3차원 공간에는 세 개의 표준 기저 벡터 \(e_1\), \(e_2\), \(e_3\) 가 존재합니다. 이 세 개의 기저 벡터를 통해 회전을 구현하려면, 서로 직교하고 있던 원래 상태를 그대로 유지한 채로 돌아가야 하고, 변화된 기저 벡터들이 가지고 있는 값(\(x_{local}, \ y_{local}, \ z_{local}\)) 을 통해 회전 행렬을 만들 수 있습니다. 그런데 이 방법은 불편한 점이 있습니다. 예를 들어, 우리가 어떤 물체를 Y축으로 30도 회전하고 싶다고 할 때, Y축으로 30도 회전했을 때의 각 로컬축의 값이 얼마인지 구해야 회전이 가능하다는 이야기가 됩니다. 나는 30도 회전한 결과를 얻고 싶은데, 그러..
2023.12.04 -
[게임 수학] #13 | 삼각형(Triangle)
*인프런 강의를 듣고 공부한 글입니다. 1. 세 점의 아핀 조합 (Affine combination of Three points)이전에 두 점의 아핀 조합에서 계수의 합이 1이 되어야 한다는 걸 봤었습니다. 우리가 설정한 아핀 공간 내 규칙을 어기지 않으려면 마지막 차원의 값이 1이 되어야 하기 때문이었죠. 이러한 개념은 세 점의 아핀 조합으로 확장되어도 똑같이 적용됩니다. $$ P' = s \cdot P_1 + t \cdot P_2 + (1-s-t) \cdot P_3 $$ 위 식의 계산 결과는 항상 아핀 공간의 점을 보장 받게 되는 것이죠. 위의 식을 변형하여 다음과 같은 공간 형태로 나타낼 수도 있습니다. $$ P' - P_3 = s(P_1 - P_3) + t(P_2 - P_3) $$$$ \ri..
2023.11.27 -
[게임 수학] #12 | 직선(Line)
인프런 강의를 듣고 공부한 글입니다. 1. 아핀 조합(Affine Combination)이전에 아핀 공간에는 점과 이동 벡터가 존재하고, 점 + 점 연산은 불가능하다고 했었습니다. 하지만, 스칼라 값을 앞에 보조로 사용하여 곱하면 점 + 점 연산이 가능해집니다. $$ a\cdot P_1 +b\cdot P_2 = ? $$ \( P_1, \ P_2 \) 가 2차원의 점이라고 가정할 경우, 위 조합식은 다음과 같이 전개됩니다. $$ a(x_1, y_1, 1) + b(x_2, y_2, 1) = (ax_1+bx_2, \ ay_1 +by_2, \ a + b) $$ 이때, 아핀 공간이므로 마지막 차원의 값이 반드시 1이 되어야 점이 될 수 있습니다. 즉, \( a + b = 1 \) 이 되어야 가능하다는 말이지..
2023.11.26 -
[게임 수학] #10 | 아핀 공간(Affine Space)
인프런 강의를 듣고 공부한 글입니다. 1. 아핀 공간이 필요한 이유이동 변환의 문제점컴퓨터 그래픽스에서 중요한 기능 중 하나가 바로 이동 기능이지만, 선형 변환 개념으로는 이러한 이동을 구현할 수가 없습니다. 선형 변환이라는 것은 항상 원점으로부터 출발해서 어디까지 이어지는 지에 대한 화살표 개념이기 때문이죠. 이러한 이유로, 선형 변환을 통해 다음과 같이 기저 벡터를 원점으로부터 분리해 이동시킬 수는 없는 노릇입니다. 행렬의 관점으로 본다면, 다음과 같은 행렬은 존재하지 않는 것이죠. $$ \begin{bmatrix}a & b\\c& d \end{bmatrix}\begin{bmatrix}x \\y \end{bmatrix}=\begin{bmatrix}x+e \\y+f \end{bmatrix} $$..
2023.11.24 -
[게임 수학] #7 | 선형성(Linearity)
인프런 강의를 듣고 공부한 글입니다. 1. 선형성(Linearity)한자로 보면, 선의 형태를 가지는 성질이라고 할 수 있습니다. 수학에서는 다음을 만족하면, 선형성을 만족한다고 이야기합니다.가산성(Additivity) : \(f(x+y) = f(x) + (y)\)1차 동차성(Homogeneity of 1 degree) : \(af(x) = f(ax)\) 이런 선형성을 만족하는 함수들은 어떤 게 있을까요? 선형성을 만족하는 함수 예\(f(x) = x\)$$ f(5 + 10) = f(5) + f(10) $$$$ 5f(10) = f(50) $$ \(f(x) = 2x\)$$ f(15) = f(5) + f(10) \rightarrow 2 \cdot 15 = 2 \cdot 5 + 2 \cdot 10 $..
2022.07.28