컴파일러
·
Programming/기타
컴파일러컴파일러란?컴파일이란 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어 혹은 컴퓨터 언어로 옮기는 과정을 의미한다. 이러한 컴파일링을 자동으로 수행해주는 소프트웨어 혹은 장치를 컴파일러라고 한다. 컴파일링 과정은 4단계로 이루어진다.1. 전처리 과정 (Pre-processor)2. 컴파일 과정3. 어셈블리 과정4. 링킹 과정 전처리전처리 과정이란 우리가 만든 코드들 중 헤더파일이나 매크로와 같은 부분들을 소스코드로 변환해주는 사전 작업이다.이 과정에서 쓸모없는 부분들을 제거하여 최적화 또한 수행한다.주석을 제거하고, 헤더파일 내부의 코드를 삽입하고, 상단의 매크로를 실제 코드로 치환하고 적용해주는 과정을 수행한다. 컴파일그 다음 컴파일 과정에서 고급 언어 (대표적으로, C++)를 저급..
게임수학) 행렬 - 1
·
Programming/기타
행렬의 정의행렬은 수나 기호를 직사각형 형태로 배열한 것으로, 여러 분야에서 사용되지만 게임 엔진에서는 주로 벡터 공간의 변환을 위해 사용된다.  보통 이런식으로 작성된다.이 행렬 안에 나열된 성분들은 요소라고 부르고 m11, m23처럼 나타낼 수 있다. 행과 열의 수가 동일한 행렬을 정사각행렬이라고 부른다. 게임 엔진에서는 주로 이 정사각행렬을 많이 사용한다.만약 행번호와 열번호가 동일한 성분, 예를 들어 m11, m22, m33같은 요소를 대각요소라고 한다. 한번 행렬의 종류에 대해서 한번 알아보자.정사각행렬이면서 대각 요소외의 요소가 모두 0이라면 그때는 그 행렬을 대각행렬이라고 할 수 있다.만약 대각행렬이면서 대각요소가 모두 1이라면? 단위행렬이 된다. 만약 모든 요소가 0이라면? 영행렬이 된다...
게임수학) 벡터 - 2
·
Programming/기타
벡터 연산덧셈, 뺄셈, 교환법칙, 결합법칙기하벡터의 경우에는 시각적으로 벡터를 보여줄수 있으므로, 기초적인 연산법칙이 성립한다는 것을 보여주는것도 쉽다. 우리가 고등학?생때 배웠었던 덧셈, 뺄셈, 교환법칙, 결합법칙을 벡터에서도 성립한다는 것을 그림을 통해 알 수 있다.증명은 생략하고 대신 설명을 한번 해보자. 교환법칙이란 a + b를 순서를 바꿔서 b + a로 표기해도 성립한다는 내용이다. 그림에서는 좌상단에 해당한다.벡터 b와 크기는 같으나 방향이 정반대인 벡터를 역벡터 -b로 정의하는데, 우상단에 해당한다.원본 벡터와 그 역벡터를 더하면 영벡터가 된다. 우상단 그림에서 b와 -b벡터가 합이 0이 되는것을 확인할 수 있다.마지막으로 (a + b) + c = a + (b + c)와 같이 괄호의 위치를 ..
게임수학) 벡터 - 1
·
Programming/기타
벡터의 정의위치 벡터벡터란 무엇일까... 사실 우리는 이미 벡터에 대해 살짝 알고 있다.이전 포스트에서 3D좌표계를 다룰 때 (x, y, z)와 같이 배열을 좌표라고 부르면서 특정한 위치를 가리키는 데 사용했었다.유니티에서는 이러한 좌표를 Vector3() 메서드를 이용하여 표현한다. 이러한 위치로서의 벡터를 위치 벡터라고 한다.Vector3는 이러한 세 개의 x, y, z 프로퍼티를 통해 3차원 공간의 점을 표현할 수 있다.이러한 벡터를 수학적으로 표현하려면 (x, y, z)처럼 옆으로 나열한 행벡터로도 표현이 가능하지만,그림처럼 세로로 나열한 열벡터로도 표기가 가능하다.위치벡터는 어디까지나 점의 위치를 나타낼 뿐, 만약 벡터가 위치한 공간 자체가 움직인다면 그 위치 또한 움직이게 된다.박스 위에 원이..
게임수학) 좌표계 - 2
·
Programming/기타
극좌표계이전 포스트에서 설명했었던 좌표계는 직교좌표계라고 하는 좌표계였다. 이 직교 좌표계와 다른 방식으로 물체의 위치를 표현하는 좌표계도 존재하는데, 그중 대표적인 극좌표계에 대해서 설명해보겠다. 극좌표계는 크게 2D와 3D로 구분할수 있다. 먼저 2D좌표계를 한번 알아보자.  마치 단위원처럼 생겼다는 것을 알 수 있다. 2D 극좌표계에도 직교좌표계처럼 중심에 극(Pole)이라고 불리는 기준점이 존재한다. 이 극에서 반지름처럼 극축이라고 불리는 반직선이 뻗어나오게 된다. 이 극좌표계에서 평면상의 점 P의 위치를 결정하는 방법은 극축과 P를 연결하는 직선 r의 길이와 극축과 r의 각도 θ를 통해 결정된다. 즉, 점 P의 극좌표는 (r, θ)가 된다는 것이다. 이 극좌표계라는 것은 보통 항공기나 선박의 네..
게임수학) 좌표계 - 1
·
Programming/기타
2D 좌표계이번에는 좌표계에 대해서 한번 알아보자.좌표계는 물치의 위치를 하나의 점으로 가리키기 위한 체계이다.원점을 기준으로 x축과 y축으로 이루어진 좌표계를 직교 좌표계라고 한다. 다음과 같이 생겼다. 이러한 직교 좌표계를 데카르트 좌표계라고도 하는데, 데카르트가 좌표계를 도입했다고 알려져있기 때문이다. 좌표계를 보면 x축과 y축으로 4개의 공간이 분할되어있다는 것을 알 수 있는데, 이를 사분면이라고 한다.각 사분면은 오른쪽 위에서부터 반시계 방향으로 1사분면, 2사분면, 3사분면, 4사분면이라고 구분할 수 있다. 3D 좌표계이제 x축과 y축을 이용하여 2D 평면상에서의 위치를 특정할수 있게 되었다. 이제 축을 하나 더 늘려보자. 이것이 3차원 좌표계의 예시이다. 이제 우리는 x축, y축, z축을 사..