Quick Flow
같은 공간의 입력·출력을 같은 새 기저로 표현하면 A_B=P⁻¹AP입니다. P는 새 기저 좌표를 기존 표준 좌표로 바꾸는 행렬입니다.
새 입력 좌표 → P → 표준 입력 → A → 표준 출력 → P⁻¹ → 새 출력 좌표
[x]B ───────────────────────────────────────────────→ [Ax]B
A_B벡터 좌표와 변환 행렬
기저와 좌표에서는 x=P[x]B를 계산했습니다. 같은 벡터의 표현을 바꾸는 식입니다. 이번에는 입력에 적용할 선형변환 A 자체를 새 좌표에서 어떤 행렬로 써야 하는지 묻습니다.
예를 들어 표준 좌표에서 x축 2배·y축 3배를 수행하는 A와 기저 (1,0),(1,1)을 사용합니다.
A = [ 2 0 ] P = [ 1 1 ] P⁻¹ = [ 1 -1 ]
[ 0 3 ] [ 0 1 ] [ 0 1 ]
A_B = P⁻¹AP = [ 2 -1 ]
[ 0 3 ]A는 대각행렬인데 새 기저에서는 A_B가 대각이 아닙니다. 실제 변환이 달라진 것이 아니라, 기울어진 좌표 기준으로 표현했기 때문입니다.
같은 결과를 두 경로로 계산
표준 입력 x=(3,2), 새 좌표 [x]B=(1,2)
표준 경로: Ax=(6,6)
새 좌표 경로: A_B(1,2)=(0,6)
다시 표준 좌표: P(0,6)=(6,6)두 경로가 같은 결과를 내야 올바른 좌표 변환입니다. [Ax]B=(0,6)을 표준 좌표의 (0,6) 위치로 바로 그리면 다른 결과를 표시하게 됩니다.
이 관계를 닮음이라고 합니다. 같은 선형변환의 다른 기저 표현은 고유값·행렬식·대각합을 보존합니다. 고유벡터의 좌표는 바뀔 수 있습니다. 예제에서 두 행렬의 고유값은 2와 3이고 determinant는 6입니다.
입력과 출력 기저가 다를 때
A가 서로 다른 공간 사이의 변환이라면 입력 기저 P와 출력 기저 Q를 따로 사용할 수 있습니다. 이때는 A_new=Q⁻¹AP입니다. 두 공간의 차원이 다르면 A는 직사각행렬일 수도 있습니다.
P와 Q가 같지 않은 일반적인 양쪽 좌표 변경을 무조건 닮음이라고 부르지 않습니다. P⁻¹를 Pᵀ로 바꾸는 단순화도 P가 정규직교 기저일 때만 가능합니다. 위 P는 기울어진 기저이므로 그 조건을 만족하지 않습니다.
그래픽스에 연결
local/world/view에서 같은 변환을 어느 좌표 기준으로 적용하는지 추적할 때 이 구조가 나타납니다. 점의 원점 이동까지 포함하려면 아핀 변환과 동차좌표를 함께 사용합니다.
행렬의 메모리 배치를 바꾸는 전치와 수학적인 기저변환은 다른 작업입니다. OpenGL에 전달할 때는 먼저 수학적 입력·출력 공간을 정한 뒤 행렬 업로드의 저장·곱 규약을 맞춥니다.
비실수 고유값의 켤레쌍이 만드는 실수 불변평면과 기저의 방향은 복소수 고유값과 회전에서 계산합니다.
참고 링크
2 sources