목록분류 전체보기 (150)
개발하는 리프터 꽃게맨입니다.
어떤 집합안에 2개의 지점을 선으로 연결했을 때, 그 선을 이루는 요소들이 그 집합 안에 속해 있다면 그 집합을 컨벡스 집합이라고 부릅니다.좌측이 컨벡스 집합우측은 컨벡스 집합은 아니고 컨케이브 집합이라고 부릅니다. 컨벡스 집합을 만들어내는 수식을 컨벡스 결합이라고 부릅니다.어떤 점들의 스칼라 계수 곱의 합을 통해서 닫힌 상태의 새로운 점을 만들어낼 수 있습니다.이러한 결합을 아핀 결합이라고 부릅니다. 일반화하면 이렇게 나타낼 수 있습니다. 선형 독립인 점 2개의 아핀 결합은 두 점을 포함하는 직선선형 독립인 점 3개의 아핀 결합은 세 점을 포함하는 평면을 생성할 수 있습니다.선형 독립인 점 4개의 아핀 결합은 네 점을 포함하는 공간을 생성합니다. 여기서 한 발 더 나아가 봅시다. 어떤 점 Px 는 ..
2D 카메라 설계 앞서 만든 2D 랜더링 엔진에 카메라를 추가해보겠습니다. 카메라는 화면을 만들어내는 기준이 됩니다.이런 식으로 무한한 크기의 월드가 존재하고카메라가 비추는 방향 바꾸거나, 카메라를 회전시키거나, 카메라를 줌인 줌아웃 시켜서 세상을 입체적으로 표현할 수 있습니다. 카메라 또한 3가지 변환을 수행합니다. 1. 이동 변환2. 회전 변환3. 크기 변환 해당 선형 변환으로 만들어낸 행렬을 카메라의 모델링 행렬이라고 합니다.그러면 이 카메라의 모델링 행렬을 이용해서 윈도우에 렌더링 하는 방법을 설명합니다. 설명을 간단하게 하기 위해서 이동 변환만 수행한다치고 설명해보겠습니다. 이런 식으로 월드와 많은 종류의 오브젝트, 3사분면에 위치하는 카메라가 존재한다고 해봅시다. 실질적으로 윈도우에 그려지는..
변환 행렬 대표적인 선형 트랜스폼은 3개 존재합니다.바로 크기, 회전, 이동 변환이죠. 2차원에서 이들의 변환행렬을 한 번 살펴봅시다. 크기 변환 행렬 크기 변환 행렬에 대해서 살펴봅시다.크기 변환은 이런 식으로 한 좌표를 일정한 비율로 키워야 합니다.예를 들어 P(2, 4) 라고 했을 때,x축으로 2배 y축으로 3배 늘린다고 했을 때,P'(2 * 2, 3 * 4) 가 됩니다. 이런 식으로 정점을 늘린 후,정점끼리 선을 그리면 마치 크기가 늘어난 듯한 모습을 보여줍니다.그러면 이렇게 정리할 수 있겠죠점 P(x, y) 가 있다고 할 때, x축으로 a배 만큼 y축으로 b배 만큼 늘린다면 그 좌표를 P(ax, by) 라고 할 수 있다. 그러면 크기 변환 행렬은 다음과 같이 구할 수 있습니다. 회전 변환 행렬..
서론 선을 그리는 것은 힘든 일은 아닙니다. 점 P1 과 점 P2가 있다고 합시다. 위 그림과 같이 식을 전개하면 P1P2 사이의 점 Px 를 구할 수 있습니다. 이 공식을 이용해서 직선을 긋는 알고리즘을 한 번 작성해보겠습니다. 위 선 그리기 알고리즘을 통해서 삼각형을 하나 그려봤습니다.이 선 그리기 알고리즘은 꽤나 간단하고 그럴싸해 보이지만 성능상 문제가 존재합니다. 일단, t의 증가량을 어떻게 설정해야 할 지 애매하기 때문에 필요 이상으로 점을 많이 찍거나, 혹은 필요 이하로 점을 덜 찍을 가능성이 존재합니다. 그 다음은 부동소수점 곱셈으로 연산을 수행하기 때문에 속도가 떨어질 수 있습니다. 결국 픽셀좌표 하나하나는 정수 값을 가지기 때문에, 이론상 정수만을 해용해서 선을 그릴 수 있습니다. 첫 번..