오늘 수업 : 3가지의 중요한 변환을 배운다
이 변환들은 무조건 3X3 행렬을 이용한 곱셈으로 표현할 수 있다.
Affine Transform ㄴ Linear Transform - Scaling - Rotation ㄴ Translation |
[Scaling]
- 축소, 확대 ( x 방향 , y방향 scale )
ex_1) 정점의 Scaling
- 행렬의 곱셈으로 표현할 수 있다.
ex_2) 다각형의 Scaling
- 다각형의 모든 Vetor에 스케일링 벡터를 곱해주면 그 다각형은 scaling 된다.
[Rotation]
- 회전 변환
ex_1) 정점의 Rotation
- 회전각 Θ 만큼 반시계 방향으로 회전시키는 벡터는 아래와 같다.
ex_2) 정점의 Rotation ( 시계방향 )
[Translation]
- 이동시킨다.
- Cartesian coordinates(카테시안좌표) 덧셈으로 표현이 된다. -> 얘도 곱셈으로 표현 할 수 없나요?
ex_1) 덧셈으로 표현하기
ex_2) 곱셈으로 표현하기
- homogeneous coordinates (동차좌표) 를 통해서 곱셈으로 표현 가능하다.
> 동차좌표를 구한다.
> 위에서 만들어둔 x,y,1 과 동차좌표를 곱해준다.
tip ) 동차좌표에는 1만 넣어야 하나요? 아닙니다.
1대신 w를 집어넣고, x,y에 모두 w를 곱해주면 동차좌표가 나온다.
ex) (2,3)만큼 translate 시키는 동차좌표는 (2,3,1) (4,6,2) (6,9,3) 이 있다.
[Scaling, Rotation 또한 3x3으로 표현할수 있나?]
동차좌표 때문에 3x3으로 표현이 되었는데.
Scaling, Roation 의 2x2 행렬들은 3X3으로 표현 못하나요
ex ) Scaling ,Rotation 도 3x3으로 표현할 수 있다.
[왜 모든 행위를 '3x3배열'의 '곱셈'으로 가능하게 했을까? ]
도형의 변환을 곱셈의 연속으로 표현할 수 있다.
ex_1) 90도 회전 -> (7,0) 이동
ex_2) 교환법칙에 대한 고찰
- 행렬의 곱셈은 교환법칙이 성립하지 않는다.
> Transform 또한 행렬들의 곱셈들로 이루어 져있기 때문에, 교환법칙이 성립하지 않는다.
> AB != BA
[임의의 점을 기준으로 Rotation]
ex_1) 회전식의 결과물이 이상하다. 왜냐하면 origin(원점)에 대해 회전시키는 공식이었기 때문이다.
ex_2) 원점이 아닌 점에 대해 이동시키는 올바른 방법
- 먼저 점을 원점과 기준점의 차이만큼 Translation(이동)시키고
- 회전시키고(Rotation)
- 다시 이동시켰던 만큼 re-Translation(이동) 시킨다.
'ComputerGraphics [고려대학교_한정현]' 카테고리의 다른 글
5강(1) - 랜더링 과정 중에서 View Transform ( World Space -> Camera Space 변환) (0) | 2023.03.26 |
---|---|
4강(4) 3차원에서 World Transform ( Object Space -> World Space 변환 ) (0) | 2023.03.26 |
4강(2) - Transform 3x3행렬의 L구간, T구간 (0) | 2023.03.25 |
1강 그래픽스란 ,2강 수학 (0) | 2023.03.25 |
3장 - 모델링 > Polygonmesh 의 Vertex Array 표현법 (0) | 2023.03.25 |