
지난번 포스팅으로 컴퓨터에서 어떻게 공간을 채색하는지 알아보았습니다. 이번 포스팅은 이 채색을 무슨 Color로 하는지에 대한 포스팅입니다. 1. Color의 표현 컴퓨터 상에서 한 Pixel마다 Color를 정의할 때 보통 4개의 Element를 이용하며, 대표적으로 1_1. RGB Color Model 현실에서 Red, Green, Blue 3개의 원소를 가지고 표현한 색좌표입니다. 1_2. CMYK Color Model RGB와 반대로 Cyan, Majenta, Yellow 3가지 색상을 이용하며, RGB Color Model의 값에 Not을 취한 결과와 같습니다. 하지만 이때 CMY 에 추가로 K(key)가 있습니다. Grey의 농도를 조절하는 부분이 추가되어 있습니다. 1_3. HSV Color..

지난 포스팅까지 점과 선의 구성, 변환에 대해서 포스팅하였습니다. 그럼 이제 선과 선 사이에 어떻게 색을 채워넣는지 알아보도록 하겠습니다. 다각형이 있다고 할때, 이 다각형에 수평으로 선을 그으면 대략적인 채색의 윤곽이 보이게됩니다. 보면 알 수 있듯, 수평이 아닌 선분에서 다각형을 그리면 위처럼 접점의 회수가 존재합니다. 이때, 주황색은 색이 칠해질 부분이고, 파란색은 색이 칠해지지 않을 부분이 됩니다. 즉, 접점이 짝수인 부분은 비채색, 접점이 홀수인 부분만 채색을 하게됩니다. 아지만 위 방법만 으로는, 아래와 같은 경우의 채색을 결정하지 못합니다. 수평선분 또는 꼭지점과 만날 경우, 처음에 말씀드린 법칙 만으로는 어느 부분에 채색을 해야할지 알기 어렵습니다. 이 문제를 해결하기 위해서 3가지 법칙이..

지난 포스팅에서 동차좌표계를 활용해서 기하변환을 모두 행렬의 곱으로 바꿨습니다. 이제, 이러한 기하변환은 여러번 취하는 복합기하변환에 대해서 알아봅니다. 1. 복합기하변환 한 점을 점의 이동 + 크기변환을 진행한다고 가정합니다. 지난번 포스팅에서 기하변환을 모두 행렬의 곱으로 나타냈기 때문에, 이 변환들 모두 행렬의 곱으로 표현됩니다. 그럼, P1-> P2로 가고, P2->P3로 갈 때 기하변환 Matrix끼리 곱해도 행렬의 형태가 유지되며 최종적으로 P1->P3로 이동한 결과를 얻을 수 있습니다! (이때 행렬 곱의 순서는 바뀌면 안됩니다) 이러한 연산은 회전변환과 점의이동의 복합기하변환에서도 마찬가지입니다. 아래 예시를 보겠습니다. 위 경우 원점이 아닌 특정한 점(x1, y1)을 기준으로 회전할려고 합..

이전 포스팅에서 N차원까지 확장이 가능한 점의이동, 크기변환, 회전이동 기하변환에 대해서 다뤘습니다. 이때, N차원은 N개의 Element를 갖는 데카르트 좌표계를 사용했습니다. 기억하실지 모르겠지만, 기하변환에 사용되는 "동차 좌표"가 있다고 과거 포스팅에서 언급했습니다. teus-kiwiee.tistory.com/42 1. 점과 선 컴퓨터의 화면은 점과 선 으로 이뤄져 있다고 할 수 있습니다. (결국 선도 점으로 이뤄져 있죠) 이때, 컴퓨터는 어떻게 점과 선을 표현할까요? 이번 포스트는 컴퓨터가 점과 선을 표현하는 방법 teus-kiwiee.tistory.com 지난번 포스트에서 3개의 기하변환을 다뤘고, 점의 이동은 Vector(Matrix)의 덧셈을 통해서 구했습니다. 이때 동차좌표계를 사용하면서..

기하변환? 기하변환이란 기하학적인 좌표계에서 성분의 변화라고 할 수 있습니다. 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의 값을 바꿔가며 판별을..
- Total
- Today
- Yesterday
- Python
- GDC
- 병렬처리
- javascript
- Sort알고리즘
- 분할정복
- 사칙연산
- stack
- hash
- 청첩장
- prime number
- 알고리즘
- 자료구조
- 모바일청첩장
- ai
- react
- Greedy알고리즘
- GPT
- 완전탐색 알고리즘
- git
- LLM
- 동적계획법
- Search알고리즘
- 프로그래머스
- 이분탐색
- 코딩테스트
- AVX
- SIMD
- 셀프모청
- ChatGPT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |