프로그래밍/컴퓨터그래픽스

어파인 변환의 해석

studylida 2025. 4. 5. 03:38

📐 어파인 변환의 해석: 고정좌표계 vs 지역좌표계


✅ 1. 객체의 변환 (Fixed Coordinate System, 고정좌표계)

이 방식은 우리가 가장 자주 사용하는 형태입니다.

  • 좌표계(기준축)는 고정되어 있고,
  • 객체(점이나 도형)가 변환 행렬에 의해 변형됩니다.

📌 수식:

q' = Xq

  • X: 변환 행렬 (회전, 스케일, 이동 등 포함)
  • q: 원래의 점 좌표 (동차좌표)
  • q': 변환된 점의 좌표 (동일한 기준축에서 본)

📌 슬라이드 해석:

➡️ 객체가 고정 좌표계 기준으로 회전하고 이동된 것처럼 해석


✅ 2. 좌표계의 변환 (Local Coordinate System, 지역좌표계)

이번에는 반대입니다!

  • 객체는 그대로 두고,
  • 우리가 보는 좌표계가 바뀌는 경우를 생각해요.

📌 수식:

q' = Xq

하지만 해석이 다릅니다:

  • q: 점의 지역좌표계 기준 좌표
  • q': 점의 전역좌표계 기준 좌표
  • X: 새로운 좌표계의 기준축 + 원점 정보
    X = [vec{v_1} * vec{v_2} * p]

즉, 좌표계 자체를 회전하고 이동한 후, 그 기준에서 바라보는 위치를 계산하는 것입니다.


🔍 그런데… X는 뭘 의미하죠?

X는 이런 구조예요:

의미
vec{v_1} 새로운 x축 방향
vec{v_2} 새로운 y축 방향
p 새로운 좌표계의 원점 (전역 좌표계 기준)

✅ 3. 예시 설명 (두 번째 슬라이드)

이 예시는 지역좌표계의 변환을 시각적으로 보여주고 있어요.

🔹 구성 요소:

\[ X = \begin{bmatrix} 2 & 1 & 2 \\ 0 & 2 & 1 \\ 0 & 0 & 1 \end{bmatrix} \quad q = \begin{bmatrix} 0.5 \\ 1 \\ 1 \end{bmatrix} \] 이건 어떤 의미냐면: - **새로운 좌표계의 원점**: \( p = (2, 1) \) - **새로운 x축 방향 벡터**: \( \vec{v}_1 = (2, 0) \) - **새로운 y축 방향 벡터**: \( \vec{v}_2 = (1, 2) \) - 그리고 q는 이 좌표계 안에서 (0.5, 1) 위치에 있음

🔹 계산

\[ q' = 0.5 \cdot \vec{v}_1 + 1 \cdot \vec{v}_2 + p = 0.5(2, 0) + 1(1, 2) + (2, 1) = (1, 0) + (1, 2) + (2, 1) = (4, 3) \] 즉, **새로운 좌표계 기준으로 봤을 때** `(0.5, 1)`에 있던 점은 **전역 좌표계 기준으로 보면 `(4, 3)` 위치에 있음**을 말해주는 거예요.


💡 직관적으로 정리하면

구분 의미
고정 좌표계 좌표축은 고정, 객체가 직접 변형
지역 좌표계 객체는 그대로, 좌표축이 이동 + 회전
( X ) 행렬 새로운 좌표계의 x, y축 방향 벡터 + 원점 위치
( q ) 새로운 좌표계 안에서의 좌표
( q' = Xq ) 전역 좌표계에서 본 진짜 위치

✨ 비유로 이해하기

  • 고정 좌표계: 내가 제자리에서 물체를 돌린다 → 물체가 변형됨
  • 지역 좌표계: 물체는 그대로인데, 내가 몸을 돌려서 본다 → 보는 방향만 바뀜