Software Development 378

컴퓨터 그래픽스 이론 정리 - 벡터, 평면 표현

벡터(1) 정규화 벡터 - 벡터의 크기 또는 절댓값은 벡터를 나타내는 선분의 길이를 말한다. 그림 (a)의 벡터 p의 길이는 밑변(6-2), 높이(4-1)인 삼각형의 빗변이므로, 아래와 같이 나타낸다. *정규화 벡터(Normalized Vector)는 원래 벡터와 방향은 동일하지만 크기가 1이 되도록 변형한 것을 말한다. 위 벡터 p=(4,3)을 정규화하려면 각 성분을 벡터의 크기(5, 위 수식으로 계산)로 나눠주면 된다. (2) 벡터의 내적과 외적 벡터의 곱셈은 내적(Inner Product, Dot Product)과 외적(Outer Product, Cross Product)로 나뉜다.두 벡터의 크기를 곱한 것에 두 벡터가 이루는 각의 코사인을 곱한 것이 내적이다. 1) 위 그림에서 벡터 t의 끝점(3..

컴퓨터 그래픽스 이론 정리 - 투상 파이프라인, 절단좌표

시점좌표*투상행렬 = 절단좌표, 시점 좌표계에서 절단 좌표계로의 이동 ->투상 행렬은 가시 부피를 정의하고, 가시 부피를 정규화 가시 부피로 변환하기 위한 것이다. (glOrtho(), glFrustum(), gluPerspective()등은 현 투상 행렬의 내용을 지정하는 함수) *실제의 투상변환에는 투상 범위를 제한, 제한된 크기의 뷰 윈도우에 모든 물체의 영상이 맺히게 할 수 없기 때문* 가시 부피(View Volume) : 투상범위 * 전방 절단면(Near Clipping Plane, Near Plane, Front Plane, Hither) : 투상선에 수직으로 놓인 평면 중, 시점에 가까운 쪽 * 후방 절단면(Far Clipping Plane, Far Plane, Back Plane, Yon)..

컴퓨터 그래픽스 이론 정리 - 투상(Projection)

*모델변환, 시점변환 결과물체 좌표는 시점을 기준으로 표시. 이후에 이어지는 변환이 투상변환과 뷰포트 변환이다.투상변환은 3차원 물체를 2차원 자막에 맺히도록 하기 위한 기본 작업 정확도를 강조하려면 평행투상, 원근감을 강조하려면 원근 투상을 사용투상결과 물체에 대해 절단 작업이 가해진 후 최종적으로 뷰 포트 변환에 의해 2차원 화면으로 사상 *투상 (Projection) - 3차원 물체를 2차원 투상면으로 사상하기 위한 작업(=가시변환, Viewing Transform) - 투상중심(COP, Center of Projection) : 관찰자 위치(View Point, Eye Position, Camera Position)인 시점 좌표계 원점 - 투상선(Projectors) : 투상 중심으로부터 물체 곳..

컴퓨터 그래픽스 이론 정리 - 동족(Affine)좌표와 동차(homogeneous)좌표

동족 좌표(Affine space) : 벡터에 점을 추가한 것, 벡터와 점을 같은 좌표로 본다.ex) (x,y,z) = (1,2,3)의 좌표가 존재할 때, 이 좌표는 점일수도, 원점에서 (1,2,3)을 향하는 벡터일 수도 있다.이렇게 표현하면 점인지 벡터인지 구분할 수 없어 이 둘을 구분하기 위해 사용하는 것이 동차좌표이다.동차좌표(homogeneous space), - 좌표계 차원을 n이라할때, n개로 이루어진 좌표만으로 표현못하는 요소가 있어, 이를 해결하기 위해 n+1로 표현한 좌표계를 동차좌표계라 한다. (3차원상의 점과 벡터를 3개가 아닌 4개의 요소로 표현)- 마지막 요소가 0이면 벡터를, 1이면 점을 의미한다.(1,2,3,0) --> 3차원 벡터 (1,2,3,1) --> 3차원 점---> 동..

컴퓨터 그래픽스 이론 정리 - 좌표계

모델 변환과 시점 변환 - 좌표계좌표계 (1) 3차원 물체의 표현 - 3차원 물체를 표현하는 방법은 물체 표면만 표현하는 방법과 물체 내부까지 표현하는 방법, 두가지 존재 - 그래픽스에서는 주로 물체 표면만 표현하는 방법을 사용, 이를 경계면 표현(Boundary Surface Representation)이라 한다.* 경계면 표현(Boundary Surface Representation) - 물체의 표면을 표현하는 방법으로 주로 평면 다각형(Planar Polygon)의 집합으로 표현 - 곡면을 표현하는 평면 다각형 하나하나를 메시(Mesh), 표면 메시(Surface Mesh), 다각형 메시(Polygon Mesh), 표면 다각형(Polygon Mesh), 표면 다각형(Surface Polygon), ..

컴퓨터 그래픽스 이론 정리 - 정규좌표와 화면좌표

파이프라인 변환 프로세스를 따라가면서 기준 좌표계가 바뀌고, 그때마다 새로운 좌표계를 기준으로 정점 좌표가 바뀐다. 이변환과정은 다음과 같다.1) 모델 좌표 : 물체별로 모델링에 편하게 설정된 좌표계 2) 전역 좌표 : 개별 물체를 모았을 때 한꺼번에 아우를 수 있는 좌표계 3) 시점 좌표 : 물체를 바라보는 시점을 기준으로 표현 4) 정규 좌표 & 화면좌표 : 최종적으로 그림을 화면에 뿌리는 단계* 모든 3차원 물체는 렌더링 결과 2차원 화면에 그려져야 한다. 3차원 좌표에서 2차원 변환이 필요하다. 먼저 정규좌표로 변환을 한 뒤, 화면 좌표로 변환된다. 정규좌표(NDC : Normalized Device Coordinate) : 1을 기준으로 하는 2차원 좌표- 정규화(Normalization) : ..

컴퓨터 그래픽스 이론 정리 - 더블버퍼링(Double Buffering)

더블버퍼링- 일반적인 비디오 카드에서 Frame Buffer는 2중 포트(Dual Port) 구조 - 한쪽은 GPU, 다른 한쪽은 Video Controller. - GPU는 그려질 화면을 프레임버퍼에 쓰는 일을, Video Controller는 프레임버퍼에 그려진 화면을 출력하는 일을 한다. * GPU가 프레임버퍼에 쓰는 작업은 비디오 컨트롤러가 프레임 버퍼를 읽는 속도에 비해 훨씬 느리다. - Flickering(깜빡거림) 현상은 이러한 속도차로 발생하는 문제로, Frame Buffer에 완전히 정보가 저장되지 않은 상태에서 불완전한 내용의 버퍼를 화면에 그리면서 발생한다. => Flickering(깜빡거림) 현상을 해결하기 위해 더블 버퍼링을 사용한다. 더블 버퍼링(Double Buffering) ..

컴퓨터 그래픽스 이론 정리 - 컬러이론, 컬러모델

책 OpenGL로 배우는 3차원 컴퓨터 그래픽스를 기반으로 작성.1. 컴퓨터 그래픽스(Computer Graphics) 1) 컴퓨터를 사용하여 그림을 생성하는 기술(게임, 애니메이션, VR, AR ..._) * 영상 처리(Digital Image processing) : 기존에 존재하는 그림을 개선/인식하는 기술 (Photoshop..) 2) 그래픽스 구성요소 - 모델링(Modeling) + 렌더링(Rendering) - 모델링 : What to draw, 그래픽으로 표현하고 자하는 장면(Scene) 내부의 물체(Object)를 정의하는 작업 - 렌더링 : How to Draw, 모델링에 정의된 물체를 어떻게 그릴 것인가. (조명을 어떻게 할지, 관찰자의 위치는 어디인지, 3차원의 물체를 어떻게 2차원으..

게임을 움직이는 수학과 물리 4장 - 2차원

게임을 움직이는 수학과 물리 4장 - 2차원 4.1 차원- 차원 : 공간을 표현하는 한가지 지표. 3차원이란 차원이 3개란 의미인데 가로, 세로, 높이를 가리킨다. 2차원이란 가로와 세로로 구성된 차원으로 일반적으로 평면 디스플레이에서 사용한다.4.2 좌표- 좌표 : 화면에서의 위치를 나타낸 것-좌표의 이동 : (5,2)->(1,4)로 이동하는 것은 x는 5->1, -4만큼 움직이고 y축은 2->4, 2만큼 움직인다. 결국 (-4, 2)만큼 움직인 것이다. (-4, 2)가 이동량이 되는데 이 이동하는 정보를 벡터(vector)라고 한다.4.3 좌표와 벡터 - 위치를 나타내는 것은 좌표, 이동량을 나타내는 것은 벡터 모두 (x,y)형태로 표기한다. 좌표는 어느 지점을 가르키는 위치 정보이고, 벡터는 이동량..

재미있게 알아보는 AI 키워드 70 - 학습하고 진화하는 인공지능

사회와 역사 속의 인공지능(1~9)학습하고 진화하는 인공지능10. 딥러닝(심층학습) - 뉴럴네트워크 기술 중 하나(뉴런 구조와 움직임을 모델화) - 학습데이터를 주입하여 특징을 알아서 추출 - 이미지 데이터나 파형데이터처럼 기호로 표현할 수 없는 데이터의 패턴을 인식하여 학습11. 머신러닝(기계학습) - 기계 스스로 학습, 새로운 지식을 습득하는 게 아닌 이미 구현한 사고를 조절해서 사전에 정해놓은 지식 형태로 축적 *지도학습과 비지도 학습 - 지도학습 : '교사 데이터'를 준비해 한가지 방향으로 학습 - 비지도학습 : 자신이 모은 데이터를 사용하여 학습 -> 지도학습은 특정 입력에 대한 반응(답)이 교사 데이터가 된다. 따라서 대량의 데이터가 입력으로 필요하며, 비지도 학습은 제대로 학습할 수 있는 환..