그래픽스
절댓값 (absolute value)
절댓값이란? 수직선 위에서 원점과 어떤 수에 대응하는 점 사이의 거리다 양수 +3을 수직선 오른쪽 대응되는 점 절댓값을 구하면 3음수 -2를 수직선 왼쪽 대응되는 점 절댓값을 구하면 2절댓값의 거리를 각각 구하여 크기를 비교할 수 있다. |−2| |+3| 절댓값이 같고 부호가 반대인 두 수는 +2, -2가 있다.수직선에서 두점 사이의 거리가 3인 점에 대응하고 절댓값이 같은 두 수는 +3, -3이 있다. 수의 대소 관계를 수직선으로 알아보면1. 양수는 0보다 크고, 음수는 0보다 작다. 즉 양수는 음수보다 크다2. 두 양수끼리는 절대값이 큰 수가 크다.3. 두 음수끼리는 절대값이 큰수가 작다. 수직선 위에서 두 점 사이의 거리가 6이고, 두 점의 한가운데 있는 점이 나타내는 수가 -2일 ..
제곱근과 실수
제곱근먼저 어떤 수 x를 제곱해서 a가 될 때, x를 a의 제곱근이라고 한다. 아래 그림과 같이 2, -2를 제곱하면 4가 된다. 문제를 풀어보자면1) 49의 제곱근 = 7, -72) 81의 제곱근 = 9,-93) 100의 제곱근 = 10, -104) 121의 제곱근 = 11, -11 제곱근을 다른 말로 근호 또는 루트라고 한다, 근데 3을 제곱하는 정수는 없기 때문에 3이 되는 수를 루트3 또는 -루트3라고 표현한다. 36의 제곱근과 루트36이 어떻게 다르냐면36의 제곱근 = 6, -6 (양수, 음수 두가지)제곱근 36 = 6 (양수만) 그 다음은 제곱근의 성질인데 a의 값이 양수일 때 노란색 부분에 대한 모든것이 성립된다. A의 도형을 보면 2칸씩 대각선으로 이루어진 정사각형이다. A 도형 맨 오른..
실수, 유리수, 무리수, 정수, 자연수, 순환소수, 비순환소수란?
수의 체계숫자를 집단화 시켜 묶어 놓은 것이다.정수정수 (integer)는 크게 3가지로 구분 되어 있다. 양의 정수, 0, 음의 정수. 양의 정수는 자연수(natural number)라고도 하며 우리가 흔히 쓰는 숫자인 1,2,3,4 ... 와 같은 숫자를 말하며 양수라고도 한다.음의 정수는 마이너스 값을 가진 정수다. -1,-2,-3,-4 ...와 같은 숫자를 말하며 음수라고도 한다.0은 양의 정수와 음의 정수 가운데에 있는 아무것도 아닌 값이다.유리수정수가 아닌 수에는 소수가 있으며 이 소수는 크게 두 가지로 구분이 된다, 유한소수와 무한소수.유환소수는 쉽게 볼 수가 있다, 0.1, 0.2 또는 0.34, 0.567 ... 등등 분수로 나타내면 아래와 같다 분수로 딱 맞아 떨어진다 하더라도 무조건 ..
NDC (Clip Space)란 무엇인가?
렌더 파이프 라인에서 Vertex Shader 단계의 마지막에, 지정된 좌표를 받아들이고 이 범위에서 벗어난 모든 좌표는 자르게된다. 이때, Clip 된 좌표들은 모두 폐기되고, 남은 좌표들은 최종적으로 파편화되어 화면에 보이게 되고 눈에 보이는 모든 좌표들이 -1.0과 1.0 범위 안에 지정하는 것은 직관적이지 않기 때문에, 우리가 원하는 화면에 표현하기 위한 공간으로 다시 변환하게 된다. 이때 사용되는 것이 NDC(Noramlize Device Coordinate)이며, 이 공간은 투영(Projection) 행렬에 정의된다. 앞서 유도한 투영 행렬이 정의하는 Viewing Box는 절두체(Frustrum)라고 불린다. 이 절두체 내부에 있는 좌표들은 화면에 나타나게 된다. 지정한 범위 내에서 NDC로..
좌표계 (Coordinate system)와 수학적 공간 (Mathematical space)
일반적인 공간인 '유클리드 공간(Euclidean space)'에서 보통 어떤 수학/물리적 문제를 다룬다. 사실 어떤 물리적 사건을 표현할 때에 '어떤 공간을 사용하는가'는 '어떤 좌표계를 사용하는가'만큼이나 중요하다. 심지어 좌표계와 공간(space)을 헷갈려하는 학생들 또한 매우 많다.우선 공간부터 살펴보자. 아주 옛날인 기원전 300년 쯤 고대 그리스의 유클리드는 기하학을 연구하였고, 그가 정리한 5가지 원칙을 만족하는 아주 기본적인 공간을 유클리드 공간이라 부른다. 아래 그림은 우리에게 매우 익숙한 3차원 유클리드 공간이다. 직선(line)은 1차원 유클리드 공간의 예이다. 이러한 직선은 어떠한 '단위간격(unit interval)'로 측정/표현할 수 있다. 아무렇게나 '단위간격'을 정한 후,..
동차 좌표계란?
투영변환이란실세계의 한 점 Q = (x, y, z)는 3차원의 점이다.이 점이 투영 스크린상의 한 점 (x, y)의 2차원으로 변환되는 것이 투영 변환이다.투영 변환을 위해서는 동차 좌표계를 사용하는 것이 편리하다.동차 좌표계란?3D에서는 기본적으로 3차원 좌표계이지만 어떤 목적으로 4차원으로 확장이 가능하다.어떤 목적을 위해 한 차원의 좌표(n) 을 추가한 좌표 (n+1)로 표현을 하는 것을 동차 좌표계라고 한다.ex) 4차원 좌표 =(x,y,z,w) => x/w , y/w , z/w 투영행렬에서 동차좌표를 이용하는 이유시점으로 보이는 점들의 위치가 중요한 것이 아니라 시점으로 부터의 방향이 중요하기 때문에 동차좌표를 사용한다. 투영 행렬을 위 그림으로 나타내면 3차원의 점들이 2차원 평면의 빨간 네모..
레스터화기 단계 Rasterization
레스터화 단계 (rasterization stage)라고도 하는 레스터화기 단계 (rasterizer stage)의 주 임무는 투영된 3차원 삼각형으로부터 픽셀 색상들을 계산해내는 것이다.1. 뷰포트 변환절단을 마치고 나면 하드웨어는 원근 나누기를 수행해서 동차 절단 공간 좌표를 정규화된 정규화된 좌표 (NDC)로 변환한다.정점들들이 NDC 공간으로 들어왔다면, 2차원 이미지를 형성하는 2차원 x,y 좌표 성분들을 후면 버퍼의 한 직사각형 영역으로 변환한다. 그 직사각형 영역이 바로 뷰포트 이다. 이 변환을 마치고 나면 x,y 성분은 픽셀 단위의 값이 된다. 일반적으로 이 뷰포트 변환은 z 성분을 변경하지 않는다. (그 성분은 깊이 버퍼링에 사용해야 하므로) 그러나 D3D11_VIEWPORT 구조체의 M..
투영 행렬 유도와 ndc
우리가 살고있는 세계에는 원근감이라는게 있다. 가까운 물체는 크고 먼 물체는 작게 보이는 것이다.언리얼로 원근감이 있는 카메라와 없는 카메라를 비교해보자 왼쪽은 원근감이 없는 흔히말하는 오쏘그래픽인 카메라이고오른쪽은 시야각이 90도인 투영행렬이 들어간 카메라다.누가봐도 오른쪽이 원근감도 있고 우리가 사는 세계와 비슷하다. 왼쪽 같은 카메라를 사용하는 게임들도 있지만 원근감이 있는 게임을 만들려면 투영행렬이 필요한것이다. 원근감을 표현하는 카메라는 카메라로부터 시작하는 사각뿔의 앞부분이 잘린 시야영역을 사용한다. 그럼 상하 좌우 전후로 이루어진 절두체(FRUSTUM)이 나오게 된다.그 절두체를 X축 방향에서 보면 이와 같은 그림이 나온다. 그중 근 평면이 우리의 모니터 화면이고 카메라로 부터 근 평면까지의..
지수의 밑변환 공식, 로그의 밑변환 공식 - 개념, 유도, 적용
1. 개요지수함수와 로그함수로부터 파생되는 지수 방정식, 로그 방정식, 지수 부등식, 로그 부등식을 풀기 위해서는 밑을 같게 만들어줘야다. 서로 다른 지수나 로그의 밑을 같게 만들어주는 작업을 밑변환이라고 하는데 밑변환을 하는 이유는 서로 다른 차원(dimension)에 있는 항들을 같은 선상에서 비교하기 위해서다. 예를들어 우리나라 돈 1000원과 일본 돈 100앤의 가치를 비교하기 위해선 환율을 적용하여 기축통화인 미국 달러로 바꿔서 비교해야 한다. 또한 평균이 60점, 표준편차 10점인 정규분포를 따르는 집단에서 75점을 받은 학생과 평균이 40점, 표준편차 20점인 정규분포를 따르는 집단에서 70점을 받은 학생중 누가 더 우수한 학생인가를 비교하기 위해선 표준화(Z=(X-m)/σ)라는 작업을..
로그(log) 계산 공식 (상용로그, 자연로그) 총정리
계산 공식1. 진수와 밑이 동일한 숫자일 때, 지수의 값은 1이다.ex ) log 4 4 = 1log 8 8 = 1 2. 진수가 어떠한 숫자의 제곱일 때, 제곱은 앞으로 뺄 수 있다.ex)log 2 4 = log 2 22 = 2 log 2 2 = 2log 3 27 = log 3 3 3 = 3 log 3 3 = 3 3. 밑이 동일한 로그끼리의 덧셈은 진수끼리의 곱하기로 합칠 수 있다.ex) log 2 4 + log 2 8 = log 2 32 = 5 log 3 9 + log 3 9 = log 3 81 = 4 4. 밑이 동일한 로그끼리의 뺄셈은 진수끼리의 나누기로 합칠 수 있다.ex)log 2 8..