목록분류 전체보기 (122)
테크 로그포스 Tech Log Force
1. 변환의 종류 - Scaling(축소, 확대) 2D에서는 축소확대인자(Sx,Sy)사용 예를들어 (x,y)를 축소/확대 할 때 x방향 인자, y방향 인자를 각각 곱해주면 됨. => (Sx*X, Sy*Y) * 다만 그래픽스에서는 행렬의 곱셈으로 나타내므로 (Sx 0 ) (x) = (Sx X) (0 Sy) (y) (Sy Y) - Rotation(회전) (x') =(cosθ - sinθ) (x) (y') (sinθ - cosθ) (y) 로 나타낼 수 있다. 여기서 θ: 회전하고 싶은 각도 *이건 반시계방향의 회전 기준이다. 시계방향으로 회전하려면 -θ를 대입한다. - Translation(이동) (x) + (dx) = (x + dx) (y) (dy) (y+dy) Translation의 경우 Scailing이..
모델링은 그래픽스 개발 단계에서 첫 단계에 해당하며, 렌더링 할 물체를 만드는 것을 의미한다. (mesh를 만드는 것) 1. 컴퓨터에서 모델링 개념 예를 들어 구를 모델링하려면 중점, 반지름을 통해 (x-Cx)^2+(y-Cy)^2+(z-Cz)^2=r^2과 같은 음함수로 표현을 할 것이다. 그런데 GPU는 음함수 처리에 적합하지는 않다. 그러므로 구의 표면의 점들을 sample한 후 서로 이어준다. 그럼 뭐가 될까요? polygun mesh~( GPU는 폴리건 메시에 최적화 돼 있다.) 가장 보편적이고 단순한 것은 Triangle Mesh(Open GL도 Triangle Mesh만 처리한다.) 대체로 삼각형의 개수는 꼭짓점 개수의 2배정도 된다. 3Ds Max나 Maya에서는 사각형 메시를 많이 쓴다. 그..
컴퓨터 그래픽스는 선형대수(행렬, 벡터)가 기본이므로.. 1. 간단히 행렬에 대한 복습 1. square matrix(정사각 행렬) m x n matrix에서 m=n 2. 행렬 곱 A행렬의 열과 B행렬의 행이 같을 때 즉, A가 l x m, B가 m x n일 때만 가능. (l x m matrix) A와 B를 곱하려면 A의 행 성분, B의 열의 대응하는 곱을 하나씩 곱. 3. Row vector, Column vector Direct 3D는 row vector, OpenGL은 column vector사용. 4. Identify matrix(단위행렬) 어떤 행렬과 곱하더라도 그 행렬을 유지. (1, 0) (1, 0, 0) (0, 1) or (0, 1, 0) 처럼 대각선만 1이고 나머지는 0 인 경우 (0, ..
고려대학교 컴퓨터학과 한정현 교수님의 강의를 듣고 나름대로 정리를 해보려고 한다. https://www.youtube.com/watch?v=Jvz0XPSRbx4&list=PLYEC1V9tJOl03WLDoUEKbiYW_Xt4W6LTl&index=1 1. 3D Computer Graphics 3차원 물체를 입력 받아 2차원 영상(Frame)으로 출력. 프레임을 얼마나 빨리 만드느냐에 따라 실시간 그래픽, 비실시간 그래픽으로 나뉜다. - 실시간 그래픽: Game, AR/VR, UIs. 초당 30frame이상 - 비실시간 그래픽: 영화 특수효과. photorealistic image를 목표 2. 개발 단계 실시간, 비실시간 그래픽 각각에 사용되는 알고리즘은 다를지라도, 개발단계는 공통된다. Modeling ->..