회전변환행렬
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
회전변환행렬은 공간에서 물체의 회전을 표현하는 데 사용되는 행렬이다. 2차원 회전 행렬은 원점을 중심으로 한 회전을 나타내며, 삼각함수를 사용하여 표현할 수 있다. 3차원 회전은 x, y, z 축을 기준으로 하는 기본 회전 행렬의 조합으로 나타낼 수 있으며, 오일러 각도, 로드리게스 회전 공식 등을 사용하여 표현할 수도 있다. 회전 행렬은 직교 행렬이며, 컴퓨터 그래픽스, 군론 등 다양한 분야에서 활용된다. 회전 행렬은 전단 행렬, 독립 평면, 순차 각도, 케일리-클라인 매개변수 등으로 분해될 수 있으며, 회전 행렬의 성질과 분해 방법을 통해 회전의 축과 각도를 계산할 수 있다.
2차원 유클리드 공간에서 원점을 중심으로 각도 만큼 회전시키는 변환은 행렬을 사용하여 나타낼 수 있다. 일반적으로 반시계 방향 회전을 양(+)의 방향으로 간주한다.
3차원 회전 공식 참조
2. 2차원 회전
점 를 원점을 중심으로 각도 만큼 반시계 방향으로 회전시킨 새로운 점을 라고 할 때, 이 변환은 다음과 같은 2x2 회전 행렬 로 표현된다.
:
이 행렬을 이용하여 열 벡터 형태의 점 에 대한 회전 변환은 행렬 곱셈으로 계산할 수 있다.
:
따라서 회전 후의 새로운 좌표 는 다음과 같이 계산된다. 이 관계는 삼각함수의 덧셈정리를 통해 유도할 수 있다.[31][32]
:
시계 방향 회전이나 복소 평면과의 관계 등 더 자세한 내용은 하위 섹션에서 다룬다.
2. 1. 반시계 방향 회전
2차원 유클리드 공간에서 원점을 중심으로 각도 만큼 반시계 방향으로 회전시키는 변환을 나타내는 행렬은 다음과 같다.
:
이 행렬을 이용하여 열 벡터 형태의 점 를 회전시키면 다음과 같이 새로운 좌표 를 얻을 수 있다.
:
따라서 회전 후 점 의 새로운 좌표 는 다음과 같이 계산된다. 이 관계는 삼각함수의 덧셈정리를 이용해 유도할 수 있다.
:
예를 들어, 점 (3, 5)를 원점을 중심으로 반시계 방향으로 90º 회전시키면 삼각함수 값을 이용하여 다음과 같이 계산할 수 있다.
:
즉, 회전된 점의 좌표는 (-5, 3)이다.
표준 기저 벡터를 회전시키는 경우를 살펴보면 다음과 같다.
벡터 회전의 방향은 일반적으로 각도 가 양수(예: 90°)이면 반시계 방향, 음수(예: -90°)이면 시계 방향으로 정의된다. 표준 오른손 좌표계(데카르트 좌표계)에서는 x축이 오른쪽, y축이 위쪽을 향하며, 이때 는 반시계 방향 회전을 나타낸다.[1] 2D 컴퓨터 그래픽스 등에서는 원점을 왼쪽 상단에 두고 y축이 아래를 향하는 왼손 좌표계를 사용하기도 하는데, 이 경우 동일한 행렬 가 시계 방향 회전을 나타낼 수 있다.[2]
특별히 자주 사용되는 반시계 방향 회전 각도에 대한 행렬은 다음과 같다.
2차원 회전 변환은 가환적이다. 즉, 여러 번 회전을 수행할 때 회전 순서는 최종 결과에 영향을 미치지 않는다. 이는 3차원 이상의 회전에서는 일반적으로 성립하지 않는 2차원 회전의 특징이다.
2. 2. 시계 방향 회전
벡터 회전의 방향은 각도 ''θ''가 양수(예: 90°)이면 반시계 방향이고, 음수(예: -90°)이면 시계 방향이다. 따라서 점 (''x'', ''y'')를 원점을 중심으로 시계 방향으로 각도 ''θ''만큼 회전시키는 변환 행렬은 반시계 방향 회전 행렬 ''R''(''θ'')에서 각도 ''θ'' 대신 −''θ''를 대입하여 얻을 수 있다.[31][32]
:
이 행렬을 사용하여 점 (''x'', ''y'')를 시계 방향으로 ''θ''만큼 회전시킨 새로운 점 (''x''′, ''y''′)의 좌표는 다음과 같이 계산된다.
:
2차원 평면에서의 회전은 행렬 곱셈의 순서가 결과에 영향을 주지 않는 가환적인 특성을 가진다. 이는 2차원 회전 행렬 그룹이 1차원을 제외하고 유일하게 가지는 성질이다.[1]
회전 방향은 사용하는 데카르트 좌표계의 방향에 따라 다르게 해석될 수 있다. 일반적으로 사용되는 표준 오른손 좌표계(''x''축은 오른쪽, ''y''축은 위쪽)에서는 양의 각도 ''θ''에 대한 회전 ''R''(''θ'')가 반시계 방향으로 정의된다. 하지만 왼손 좌표계(''x''축은 오른쪽, ''y''축은 아래쪽)를 사용하면 ''R''(''θ'')는 시계 방향 회전을 나타낸다. 이러한 비표준 방향은 수학에서는 드물지만, 화면 왼쪽 상단을 원점으로 하고 ''y''축이 아래로 향하는 2D 컴퓨터 그래픽스 분야에서는 흔히 사용된다.[2]
시계 방향 회전에서 자주 사용되는 특정 각도에 대한 행렬은 다음과 같다. 이 행렬들은 시계 방향 회전 행렬 에 해당 각도 ''θ''를 대입하여 얻는다.
:
:
:
2. 3. 복소 평면과의 관계
2차원 회전 행렬은 복소 평면에서의 연산과 밀접한 관련이 있다. 다음과 같은 형태의 행렬을 생각해보자.
:
이러한 형태의 행렬들은 덧셈과 행렬 곱셈에 대해 닫혀 있으며, 환을 이룬다. 이 환은 복소수의 체 와 동형 관계에 있다.[1] 구체적으로, 행렬 는 복소수 에 대응된다.
이 동형 관계에서, 각도 만큼 반시계 방향으로 회전하는 2차원 회전 행렬
:
은 복소수 에 해당한다. 이 복소수는 크기가 1인 단위 복소수이며, 복소 평면의 단위원 위의 점을 나타낸다.
만약 2차원 유클리드 공간 의 벡터 를 선형 동형 사상 를 통해 복소수 와 동일시한다면, 벡터 에 회전 행렬 를 곱하는 것은 복소수 에 단위 복소수 를 곱하는 것과 같다. 즉, 2차원 벡터의 회전은 복소 평면에서 크기가 1인 복소수를 곱하는 연산으로 이해할 수 있다.
오일러 공식에 따르면, 이므로, 회전 행렬 는 복소수 와 대응된다. 이는 회전을 지수 함수를 사용하여 간결하게 표현할 수 있게 해준다.
3. 3차원 회전
3. 1. 기본 회전
3차원 회전 공식 참조
''y''축 기준 반시계 90° 회전(왼쪽 이미지) 후 ''z''축 기준 회전(가운데 이미지)은 주 대각선 기준 120° 회전(오른쪽 이미지)을 만든다.
각 이미지 왼쪽 위는 회전 행렬, 오른쪽 아래는 중심에 원점이 있는 큐브의 해당 순열이다.
기본 3차원 회전(기본 회전 또는 원소 회전이라고도 함)은 좌표계의 축 중 하나를 중심으로 하는 회전이다. 다음 세 가지 기본 회전 행렬은 오른손 법칙을 사용하여 3차원에서 ''x''축, ''y''축, 또는 ''z''축을 중심으로 벡터를 각도 만큼 회전시킨다. 오른손 법칙은 회전 방향과 행렬 부호를 결정하며, 행렬 을 열 벡터 앞에 곱하는 형태에서 적용된다. (동일한 행렬은 축의 시계 방향 회전을 나타낼 수도 있다.[3])
:
열 벡터에 이 행렬들을 곱할 경우, 회전축이 관찰자를 향하고 좌표계가 오른손 좌표계일 때, 양의 각도 는 반시계 방향 회전을 나타낸다. 예를 들어, 는 ''x''축 방향 벡터를 ''y''축 방향으로 회전시킨다.
이러한 행렬들에 의해 생성된 회전의 방향을 명시적으로 또는 실제로 반전시킬 수 있는 대체 규칙에 대해서는 모호성 섹션을 참조하라. 다른 3차원 회전 행렬은 이 세 기본 행렬의 행렬 곱셈을 통해 얻을 수 있다.
3. 1. 1. x축 중심 회전
3차원 공간에서 '''x축'''을 중심으로 벡터를 각도 만큼 오른손 법칙[3]에 따라 회전시키는 변환 행렬 는 다음과 같다.
:
이 행렬을 열 벡터에 곱할 경우, 오른손 좌표계에서 양의 각도 는 y축을 z축 방향으로 회전시키는 반시계 방향 회전을 나타낸다.
3. 1. 2. y축 중심 회전
y축을 중심으로 각도 θ만큼 회전하는 변환 행렬은 다음과 같다.[3]
이 행렬은 오른손 법칙을 따를 때, ''z''축을 ''x''축 방향으로 회전시키는 변환에 해당한다.
3. 1. 3. z축 중심 회전
3차원 공간에서 z축을 중심으로 벡터를 각도 θ만큼 회전시키는 변환 행렬은 다음과 같다.[3]
:
이 행렬은 오른손 법칙을 따르며, 열 벡터에 적용했을 때 z축 양의 방향에서 보았을 때 반시계 방향으로 θ만큼 회전시킨다. 예를 들어, 벡터 (x축 방향 단위 벡터)를 z축 중심으로 90도 회전시키면 다음과 같이 벡터 (y축 방향 단위 벡터)가 된다.
:
이는 x축을 y축 방향으로 회전시키는 것과 같다.
3. 2. 일반적인 3차원 회전
다른 3차원 회전 행렬은 기본 축(x, y, z)에 대한 회전 행렬들의 행렬 곱셈을 사용하여 구할 수 있다. 예를 들어, 오일러 각은 이러한 방식으로 3차원 회전을 표현하는 대표적인 방법 중 하나이다.
3 × 3 회전 행렬 이 주어졌을 때, 회전축에 평행한 벡터 는 회전 후에도 방향이 변하지 않으므로 다음 식을 만족해야 한다.
:
이 식은 이 항등행렬 가 아닌 이상, 스칼라 곱을 제외하고 유일한 방향의 벡터 에 대해 성립한다.
위 식은 다음과 같이 다시 쓸 수 있다.
:
이는 회전축 벡터 가 행렬 의 고유값 1에 해당하는 고유 벡터이며, 동시에 행렬 의 영 공간(null space)에 속한다는 것을 의미한다. 모든 회전 행렬은 고유값 1을 가지며, 나머지 두 고유값은 서로 켤레 복소수이다. 따라서 3차원에서의 일반적인 회전 행렬은 상수배를 제외하고 단 하나의 실수 고유 벡터(회전축 방향 벡터)를 갖는다.
회전축 를 찾는 한 가지 방법은 다음 관계식을 이용하는 것이다.
:
여기서 는 의 전치행렬이다. 행렬 는 비대칭 행렬(skew-symmetric matrix)이며, 이 행렬의 성분으로부터 회전축 벡터 의 방향을 알아낼 수 있다.
구체적으로, 회전 행렬 의 성분이 다음과 같을 때,
:
회전축 벡터 에 비례하는 벡터는 다음과 같이 계산할 수 있다.
:
이 벡터의 크기는 인데, 여기서 는 회전 각도이다. 따라서 이 벡터를 크기로 나누면 단위 회전축 벡터가 된다 (단, ).
주의: 이 방법은 이 대칭 행렬인 경우, 즉 (예: 또는 회전)일 때는 이 되어 작동하지 않는다. 이 경우에는 을 대각화하여 고유값 1에 해당하는 고유 벡터를 직접 찾아야 한다.
회전축이 알려진 경우 회전 각도 는 회전축에 수직인 임의의 벡터 를 선택하여, 와 회전된 벡터 사이의 각도를 계산하여 구할 수 있다.
하지만 더 직접적인 방법은 회전 행렬 의 대각합(trace)을 이용하는 것이다.
:
이를 통해 회전 각도의 절댓값을 다음과 같이 계산할 수 있다.
:
회전축 에 대해 올바른 부호를 가진 각도 는 다음 식을 통해 얻을 수 있다.[5]
:
:
여기서 은 단위 회전축 벡터 의 외적 행렬이다.
:
3. 2. 1. 오일러 각
오일러 각(Euler angles)은 세 개의 각도(일반적으로 α, β, γ로 표시)를 사용하여 3차원 공간에서의 회전을 표현하는 방법이다. 3차원 회전 행렬은 기본 축(x, y, z)에 대한 세 번의 순차적인 회전을 나타내는 행렬들의 행렬 곱셈으로 구성될 수 있다. 어떤 축을 기준으로 어떤 순서로 회전하는지에 따라 다양한 오일러 각 표현 방식이 존재하며, 이는 서로 다른 회전 행렬을 만들어낸다.
예를 들어, z축, y축, x축 순서로 각각 α, β, γ 각도만큼 회전하는 경우(z-y-x 규칙), 해당 회전 행렬 은 다음과 같이 계산된다. 이 방식은 요, 피치, 롤(yaw, pitch, roll) 각도를 이용한 표현과 관련 있으며, 테이트-브라이언 각도(Tait–Bryan angles)의 한 형태로 볼 수 있고, 내적 회전 방식에 해당한다. 각 행렬은 순서대로 요(yaw, ), 피치(pitch, ), 롤(roll, )에 해당한다.
다른 회전 순서도 가능하다. 예를 들어, x축, y축, z축 순서로 각각 α, β, γ 각도만큼 회전하는 경우(x-y-z 규칙, 외적 회전 방식)의 회전 행렬은 다음과 같다. 각 행렬은 순서대로 롤(), 피치(), 요()에 해당한다.
또 다른 예로, y-x-z 규칙에 따른 회전은 로 표현된다.[25]
이 회전 행렬은 열 벡터에 곱해질 때, 지정된 순서대로 회전 연산이 적용되어야 원하는 결과를 얻을 수 있다. 행렬 곱셈은 일반적으로 교환 법칙이 성립하지 않으므로 순서가 매우 중요하다. 연산 순서는 보통 오른쪽에서 왼쪽으로 진행된다. 즉, 열 벡터에 가장 가까운 오른쪽 행렬이 먼저 적용되고, 그 다음 왼쪽 행렬들이 순서대로 적용된다.
주어진 회전 행렬 로부터 회전 각도 를 찾는 한 가지 방법은 행렬의 대각합(trace)을 이용하는 것이다. 대각합은 행렬의 대각선 요소들의 합이다.
이를 통해 회전 각도의 절댓값을 계산할 수 있다.
회전축 을 알고 있다면, 각도 의 부호까지 정확히 결정할 수 있다.[5]
오일러 각을 사용하는 데에는 몇 가지 복잡성과 모호성이 따른다.
첫째, 회전 축의 순서를 정하는 방법이 매우 다양하다. 데카르트 좌표축(x, y, z)의 순열을 이용해 총 24가지의 서로 다른 회전 순서를 정의할 수 있다. 예를 들어, 물리학이나 화학에서는 종종 z-y-z 규칙()을 사용하는 반면, 항공기 역학에서는 z-y-x 규칙() 등을 사용하기도 한다.
둘째, 서로 다른 오일러 각의 조합이 동일한 최종 회전을 나타낼 수 있다. 예를 들어 z-y-z 규칙에서 다음과 같은 경우가 있다.
각도 조합 1 (α, β, γ) | 등가 | 각도 조합 2 (α, β, γ') | 설명 |
---|---|---|---|
(90°, 45°, −105°) | ≡ | (−270°, −315°, 255°) | 360°의 배수 차이 |
(72°, 0°, 0°) | ≡ | (40°, 0°, 32°) | 특이 정렬 (Singular alignment) |
(45°, 60°, −30°) | ≡ | (−135°, −60°, 150°) | 양안정 플립 (Bistable flip) |
셋째, 특정 각도에서 짐벌 락(Gimbal lock)이라 불리는 특이점 문제가 발생할 수 있다. 이는 세 번의 회전 중 중간 회전 각도가 특정 값(예: ±90°)이 될 때, 첫 번째 회전축과 마지막 회전축이 정렬되어 회전의 자유도 하나를 잃게 되는 현상이다. 이 문제는 오일러 각 표현 방식 자체의 한계이며, 회전 행렬 자체의 속성은 아니다.
이러한 오일러 각의 특이점 문제는 회전 행렬을 각도 대신 정규 직교 행 벡터(예: 오른쪽 벡터, 위쪽 벡터, 앞쪽 벡터)로 다루거나, 사원수(quaternion)를 사용하여 회전을 표현함으로써 피할 수 있다.
3. 2. 2. 임의의 축에 대한 회전
오일러의 회전 정리에 따르면, 3차원 공간에서의 임의의 회전은 특정 단위 벡터 축 (여기서 )을 중심으로 각도 만큼 회전하는 것으로 나타낼 수 있다.[26] 이러한 회전을 나타내는 회전 행렬 는 로드리게스 회전 공식을 사용하여 다음과 같이 표현할 수 있다.[6][7][8][9][27]:
이 공식은 다음과 같이 더 간결하게 표현할 수도 있다.[11]
:
여기서 는 항등행렬이고, 는 의 외적 행렬이며, 는 외적곱(outer product)이다.
:
또한, 이 회전 변환이 임의의 벡터 에 작용하는 결과는 다음과 같은 벡터 형태로도 쓸 수 있다.[28][29]
:
여기서 는 내적을, 는 외적을 나타낸다.
이는 다음과 같이 표현할 수도 있다.
:
텐서 표기법으로는 다음과 같다.[13]
:
여기서 는 크로네커 델타이고, 는 레비치비타 기호이다.
3차원 공간이 오른손 좌표계이고 이면, 이 회전은 축 가 관찰자를 향할 때 시계 반대 방향 회전에 해당한다(오른손 법칙).
3. 3. 회전 행렬에서 축과 각도 결정
3차원 공간에서의 모든 회전은 해당 축(이 축 위의 벡터는 회전에 의해 변하지 않음)과 각도로 정의된다 (오일러 회전 정리).주어진 회전 행렬로부터 회전축과 회전 각도를 계산하는 몇 가지 방법이 있다 (축-각 표현 참조). 여기서는 주로 회전 행렬의 고유 벡터와 고유값, 그리고 대각합을 이용하는 방법을 설명한다.
3 × 3 회전 행렬 R이 주어졌을 때, 회전축에 평행한 벡터 u는 다음 조건을 만족해야 한다.
:
이는 회전축 위의 벡터는 회전해도 변하지 않기 때문이다. 위 식은 R이 항등행렬 I가 아닌 이상, 상수배를 제외하고 유일한 벡터 u에 대해 풀 수 있다.
이 방정식은 다음과 같이 다시 쓸 수 있다.
:
이는 벡터 u가 행렬 의 영 공간에 속한다는 것을 의미한다. 즉, u는 고유값 에 해당하는 R의 고유 벡터이다. 모든 3차원 회전 행렬은 반드시 고유값 1을 가지며, 나머지 두 고유값은 서로 켤레 복소수 관계이다. 따라서 일반적인 3차원 회전 행렬은 상수배를 제외하고 단 하나의 실수 고유 벡터(회전축 벡터)를 갖는다.
회전축 u를 찾는 한 가지 방법은 다음과 같은 관계를 이용하는 것이다.
:
행렬 는 반대칭 행렬이다. 이 행렬의 성분들을 이용하여 벡터 u를 다음과 같이 구성할 수 있다. 만약
:
이라면,
:
로 선택할 수 있다. 이 벡터는 을 만족한다. 이렇게 계산된 u의 크기는 인데, 여기서 는 회전 각도이다.
주의: 이 방법은 R이 대칭 행렬일 경우 (즉, 회전 각도가 180°일 때 가 되어 이 되는 경우) 사용할 수 없다. 이 경우, R을 대각화하여 고유값 1에 해당하는 고유 벡터를 직접 찾아야 한다.
회전축 u가 결정되면, 회전 각도 를 찾을 수 있다. 한 가지 방법은 회전축에 수직인 임의의 벡터 v를 선택하여, v와 회전된 벡터 사이의 각도를 계산하는 것이다.
더 직접적인 방법은 행렬 R의 대각합(trace)을 이용하는 것이다.
:
따라서 회전 각도의 코사인 값은 다음과 같이 계산할 수 있다.
:
회전 각도의 절댓값은 이다.
각도 의 부호(회전 방향)를 결정하기 위해서는 사인 값도 필요하다. 이는 앞서 구한 벡터 u와 관련이 있다. 회전축 방향을 나타내는 단위 벡터를 라고 하면, 사인 값은 다음과 같이 주어진다.[5]
:
은 와 같은 방향의 단위 벡터이므로 이고, 따라서 이다. 이는 앞서 언급된 와 일치한다. 각도의 부호는 의 부호와 같으며, 이는 회전축 n에 대한 오른손 법칙에 따른 회전 방향을 나타낸다.
축-각 표현을 추출할 때는 몇 가지 주의할 점이 있다.
- 부호 모호성: 와 는 동일한 회전을 나타낸다. 일반적으로 각도 를 (0° ~ 180°) 범위로 제한하여 표현한다.
- 주기성: 각도는 360°(또는 라디안)의 배수만큼 더해도 같은 회전을 나타낸다.
- 특이 케이스:
- 회전 각도가 0° ()이면 R은 항등 행렬이 되고 회전축은 정의되지 않는다. 이때 이고 이다.
- 회전 각도가 180° ()이면 R은 대칭 행렬이 되며, 이므로 위에서 설명한 방법으로 u를 직접 구할 수 없다. 이때 대각합은 이다. 축은 고유값 1에 해당하는 고유 벡터를 찾아야 한다.
- 수치 안정성: 각도가 0° 또는 180°에 매우 가까울 경우 수치 오류가 발생하기 쉬우므로 주의해야 한다. 각도를 계산할 때는 아크코사인() 함수보다 두 인수를 받는 아크탄젠트 함수( 또는 )를 사용하는 것이 더 안정적일 수 있다.
4. 회전 행렬의 성질
유클리드 기하학에서 회전은 점 사이의 거리를 변경하지 않고 점을 이동시키는 변환인 등거리 변환의 한 예이다. 회전 행렬 는 다음과 같은 중요한 성질을 만족한다.
모든 회전 행렬 는 '''직교 조건'''을 만족한다. 이는 회전 변환이 벡터의 크기(즉, 원점으로부터의 거리)를 보존하기 때문이다. 벡터 에 대해, 회전 후 벡터 의 제곱 크기는 원래 벡터의 제곱 크기와 같다.
:
이 등식이 모든 벡터 에 대해 성립해야 하므로, 다음의 직교 조건을 얻는다.
:
여기서 는 의 전치 행렬이고 는 항등 행렬이다. 이 조건을 만족하는 행렬을 직교 행렬이라고 한다. 따라서 모든 회전 행렬은 직교 행렬이다. 직교 행렬의 중요한 성질 중 하나는 역행렬이 전치 행렬과 같다는 것이다().
또한, 회전은 공간의 '손의 방향'(handedness)을 보존한다. 예를 들어, 3차원 공간에서 오른손 좌표계를 왼손 좌표계로 바꾸지 않는다. 이는 행렬식 값이 +1이어야 함을 의미하며, 이를 '''특수 행렬''' 조건이라고 한다.
:
직교 행렬이면서 행렬식이 +1인 행렬을 특수 직교 행렬이라고 하며, 모든 회전 행렬은 특수 직교 행렬이다. (참고로, 직교 행렬이면서 행렬식이 -1인 경우는 반사를 포함하는 변환이다.)
회전 행렬의 역행렬() 또한 회전 행렬이다. 이는 역행렬 역시 직교 조건을 만족하고 행렬식이 +1이기 때문이다.
:
두 회전 행렬 과 의 곱 도 회전 행렬이다. 이는 곱한 결과 역시 직교 조건을 만족하고 행렬식이 +1이기 때문이다.
:
회전 행렬의 곱셈은 차원에 따라 교환 법칙 성립 여부가 다르다. 2차원() 회전 행렬의 곱셈은 교환 법칙이 성립한다. 즉, 회전 순서를 바꾸어도 결과가 같다. 하지만 3차원() 이상의 회전 행렬 곱셈은 일반적으로 교환 법칙이 성립하지 않는다. 예를 들어, 3차원에서 z축 기준 90° 회전()과 y축 기준 90° 회전()은 순서에 따라 결과가 달라진다.
:
위 예시에서 임을 확인할 수 있다.
이러한 성질들(항등 행렬 포함, 역행렬 존재, 곱셈에 대해 닫혀 있음, 결합 법칙 성립)로 인해 회전 행렬의 집합은 행렬 곱셈 연산에 대해 군을 형성한다. 이 군을 특수 직교군이라고 하며, 으로 표기한다. 일 경우, 이 군은 비가환군이다.
5. 컴퓨터 그래픽 응용
비트맵 글꼴이나 외곽선 글꼴과 같은 컴퓨터 그래픽스 분야에서 회전 변환 행렬은 정보를 유용하게 처리하고 표현하는 데 사용된다.
6. 분해
회전 행렬은 다양한 방식으로 분해될 수 있다. 이러한 분해는 회전 변환의 구조를 이해하고 특정 응용에 맞게 행렬을 표현하는 데 유용하다.
고유값과 고유벡터를 이용한 분석은 회전 행렬 분해의 한 방법이다. 모든 회전 행렬은 고유값 1을 가지며(홀수 차원의 경우), 이는 회전 변환에 의해 변하지 않는 방향, 즉 회전축에 해당한다. 나머지 고유값들은 일반적으로 켤레 복소수 쌍으로 나타나며, 회전축에 수직인 평면에서의 회전각과 관련된다. 이러한 분석을 통해 고차원의 회전 변환도 서로 직교하는 독립적인 2차원 평면에서의 회전들의 조합으로 이해할 수 있다. (자세한 내용은 독립 평면 섹션 참조)
또 다른 분해 방법은 회전 행렬을 여러 개의 기본적인 평면 회전의 곱으로 나타내는 것이다. 예를 들어, 3차원 회전 행렬은 기븐스 회전과 같은 특정 평면에서의 회전을 순차적으로 적용하여 단위 행렬로 만들 수 있으며, 이를 역으로 이용하여 원래 회전 행렬을 세 번의 기본 회전의 곱으로 분해할 수 있다. 이러한 순차적인 회전 각도는 오일러 각과 같은 방식으로 표현될 수 있다. 그러나 회전 순서나 기준 축 설정 방식에 따라 다양한 표현이 존재하며, 회전 연산은 교환 법칙이 성립하지 않음에 유의해야 한다. (자세한 내용은 순차 각도 섹션 참조)
2차원 회전 행렬의 경우, 전단 행렬 세 개의 곱으로 분해하거나, 두 개의 전단 행렬과 스케일링 변환의 조합으로 표현할 수도 있다. 이는 특정 계산 환경, 특히 컴퓨터 그래픽스 분야에서 연산 효율성을 높이는 데 사용될 수 있다. (자세한 내용은 전단 행렬 섹션 참조)
또한, 고차원 회전 행렬은 저차원 회전 행렬을 부분군으로 포함하는 구조를 가진다. 예를 들어, 3차원 회전 행렬은 특정 축을 고정함으로써 2차원 회전 행렬을 내부에 포함하는 것으로 볼 수 있다. 이러한 관계는 섬유 다발 구조를 통해 수학적으로 형식화될 수 있으며, 회전군은 회전군과 차원 구면 을 결합한 형태로 이해할 수 있다. 이는 회전 행렬을 구성하는 데 필요한 개의 매개변수(자유도)와도 연결된다.
6. 1. 독립 평면
회전 행렬 ''Q''가 벡터 '''v'''에 작용하여 스칼라 ''λ''배만큼 변환시킨다면, 즉 `''Q'''''v''' = ''λ'''''v'''`를 만족한다면, '''v'''는 ''Q''의 고유벡터이고 ''λ''는 고유값이다. 고유값은 특성 방정식 `det(''λ''I - ''Q'') = 0`의 근으로 구할 수 있다.모든 회전 행렬의 고유값은 절댓값이 1인 복소수이다. 3차원 회전 행렬의 경우, 특성 방정식은 3차 방정식이며 항상 고유값 1을 가진다. 이 고유값 1에 해당하는 고유벡터는 회전 변환에 의해 방향이 바뀌지 않는 벡터로, 3차원 공간에서의 회전축 방향을 나타낸다. 나머지 두 고유값은 일반적으로 ''e''±''iθ'' 형태의 켤레 복소수 쌍이다. 이들은 회전축에 수직인 평면에서의 회전을 나타내며, ''θ''는 회전각이다. 만약 회전각이 0도이면(항등 변환) 모든 고유값이 1이고, 180도이면 고유값은 1, -1, -1이 된다.
이러한 성질은 더 높은 차원의 회전 행렬로 일반화될 수 있다. ''n''차원 회전 행렬의 고유값은 1, -1 또는 켤레 복소수 쌍 ''e''±''iθ''''k'' 형태를 가진다. 회전 행렬은 정규 행렬이므로, 적절한 직교 기저를 선택하면 블록 대각 행렬로 변환할 수 있다. 이 블록 대각 행렬은 다음과 같은 형태의 블록들로 구성된다.
- 고유값 1에 해당하는 1 × 1 블록 `[1]`
- 고유값 -1에 해당하는 1 × 1 블록 `[-1]`
- 켤레 복소수 고유값 쌍 ''e''±''iθ''''k''에 해당하는, cos ''θ''''k'', -sin ''θ''''k'' / sin ''θ''''k'', cos ''θ''''k'' 형태의 2 × 2 회전 블록
이는 ''n''차원 공간에서의 회전이 서로 직교하는 독립적인 평면들에서의 2차원 회전들의 조합으로 이해될 수 있음을 의미한다. 각 2차원 회전은 해당 평면 내에서 각도 ''θ''''k''만큼 회전시킨다. 이러한 독립적인 회전 평면은 최대 ''n''/2개 존재할 수 있다. 만약 ''n''이 홀수이면, 최소 하나의 고유값 1이 존재하여 회전되지 않는 방향(회전축과 유사한 개념)이 존재한다.
회전 행렬의 대각합(trace)은 좌표계 변환에 관계없이 일정하며, 모든 고유값의 합과 같다. 이를 이용해 회전각에 대한 정보를 얻을 수 있다.
- 2차원 회전 행렬의 대각합은 `2 cos ''θ''`이다.
- 3차원 회전 행렬의 대각합은 `1 + 2 cos ''θ''`이다. (고유값 1, ''e''''iθ'', ''e''-''iθ''의 합)
따라서 3차원 회전 행렬의 경우, 대각합을 계산하여 회전각 ''θ''를 구할 수 있다.
6. 2. 순차 각도
3차원 회전변환행렬의 첫 번째 열 벡터 [a, b, c]T를 고려해 볼 수 있다. 기븐스 회전을 이용하면 이 열 벡터를 [r, 0, c]T 형태로 변환할 수 있다. 이는 x축과 y축으로 구성된 평면(xy 평면)에서의 회전을 통해 b 성분을 0으로 만드는 과정이다. 마찬가지로, x축과 z축으로 구성된 평면(xz 평면)에서의 회전을 통해 c 성분도 0으로 만들 수 있다.이러한 기븐스 회전을 전체 3x3 회전 행렬 Q에 순차적으로 적용하면 다음과 같은 과정을 거친다. 먼저 xy 평면과 xz 평면에서의 회전(각각 Qxy, Qxz로 표기)을 적용하면 행렬은 첫 행이 [1, 0, 0]이고 나머지 성분 중 일부는 0이 아닌 값을 가지는 형태가 된다.
:
여기서 *는 0이 아닌 값을 의미한다. 다음으로, 두 번째 열에 대해 yz 평면에서의 기븐스 회전(Qyz)을 적용하여 z 성분을 0으로 만들 수 있다. 이 과정을 거치면 최종적으로 단위 행렬 I가 된다.
:
따라서, 원래의 회전 행렬 Q는 세 번의 기븐스 회전의 역행렬의 곱으로 분해될 수 있다.
:
이러한 아이디어는 일반적인 n x n 회전 행렬에도 확장될 수 있다. n x n 회전 행렬은 총 n(n-1)/2 개의 기븐스 회전, 즉 n(n-1)/2 개의 각도를 이용하여 표현(매개변수화)할 수 있다.
특히 3차원의 경우, 세 각도를 이용한 순차적인 회전으로 임의의 회전을 표현하는 방식은 레온하르트 오일러에 의해 연구되었으며, 이를 오일러 각이라고 부른다. 하지만 실제로 오일러 각을 사용하는 방식은 매우 다양하다. 어떤 축을 순서대로 회전시키는지(예: x-y-z 순서, z-x-z 순서 등), 그리고 각도를 측정하는 기준을 세계 좌표계(고정된 축)로 할지, 아니면 물체 좌표계(회전하는 물체에 고정된 축)로 할지에 따라 여러 가지 규칙이 존재한다. 세계 축 또는 몸체 축 옵션을 포함하면 총 24가지의 서로 다른 순서가 가능하다. 분야에 따라 이러한 다양한 방식을 통칭하여 오일러 각이라고 부르기도 하고, 특정 순서에 대해 카르다노 각, 테이트-브라이언 각, 요-피치-롤 각 등 다른 이름을 사용하기도 한다.
이렇게 다양한 방식이 존재하는 중요한 이유 중 하나는 3차원 이상의 회전은 교환 법칙이 성립하지 않기 때문이다. 즉, 회전하는 순서를 바꾸면 결과가 달라진다. 예를 들어, 물체를 x축으로 90도 회전시킨 후 y축으로 90도 회전시키는 것과, y축으로 90도 회전시킨 후 x축으로 90도 회전시키는 것은 다른 결과를 가져온다. 이는 두 회전을 단순히 각도를 더하는 방식으로 합칠 수 없다는 것을 의미한다. 따라서 오일러 각은 세 개의 숫자로 표현되지만, 일반적인 벡터처럼 덧셈이나 성분별 연산이 자유롭게 적용되지 않는다.
6. 3. 전단 행렬
2차원 경우, 회전 행렬은 세 개의 전단 행렬로 분해될 수 있다.:
이러한 분해 방식은 컴퓨터 그래픽스 분야에서 유용하게 활용될 수 있는데, 이는 전단 변환이 비트맵 이미지를 직접 회전시키는 것보다 더 적은 곱셈 연산을 필요로 하기 때문이다. 최신 컴퓨터 환경에서는 이러한 연산 최적화의 중요성이 줄어들었을 수 있지만, 성능이 낮은 구형 마이크로프로세서나 저사양 시스템에서는 여전히 의미 있는 방식일 수 있다.
또한, 회전 변환은 두 개의 전단 변환과 스케일링 변환의 조합으로도 표현될 수 있다.
:
7. 군론
각 에 대한 회전 행렬은 군을 형성하며, 이를 특수 직교군 이라고 한다. 이 대수 구조는 곱셈과 역행렬 연산이 행렬 원소의 해석 함수가 되도록 에서 상속된 위상 공간 구조와 결합된다. 따라서 은 각 에 대해 리 군이다. 이는 콤팩트 공간이고 연결 공간이지만 단일 연결 공간은 아니다. 또한 반 단순군이며, 실제로 SO(4)를 제외하고는 단순군이다.[14] 이는 해석적 다양체(해석적 다양체는 특히 매끄러운 다양체) 이론의 모든 정리와 기법이 적용되며, 잘 발달된 콤팩트 반 단순군의 표현 이론을 사용할 수 있다는 것을 의미한다.
의 리 대수는 다음과 같이 주어진다.
:
이것은 고전군을 참조하면, 차원 왜대칭 행렬의 공간이며, 여기서 은 직교군인 의 리 대수이다. 에 대한 가장 일반적인 기저는 다음과 같다.
:
리 대수를 리 군에 연결하는 것은 지수 사상이며, 이는 에 대한 표준 행렬 지수 급수를 사용하여 정의된다.[15] 모든 왜대칭 행렬 A에 대해, 는 항상 회전 행렬이다.[16]
중요한 실용적인 예는 3 × 3 경우이다. 회전군 SO(3)에서, 모든 를 오일러 벡터 로 식별할 수 있으며, 여기서 는 단위 크기 벡터이다.
식별 속성에 의해, 는 A의 영공간에 있다. 따라서, 는 에 의해 불변이고, 따라서 회전축이다.
행렬 형태의 로드리게스 공식에 따르면, 다음을 얻는다.
:
여기서
:
이것은 축 를 중심으로 각도 θ만큼 회전하는 행렬이다. 자세한 내용은 회전군 SO(3)#지수 사상을 참조하십시오.
BCH 공식은 X와 Y의 중첩된 교환자의 급수 전개를 사용하여 에 대한 명시적인 표현을 제공한다.[17] 이 일반적인 전개는 다음과 같다.[18]
:
3 × 3의 경우, 일반적인 무한 전개는 간결한 형태를 갖는다.[19]
:
적절한 삼각 함수 계수에 대해, 이는 회전군 SO(3)#베이커-캠벨-하우스도르프 공식에 자세히 설명되어 있다.
군 항등식으로서 위 공식은 더 간단한 이중항(스피너 표현)을 포함하여 ''모든 충실한 표현''에 대해 성립한다. 따라서 동일한 명시적 공식은 파울리 행렬을 통해 간단하게 따른다. 파울리 행렬#파울리 벡터의 지수 함수를 참조하라. 일반적인 의 경우, [20]를 사용할 수 있다.
회전 행렬의 리 군인 은 단일 연결 공간이 아니므로, 리 이론에 따르면 이 군은 보편 피복군의 준동형적 상이다. 종종 이 경우 으로 표시되는 피복군은 다루기 더 간단하고 자연스럽다.[21]
평면 회전의 경우 SO(2)는 위상적으로 원인 이다. 그 보편 피복군인 는 덧셈에 대해 실수선인 과 동형이다. 임의의 크기의 각도를 사용할 때마다 보편 피복의 편리함을 이용하는 것이다. 모든 2 × 2 회전 행렬은 의 정수 배수로 분리된 가산 무한대의 각도에 의해 생성된다. 이에 따라 의 기본군은 정수인 와 동형이다.
공간 회전의 경우, 회전군 SO(3)는 위상적으로 3차원 실수 사영 공간인 와 동치이다. 그 보편 피복군인 는 3차원 구면, 와 동형이다. 모든 3 × 3 회전 행렬은 구면의 두 개의 반대점에 의해 생성된다. 이에 따라 의 기본군은 두 개의 원소를 가진 군인 와 동형이다.
를 곱셈에 따른 단위 노름의 사원수와 동형이거나, 특정 4 × 4 실수 행렬, 또는 2 × 2 복소 특수 유니타리 군, 즉 와 동형으로 설명할 수도 있다. 첫 번째와 마지막 경우에 대한 피복 사상은 다음과 같다.
:
그리고
:
-피복 및 사원수 피복에 대한 자세한 내용은 회전군 SO(3)#SO(3)과 SU(2)의 관계를 참조하십시오.
이러한 경우의 많은 특징은 고차원에서도 동일하다. 피복은 모두 2대1이며, , 는 기본군 를 갖는다. 이러한 군에 대한 자연스러운 설정은 클리퍼드 대수 내부에 있다. 회전의 한 유형의 작용은 로 표시되는 일종의 "샌드위치"에 의해 생성된다. 더 중요한 것은 물리학 응용 분야에서 리 대수의 해당 스핀 표현은 클리퍼드 대수 내부에 존재한다는 것이다. 이는 일반적인 방식으로 지수화되어 회전군의 사영 표현이라고도 하는 2-값 표현을 생성할 수 있다. 이것은 SO(3) 및 SU(2)의 경우이며, 여기서 2-값 표현은 피복 사상의 "역"으로 볼 수 있다. 피복 사상의 속성상 역함수는 국소적으로는 일대일로 선택 가능하지만, 전역적으로는 불가능하다.
리 대수 내의 행렬 자체는 회전이 아니다. 왜곡 대칭 행렬은 회전의 도함수, 비례 차이이다. 실제 "미분 회전" 또는 ''무한소 회전 행렬''은 다음 형식을 갖는다.
:
여기서 는 무한히 작고 이며, 예를 들어 인 경우,
:
계산 규칙은 무한소의 2차항이 일상적으로 제거된다는 점을 제외하면 일반적인 규칙과 같다. 이러한 규칙을 사용하면 이러한 행렬은 무한소에 대한 일반적인 처리 방식에서 일반적인 유한 회전 행렬과 동일한 모든 속성을 충족하지 않는다.[22] 무한소 회전이 적용되는 ''순서는 중요하지 않다''는 것이 밝혀졌다. 이를 예시로 보려면 회전군 SO(3)#무한소 회전을 참조하십시오.
8. 케일리-클라인 매개변수
펠릭스 클라인이 고안한 케일리-클라인 매개변수는 회전 행렬을 4개의 복소수 , , , 를 사용하여 표현하는 방법이다. 이때, 각 매개변수는 (gamma conjugate|감마 켤레복소수영어)와 (alpha conjugate|알파 켤레복소수영어)라는 조건을 만족해야 한다. 이를 이용한 회전 행렬 은 다음과 같이 나타낼 수 있다.[30]
참조
[1]
서적
Calculus with Analytic Geometry
https://archive.org/[...]
Prindle, Weber, and Schmidt
[2]
웹사이트
Scalable Vector Graphics – the initial coordinate system
http://www.w3.org/TR[...]
[3]
문서
[4]
웹사이트
Rotation Matrices
http://extranet.nmrf[...]
2021-11-30
[5]
arXiv
Efficient conversion from rotating matrix to rotation axis and angle by extending Rodrigues' formula
2018-10-06
[6]
간행물
Minimization on the Lie Group SO(3) and Related Manifolds
https://www.cis.upen[...]
[7]
간행물
How is a vector rotated?
https://www.ias.ac.i[...]
[8]
서적
Orientations and Rotations
Springer
[9]
간행물
Formalism for the rotation matrix of rotations about an arbitrary axis
[10]
thesis
Modelling CPV
https://dspace.lboro[...]
Loughborough University
2015-01
[11]
간행물
Coordinate-free rotation formalism
[12]
문서
[13]
간행물
Euler vectors and rotations about an arbitrary axis
[14]
문서
[15]
문서
[16]
문서
[17]
문서
[18]
문서
[19]
문서
[20]
간행물
A compact formula for rotations as spin matrix polynomials
[21]
문서
[22]
문서
[23]
conference
Computer Graphics: SIGGRAPH '85 Conference Proceedings
https://archive.org/[...]
Association for Computing Machinery
[24]
간행물
A Lipschitz condition along a transversal foliation implies local uniqueness for ODEs
http://www.math.u-sz[...]
[25]
문서
[26]
문서
[27]
웹사이트
Rodrigues' Rotation Formula
https://mathworld.wo[...]
2020-12-08
[28]
문서
[29]
문서
[30]
문서
[31]
문서
유클리드 기하학 원론
http://www.gutenberg[...]
구텐베르크 프로젝트
[32]
문서
유클리드 기하학 원론
http://www.gutenberg[...]
구텐베르크 프로젝트
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com