개발개발/게임수학

게임 엔진을 지탱하는 게임 수학-1. 기초- (1) 수의 구조

유잉유잉유잉 2025. 1. 22. 12:05
728x90

 

게임 엔진을 지탱하는 게임 수학

[섹션 1] 게임을 지탱하는 기초 수학 

(1) 수의 구조 

인프런 강의 링크 : 

https://inf.run/HPQQK

 

게임 엔진을 지탱하는 게임 수학 강의 | 이득우 - 인프런

이득우 | , 3D 게임 프로그래밍, 본질을 알아야 더 잘 할 수 있어요! 🎮 게임 프로그래밍, 한 단계 나아서고 싶다면? 안녕하십니까? 청강문화산업대학교 게임콘텐츠스쿨에서 학생들에게 게임 프

www.inflearn.com

 

 

미리보기 링크 : https://www.inflearn.com/courses/lecture?courseId=327690&unitId=90260&subtitleLanguage=ko&audioLanguage=ko

 

인프런 강의 노트 : 

https://ideugu.notion.site/1-2dc9596e0d004b7d97f5c43450289c8a



이 페이지에 사용된 이미지는 전부 강의에서 사용된 이미지입니다.

 

 

 

이번 시간엔 ‘수의 구조’에서 총 4가지 파트로 구성되어 있습니다.

 

1.수의 시각화

2. 이항연산

3.이항 연산의 성질

4.체(Field)의 공리(Axiom)

 

크게 4가지를 이야기 해보겠습니다.




1. 수의 시각화

 

왜 수에 대해 알아야 하는가?

게임 세계는 벡터로 구성된 탄탄한 시스템입니다. 이 시스템 위에서 콘텐츠를 만들어서 동작하게 만듭니다. 벡터는 수를 사용해서 만들어진 대상으로, 벡터를 정확하기 이해서는 결국 수가 만들어내는 시스템에 대해 이해해야 합니다,



수(Numbers)의 종류 

수는 물건을 세는 것에서 시작해서 인류의 문명의 발전에 맞춰서 다양한 개념으로 확대되어 왔습니다. 다양한 수의 개념이 존재하며, 각각은 대문자를 사용해서 집합으로 구분해서 부릅니다.

 

자연수(N), 정수(Z), 유리수(Q), 무리수(I), 실수(R), 복소수(C)  

출처 : https://commons.wikimedia.org/wiki/File:Venn_Diagram_of_Numbers_Expanded.svg





실수 집합 ( The Set of real numbers ) 

실수 집합은 수 사이에 빈틈이 없는 연속의 무한한 요소로 구성된 수의 집합



수 직선(Number Line)

실수 집합 R 의 요소를 점으로 나열하면 연속성 있는 직선으로 표현할 수 있습니다.






수의 표현

하나의 체계에서 대소를 비교해 나열하는 방식

 

원점을 기준으로 양수와 음수의 두 체계로 나누고 크기와 방향을 사용해 표현하는 방식을 사용

  • 크기 = |x|
  • 방향

벡터를 사용해서 시스템을 만들 때 0을 기준으로 해서 어떤 수가 가지고 있는 건 두 개의 요소로 요약될 수 있다. 

원점으로 부터의 거리, 속한 체계 두 가지의 요소를 알 수 있다.

이 두가지를 크기와 방향이라고 표현할 수 있다. 

  • 크기 : 어떤 수가 가지고 있는 크기는 원점으로부터 길이와 절대값을 써주면 원점으로 거리를 구할 수 있다. 
  • 방향 : 왼쪽, 오른쪽 방향. 플러스 마이너스 기호를 이용하여 사용 

 

2. 이항 연산(Binary Operation)

집합(Set)의 정의 : 원소(Element)의 묶음(Collection)

수 집합이 일반적인 집합과 다른 점 : 연산이 존재한다.

  • 두 개의 원소를 서클 연산을 통해 만들어낸 a 서클 b 라는 결과물은 다시 집합에 속하게 된다.
  • 이것을 수학에서는 닫혀있다고 표현한다.

사칙 연산의 재구성

뺄셈도 덧셈, 나눗셈 또한 곱셈으로 대체해 표현이 가능하다.

 

곱셈의 표기

일상 생활에서는 X 기호를 사용하지만 복잡한 수식 전개시 편의를 위해 · (center dot)을 사용한다.

본 과정에서는 곱셈에 대해서 · 기호를 사용한다.

 

덧셈 연산(Addition)의 시각화

덧셈 연산은 점을 평행 이동시키는 연산

 

곱셈 연산(Multiplication)의 시각화

곱셈 연산은 원점을 중심으로 점의 크기와 방향을 조절하는 연산

-곱셈에는 회전이라는 개념이 포함되어 있다.

양수의 곱셈은 0도 회전, 즉 회전의 방향은 그대로 유지.

음수의 곱셈은 180도 회전을 의미한다.

 

3. 이항 연산의 성질

수 집합과 수 집합의 연산 체계를 포괄하는 개념

이항 연산의 성질

위 법칙들을 만족하는 연산이 있을 수 있고, 없을 수도 있다.

 

항등원(Identity)

  • 연산에 대한 항등원은 b 다.
  • 항등원 : 어떤 연산의 결과가 동일한 원소를 나오게 만들어주는 원소 

덧셈의 항등원 : a + 0 = a

곱셈의 항등원 : a x 1 = a

 

 

역원(Inverse)

- 연산에 대한 항등원을 b 라  할 때 circ 연산에 대한 a의 역원은 c다.

- 역원 : 연산의 결과가 항등원이 되도록 만들어주는 특수한 원소 

덧셈의 역원 : a+(-a)=0 , 덧셈의 역원 ⇒ 반수(Opposite Number)

곱셈의 역원 : a x 1 / a = 1, a != 0 , 곱셈의 역원 ⇒ 역수(Reciprocal)

뺄셈은 덧셈의 역원을 더하는 연산 : a - b = a + (-b)

 

⁉️ 왜 뺄셈과 나눗셈을 사용하지 않고, 덧셈과 곱셈 두가지만 사용해서 표현하려 할까?

뺄셈은 교환법칙이 성립하지 않지만, 덧셈은 교환 법칙이 성립한다.

a - b != b - a

a + (-b) = (-b) + a

나눗셈은 곱셈의 역원을 곱하는 연산 : a /  b = a x 1 / b

따라서서 사칙 연산에서 뺄셈과 나눗셈을 제하고 덧셈과 곱셈으로 연산의 구조를 분석해보자.



4. 체(Field)의 공리(Axiom)

공리 : 이론 체계에서 증명이 필요없는 가장 기초적인 명제

공리를 사용해 다양한 수의 구조를 정의

 

군(Group)의 공리

첫 번째 연산에 대해 다음의 공리를 만족하는 수의 체계

  1. 덧셈 연산에 대해 닫혀있다. ( Closure ) 
  • 덧셈의 결과는 항상 그 수집합에 속해야 한다.
  1. 덧셈 연산은 결합법칙을 만족한다. ( Associativity )
  2. 덧셈 연산의 항등원이 존재한다. ( Identity element )
  3. 덧셈 연산의 역원이 존재한다. ( Inverse element )

‘수는 군의 구조를 가진다’를 위 처럼 표현한다.

 

아벨 군(Abelian Group)

  1. 덧셈 연산은 교환법칙을 만족한다. ( Commutativity )

 

환(Ring)의 공리

첫 번째와 두 번째 연산에 대해 다음의 공리를 만족하는 수의 체계

  1. 곱셈 연산에 대해 닫혀있다. ( Closure )
  2. 곱셈 연산은 결합 법칙을 만족한다. ( Associativity )
  3. 덧셈과 곱셈 연산은 분배 법칙을 만족한다. ( Distributivity )
  4. 곱셈 연산의 항등원이 존재한다. ( Identity element )

 

가환환(Commutative Ring)

  1. 곱셈 연산은 교환 법칙을 만족한다. ( Commutativity )
  2. 곱셈 연산의 항등원이 존재한다 ( Identity element )

환의 구조에서 두 번째 연산에 대해 교환 법칙을 만족하는 특수한 환

 

체(Field)의 공리

곱셈의 역원이 존재하는 수의 구조

0을 제외한 모든 원소에 대해 곱셈 연산의 역원이 존재한다. ( Inverse element )

⇒ 덧셈과 곱셈 연산에 대해 교환, 결합, 분배 법칙을 만족하고 항등원과 역원이 존재하는 수의 구조

⇒ 사칙 연산에 닫혀있고 자유롭게 연산 순서를 적용할 수 있는 수의 구조

⇒ 체의 구조를 만족하는 수 집합으로는 유리수( Q ), 실수( R ), 복소수( C )가 있음.

실질적으로 수를 다룰 때 대부분 실수를 사용하지만, 이론적인 체계에서는 체의 구조를 가진 수 집합을 사용한다고 표현하는 것이 명확하고 확장 가능성이 높아짐.

체 집합은 F로 표현하고 체 집합의 원소를 스칼라(Scalar)라고 함.

 

수와 연산의 추상화

 a + b 

  1. 실수 a와 실수 b를 더한다 : 사칙 연산을 자유롭게 사용할 수 있으나 하나의 수 체계만 사용.
  2. 스칼라 a와 스칼라 b를 더한다 : 체의 성질을 만족하는 모든 수 집합(유리수, 실수, 복소수)에 대해 포괄적으로 사용 가능.

⇒ 범용적인 수와 연산 시스템을 규정하는 체의 기반 위에서 새로운 시스템으로 확장

 

728x90