반응형
기하변환
기하변환: 물체의 위치나 방향, 크기 등을 바꾸는 기하학적 변환
기본 2차원 변환
1. 2차원 이동변환
점의 2차원 이동변환
변화량 t일 때
- P' = P + T
- x' = x + t_x
- y' = y + t_y
물체의 이동변환
- 삼각형이 이동시, 삼각형을 구성하는 모든 꼭지점이 변화량 T만큼 이동해야함
2. 2차원 크기변환
원점을 기준으로 한 2차원 크기변환
변화량 s일 때
- P' = SP
- x' = s_x * x + 0y
- y' = 0x + s_Y * y
임의 고정점을 기준으로 한 크기변환
임의 고정점 f를 원점인것처럼 계산
3. 2차원 회전변환
2차원 평면에서의 각도와 좌표의 관계
- x = r cos a
- y = r sin a
2차원 회전행렬
동차좌표계와 기본 2차원 변환 행렬
1. 동차좌표와 기하변환
동차좌표
- n차원 투영공간을 n+1개의 좌표로 나타내는 좌표계
- 0이 아닌 모든 h에 대해 (hx, hy, h)는 데카르트 좌표계상에서 하나의 좌표 (x,y)를 나타냄
동차좌표계에서 기본 기하변환의 행렬 표현
- 기본 기하변환을 변환행렬과 좌표 벡터의 곱으로 표현할 수 있음
- 2차원 변환행렬은 3x3 행렬로 표현됨
2. 동차좌표 변환 행렬
- 이동 변환 행렬
- 크기 변환 행렬
- 회전 변환 행렬
기본 3차원 변환
기본적인 개념은 2차원과 같음
- 이동이나 스케일은 거의 비슷
- 회전행렬의 경우 어떤 축을 기준으로 회전하느냐에 따라 행렬이 달라짐
복합 기하변환
- 한 물체에 이동, 크기, 회전 변환을 연속적으로 수행하는 경우
- 연속적으로 수행할 변환 행렬들을 미리 곱하여 하나의 행렬로 만든 후 수행해도 결과는 같음
기타 기하변환
1. 대칭변환
x축, y축, 원점을 기준으로 대칭
- x축 대칭변환: y만 부호변환
- y축 대칭변환: x만 부호변환
- 원점 대칭변환: x,y 부호변환
2. 밀림변환
- 각각의 점들이 동일한 방향으로 평행 이동하는 선형변환
- 이동량은 점의 이동선을 포함하는 직선과 원점 사이의 거리에 비례
3. 아핀변환
아핀변환행렬
- 이런 형태의 배열을 아핀변환이라 부름
- 동일한 직선상에 놓은 세 점은 변환 후에도 하나의 직선상에 놓인다.
- 하나의 직선상에 놓인 서로 다른 세 점 사이의 거리의 비는 변환 후에도 동일하다.
- 평행한 선들은 변환 후에도 평행하다.
강체변환
- 아핀변환 중 이동과 회전만으로 구성된 기하변환
좌표계 사이의 변환
- T행렬을 더해 원점을 맞춰줌
- R행렬을 곱해 좌표축을 맞춰줌
OpenGL의 기하변환
항등행렬 만들기
- 항등 행렬 만들기: 다 0으로 채우고 대각선 행렬만 1
- 이동 행렬 만들기: 항등 행렬에 3열만 채우기
- 회전 행렬 만들기: 항등 행렬에 sin/cos 채우기
셰이더
- uniform변수: 도형이 처리되는 동안 동일한 값을 사용할 변수
- 행렬이 행 우선으로 저장되었을 경우 transpose=true
반응형
'공부 > 컴퓨터그래픽스 이론' 카테고리의 다른 글
그래픽스 기본 요소의 속성 (0) | 2022.05.01 |
---|---|
컴퓨터 그래픽스의 기본 요소 - 점, 선, 원뿔곡선, 다각형 (0) | 2022.03.12 |