게임 속 함수 - geim sog hamsu

DIBRARY

  • 인프런 <게임 엔진을 지탱하는 게임 수학, 이득우 교수님> 강의를 듣고 필기한 글입니다.

함수(Function)의 기초

함수를 왜 배워야 하는가?

  • 게임이란 것은 결국 게임 내에서 공간의 변환에 밀접하게 연결되어 있음
  • 게임을 제작한다는 것은 굉장히 많은 공간의 변환 작업들로 구성되어 있는데, 그 기반은 집합과 집합의 대응 관계
  • 이것의 메커니즘을 설명하는 것이 바로 함수(Function)
  • 그렇기 때문에 함수에 대한 개념을 제대로 적립해야, 공간과 공간의 변환을 제대로 이해할 수 있는 기본 지식이 됨

함수의 정의

  • 함수라는 것은 두 개의 집합이 있을 때, 두 집합의 대응 관계를 의미
  • 단, 첫 번째 집합의 모든 요소가 사용되어야 함수의 성립 조건이 만족

함수가 아닌 대응 관계

  1. 첫 번째 집합의 어떤 원소에 대한 대응 관계가 빠져 있을 때
  2. 첫 번째 집합의 한 원소가 두 번째 집합의 두 가지 이상의 원소에 대응할 때

함수와 관련된 주요 용어

  • 정의역(Domain)  :  첫 번째 집합
  • 공역(Codomain)  :  두 번째 집합
  • 치역(Range)  :  공역에서 정의역에 대응되는 요소들의 집합

정의역에 속한 모든 원소들은 반드시 사용되어야 하지만, 공역에 속한 모든 원소들이 사용될 필요는 없다.

즉, 공역의 일부 요소들만 대응되는 집합이 생성되는데, 이것을 치역(Range)이라고 한다.

프로그래밍 관점에서 함수를 바라본다면?

  • 입력을 주면, 그에 대응되는 새로운 내용물을 만들어 내는 시스템
  • 대응에 사용되는 정의역의 요소를 입력(Input)
  • 대응되는 공역의 요소를 출력(Output)

함수의 종류(Classes of Function)

함수를 다룰 때는 대응 관계에 따라서 여러 가지로 분류할 수 있다.

  • 전사(Surjection)  :  공역과 치역이 동일
공역의 모든 요소가 정의역에 대응됨
  • 단사(Injection)  :  정의역과 공역의 요소가 일대일로 대응
일대일 함수를 의미한다.
  • 전단사(Bijection)  :  전사와 단사를 모두 만족
  • 일반(General)  :  이도저도 아닌 대응 관계

곱집합(Cartesian Product)

곱집합의 정의

  • 곱집합이란, 두 집합의 원소를 순서쌍으로 묶어 구성한 집합을 말함
  • \((a, b)\)와 같이 괄호와 콤마(,)를 사용해 원소를 나열하는 방식을 튜플(Tuple)이라고 함
  • 곱집합은 \(\times\) 기호를 사용하여 표현  (ex. \(A \times B\))

곱집합의 예시

이항 연산을 함수로 해석하기

  • 곱집합을 사용하게 되면, 손쉽게 이항 연산을 함수로 표현할 수 있게 됨
  • 정의역을 실수 집합의 곱집합으로 만들고, 순서쌍의 각각의 원소를 입력으로 줌

합성함수(Composition)

합성함수의 개념

  • 합성함수란, 서로 다른 두 개의 함수가 있고 세 개의 집합이 있을 때 대응되는 원소에 따라 최종 목적지까지 중간 단계 없이 가는 것을 말함
  • 말로 표현하면 무슨 말인지 잘 모르니, 다음과 같이 그림을 통해 설명
  • 위 그림을 보면 두 개의 서로 다른 함수 \(f(x), g(y)\)가 있고, 세 개의 집합이 존재하는 상황
  • 집합 X의 원소 1은 집합 Y의 원소 A에 대응되고, 다시 이 A는 집합 Zδ에 대응됨
  • 즉, 집합 X에서 집합 Z에 대응되는 과정 중 중간 단계인 집합 Y가 존재
  • 합성함수란, 이런 중간 단계를 생략하고 바로 목적지까지 한 번에 대응되도록 하는 것

합성함수의 표기 순서를 헷갈리지 않게 조심해야 하는데, 첫 번째 사용한 함수를 \(f(x)\), 두 번째 사용한 함수를 \(g(y)\)라고 한다면, 첫 번째 사용한 함수가 오른쪽에 배치되도록 해야 한다.

$$ g(f(x))=(g\circ f)(x) $$

항등함수(Identity Function)

  • 전단사 함수에서 똑같은 요소가 대응되는 관계를 항등함수라고 함
  • 기호로는 \(i\)라고 표시
항등함수

역함수(Inverse Function)

  • 역원과 동일한 개념으로, 공역에서 정의역으로 대응되는 관계를 나타낸 함수를 말함
역함수

역함수가 되려면 다음의 조건들을 만족해야 한다.

1. 전사 함수는 역함수가 성립되지 않는다.

전사 함수는 역함수 조건에 성립되지 않음

2. 단사 함수는 역함수가 성립되지 않는다.

단사 함수는 역함수 조건에 성립되지 않음

3. 오로지 전단사 함수일 때만 역함수를 보장 받는다. 

전단사 함수만이 오로지 역함수 조건 성립

함수와 그 역함수의 합성 함수

  • 어떤 전단사 함수와 그 역함수와의 합성 함수는 항등함수가 됨
  • 공역으로 넘어간 대응 관계가 다시 정의역으로 넘어가면서, 원래 자기 자신에게로 대응되기 때문

$$ f\circ f^{-1}=i $$

합성함수의 역함수

  • 다음과 같이 전단사 함수 \(f, g\)가 있다고 가정
  • 두 전단사 함수에 대한 합성함수는 다음 식으로 표기 가능

$$ g\circ f $$

  • 위 합성함수에 대한 역함수는 \(g^{-1}\)을 먼저 실행하고, \(f^{-1}\)을 실행하는 구조를 가질 것임
  • 그렇기 때문에 \(g^{-1}\)가 식에서 오른쪽에 표기가 될 것임

$$ (g\circ f)^{-1}=f^{-1}\circ g^{-1} $$

합성함수의 역함수

마무리

왜 이런 합성함수의 대응관계에 대해서 알아야 하는가?

  • 공간의 변환을 다룰 땐 행렬이란 것을 사용하게 됨
  • 행렬은 하나의 함수에 대응되고, 행렬의 곱셈은 합성 함수에 대응됨
  • 이러한 합성 함수의 성질을 이해하면, 복잡한 행렬 연산의 메커니즘을 이해할 수 있는 기반이 됨 

Toplist

최신 우편물

태그