기하변환? 기하변환이란 기하학적인 좌표계에서 성분의 변화라고 할 수 있습니다. 1. 1차원 좌표계 점을 (x1,y1) -> (x2, y2)로 움직이는것이 가장 기초적인 기하변환 이라고 할 수 있겠죠. 이때 x2 = x1 + delx, y2 = y1 + dely 로 표현됩니다. 이제 이 식을 벡터로 표현하면 이때, 이 두 점을 원점에서 부터 비교하면, 특정한 점을 원점으로부터 거리만큼의 배수만큼 증가시키는 크기변환은 위와같은 행렬곱을 이용하면, 가로를 a배, 새로를 b배 늘리는 것을 손쉽게 할 수 있습니다 :) 이제 점의 직선의 이동을 했으니, 회전을 생각해봅시다. 원점에서 떨어진 거리가 같을 때, 각도 W에서 V만큼 추가로 회전하는 기하변환 입니다. 이때 반지름을 r이라고하면, x1, y1 과 x2, y..
점과 선, 이번에는 곡선입니다. 곡선은 원뿔에서 나옵니다. 네. 곡선(쌍곡선, 원, 타원, 한쪽곡선)은 두개의 원뿔로 부터 구할 수 있습니다. 이러한 곡선의 Pixel화 역시 직선에 방정식에서 사용한 Bresenham알고리즘을 사용하면 화면에 Pixel화 하여 Display하는것이 가능합니다. 아래는 이제 곡선을 예로 들어보겠습니다. 곡선의 방정식 역시 X좌표를 이동하면서, next X에서 next Y와 Next Y+1의 사이점을 곡선값과 비교하게 됩니다. 이 비교식을 통해서 판별식을 만들고, 만들어진 판별식으로 각 X마다의 Next X에서 Y값을 구하게 됩니다. 원의 방정식을 예로 판별식을 봅시다. 이때, 직선과 다르게 곡선은 미분값이 일정하지 않습니다. 때문에 X의 위치마다 n의 값을 바꿔가며 판별을..
컴퓨터의 화면은 점과 선 으로 이뤄져 있다고 할 수 있습니다. (결국 선도 점으로 이뤄져 있죠) 이때, 컴퓨터는 어떻게 점과 선을 표현할까요? 이번 포스트는 컴퓨터가 점과 선을 표현하는 방법에 대한 포스트 입니다. 1. 점 2차원 평면에 점이 있다고 해 봅시다. 이때 기존에는 (x, y) 두개의 Element로 표현합니다. 이를 데카르트 좌표라고 합니다. 이때, 컴퓨터에선 점의 표현은 위해서 동차좌표라 하여, Element h를 추가한 좌표를 사용합니다. 데카르트 좌표 ==> 동차좌표 (x, y) ==> (xh, yh, h) 컴퓨터에서 점 표현에 동차좌표를 사용하는 이유는 추후 기하변환(회전, 수축, 이동 등)에서 h의 추가로 얻어지는 계산 및 편의성이 증가하기 때문입니다 (추후에 포스팅 예정입니다) 2..
- Total
- Today
- Yesterday
- hash
- 동적계획법
- 이분탐색
- AVX
- 알고리즘
- SIMD
- 코딩테스트
- 프로그래머스
- heap
- Search알고리즘
- 완전탐색 알고리즘
- Sort알고리즘
- 컴퓨터그래픽스
- Python
- 분할정복
- git
- 병렬처리
- stack
- 사칙연산
- prime number
- Greedy알고리즘
- 자료구조
- C++
- GDC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |