전체 글84 벡터(Vector) 벡터, 사전적 정의는 다음과 같다. 벡터는 수학, 물리학, 공학에서 크기와 방향을 갖춘 양을 일컫는다. 막연한 말이다. 대체 무엇을 의미하는 걸까? 또, 벡터를 검색하면 자동으로 스칼라라는 개념도 나온다. 대체 이 둘은 무엇이길래 우리를 이렇게 어지럽게 만드는 걸까? 감수성만 충만한 문과생의 입장에서 프로그래밍의 벡터를 정리하기란 어려웠지만 열심히 찾고 또 찾아 도전해보았다. 벡터는 컴퓨터 그래픽스에서 뗄 수 없는 개념이다. 컴퓨터는 공간을 좌표로 계산한다. 특정 좌표에서 다른 좌표로 이동할 경우, 이 이동에는 방향성과 속력 즉, 힘이 들어간다. 이는 그림으로 표현하면 다음과 같다. 한 정점에서 다른 정점으로 이동하는 방향과 힘을 가진 것, 이것이 기하학적 벡터(Euclidean Vector)이다. 위 .. 2022. 12. 16. [Game] 변환행렬 컴퓨터 화면은 좌표로 이뤄져 있다. 특정 도형은 화면의 좌표 위에 존재하게 되고 만약 사각형이 있다고 가정할 경우 좌표에 사각형의 네 각에 해당하는 정점(Vertex)가 찍혀 있을 것이다. 2차원 화면에서 이 네 개의 vertex는 x와 y의 좌표값을 가진다. 만약 이 도형을 움직이고, 크기를 키우거나 줄이고, 회전을 시키고 싶다면 어떻게 해야 할까. 단순히 좌표값을 바꾸면 된다. x 축을 기준으로 + 100을 이동하고 싶다면 네 정점의 좌표값의 x 좌표를 + 100 하게 되면 + 100만큼 이동한 것으로 보인다. 하지만 하나하나 이렇게 좌표를 입력하기 보단, 행렬을 이용하여 입력되는 값에 맞춰 자동으로 계산이 되게 하는 것이 훨씬 더 깔끔하게 적용이 된다. 이때 이용하는 것이 바로 변환행렬이다. 변환행.. 2022. 12. 15. [Programing] 정적 & 동적 라이브러리 동적(Dynamic) & 정적(Static) 라이브러리 이 두 가지 개념을 이해하기 전에 우선 라이브러리에 대한 개념을 확인해야 한다. 라이브러리(Library)란? 소프트웨어를 만들 때 쓰이는 클래스나 서브루틴[1] 들의 모임을 가리키는 말이다. 다른 프로그램들과 링크되기 위해 존재하는, 하나 이상의 서브루틴이나 함수(Function)들의 집합 파일이다. 또한, 링크될 수 있도록 보통 컴파일 된 형태인 목적코드(Object Code)[2] 형태로 존재한다. 미리 컴파일 되어 있어서 컴파일 시간도 단축된다. 라이브러리의 목적 라이브러리는 코드 재사용을 위해 조직화된 초창기 방법 중의 하나이며 많은 다른 프로그램들에서 사용할 수 있도록 운영체제나 소프트웨어 개발 환경제공자들에 의해 제공되는 경우가 많다. .. 2022. 12. 15. 행렬 행렬이란 무엇일까? 행렬은 간단하게 이야기하자면 표를 간략화 한 것이다. 행렬의 성분 ( i, j ) 성분을 각각 행과 열로 대응시켜 정의를 하는 것을 의미한다. 수학을 공부하지만 수학을 게임에 적용하여 사용할 것이기 때문에 자세한 내용은 생략하고 몇 가지 개념만을 집고 넘어갈 생각이다. 정방행렬 - 행과 열의 수가 동일한 정사각형의 행렬을 의미한다. 이 가운데 행과 열의 지표가 같은 원소( i = j )를 대각성분이라고 한다. 전치행렬 - 행렬의 행과 열을 맞바꾼 행렬을 의미한다. 가령 3 * 2의 행렬 A가 있다면 원소는 그대로 두고 2 * 3으로 바꾼 행렬 A^T가 바로 전치행렬이 된다. 단위행렬(uint matrix) - 항등행렬(identity matrix)라고도 하며 주대각선의 원소가 모두 1.. 2022. 12. 14. 이전 1 ··· 16 17 18 19 20 21 다음