kimkijun

Chapter 02) Mathematics: Basics 본문

관심주제

Chapter 02) Mathematics: Basics

kimkijun 2020. 1. 6. 00:49

Mathematics: Basics


현대의 컴퓨터 그래픽스는 수학적인 부분을 많이 필요로 한다. 기초 컴퓨터 그래픽스에서는 선형대수의 기초적인 내용만 알고있으면 된다.

Matrices

m * n matrix

만약 m = n일 경우, 정방 행렬(square matrix)라고 부른다.

 

행렬 곱셈(Matrix-matrix multiplication)

만약 A의 차원의 크기를 l*m이고 B의 차원의 크기를 m*n이라고 했을 때 A의 열과 B의 행이 서로 같으므로 AB는 l*n 행렬이 된다.

Vector

전치행렬(Transpose)

 행과 열의 위치를 바꾸면 된다.

OpenGL은 column vector를 사용하고 행렬의 오른쪽에 column vector가 놓이게 된다.
DirectX는 OpenGL과 반대로 row vector를 사용하고 행렬의 오른쪽에 row vector가 놓이게 된다.

단위행렬(Identity Matrix) denoted by I

Identity Matrix의 특징은 어떤 행렬과 곱해도 그 행렬을 그대로 유지하게 된다.
MI = IM = M

만약 AB = I 일 경우 역행렬(Inverse matrix)라고 부른다. (A-1)

AB 전체의 역행렬은 순서가 바뀐 역행렬로 된다.

 

 

Coordinate System and Basis

https://en.wikipedia.org/wiki/Coordinate_system

 

 

Dot Product(내적)

https://en.wikipedia.org/wiki/Dot_product

 

 

Cross Product(외적)

https://en.wikipedia.org/wiki/Cross_product

 

 

Line, Ray, and Linear Interpolation

Line : [0,1]로 국한되어 있는 line segment
Ray : [0, 무한대]로 국한되어 있는 경우
[-무한대, 무한대]의 범위를 가질 경우 모든 점이 표현이 가능

선에 2개의 점이 정의되어 있을 경우 p(t) = p0 + t(p1 - p0)로 표현할 수 있다.
t=1 일경우 p1    t=0 일경우 p0     t = 0.5 일경우 p0 + p1-p0/2    = p0+p1/2(p0와 p1의 중간)가 된다.
t를 [0,1]로 국한되어 있을 경우 line segment(선분)이 만들어진다.

p(t) = (1-t)p0+tp1
-> 이 식이 의미하는 바는 t가 0과 1사이의 범위를 가질 때 p0과 p1의 점 사이에 모든 점들은 선형 보간(Linear interpolation)을 통해서 만들 수 있다.

이러한 선형 보간(Linear Interpolation)의 개념은 컴퓨터그래픽스에서 자주 등장하는 개념이다.

 

 

 

 

반응형

'관심주제' 카테고리의 다른 글

ml-mnist  (0) 2020.11.05
Game Engine Architecture  (0) 2020.05.05
Game Engine Architecture  (0) 2020.05.05
DirectX Tutorial  (0) 2019.12.11
Chapter 01) Introduction  (0) 2019.12.09