(1) R3에서의 회전
이전 글에서 R2에 속한 아무 벡터를 회전시키는 변환에 대해 정리했다.
이번에는 범위를 넓여서 R3에서 회전하는 변환을 정리해볼 생각이다.
3차원에서의 회전을 3Rot(θ)라고 하고, 이는 R3에서 R3로 사상하는 변환이다.
이 때, x축을 중심으로 회전한다고 가정하자.
y축, z 축을 중심으로 다른 각도에서 회전하는 것은 이걸 응용하면 된다.
x, y, z축을 그리고, x축을 중심으로 회전하는 벡터를 분홍색으로 그려봤다.
3Rot(θ) = Ax라고 표현할 수 있고, A는 3x3 행렬이다.
A라는 행렬을 찾으려면, 이전처럼 단위 행렬에 변환을 적용해서 표현해보자.
R3의 기저 벡터 [1 0 0 ; 0 1 0; 0 0 1]의 각 열을 e1, e2, e3라고 할 수 있다.
그러면 A = [ 3Rot(e1), 3Rot(e2), 3Rot(e3) ] 이다.
R3의 기저 벡터들을 x축을 중심으로 회전시켜보자.
3차원 공간은 시각화하기 어렵기 때문에, y z축만 있는 평면으로 그려서 회전된 결과를 생각해보자.
e1 = [1 0 0]이고 e1을 회전한 것은 x축을 x축 중심으로 회전하는 것이기 때문에, 방향성과 크기 아무 것도 바뀌지 않는다.
그래서 변환된 벡터는 1, 0, 0 이다.
e2 = [0 1 0] 이고, 이를 좌표 평면 위에 나타내보면 (y, z) = (1, 0) 이다.
이를 θ만큼 회전하면 중간의 그림같은 결과가 나온다.
그러면 빗변의 길이가 1인 직각 삼각형을 구할 수 있다.
이 때, y의 값은 밑변의 길이, z의 값은 높이의 길이가 된다.
삼각함수에 의해서 cosθ = 밑변/빗변 = 밑변/1 이고, sinθ = 높이/빗변 = 높이/1이다.
그래서 변환된 벡터는 [0 cosθ sinθ] 이다.
e3 = [0 0 1]이고, 이를 좌표 평면 위에 나타내보면 (y, z) = (0, 1) 이다.
이를 좌표 평면 위에 나타내보면 아래부분의 그림처럼 된다.
이 때, y의 값은 높이, z의 값은 밑변의 길이가 된다.
삼각함수에 의해서 y = 높이 = -sinθ, z = 밑변 = cosθ이다.
따라서, 변환된 벡터는 [0 -sinθ, cosθ]이다.
이를 모두 모아서 써주면, 변환행렬 A = [1 0 0; 0 cosθ -sinθ; 0 sinθ, cosθ]이다.
R2에서 보여준 것을 R3에서도 적용할 수 있음을 보여줬다.
이를 통해, 차원이 올라가더라도 일반화할 수 있음을 알 수 있다.
그리고 R3에서 하는 회전은 x축을 중심으로 회전하고 y축을 중심으로 회전하고 z축을 중심으로 회전하는 것이다.
3번 회전하면 x, y, z가 모두 변하는 회전의 결과를 구할 수 있다.
'선형대수(Linear Algebra)' 카테고리의 다른 글
8-5. 정사영(Projection) (0) | 2023.03.29 |
---|---|
8-4. 단위벡터(Unit Vector) (0) | 2023.03.28 |
8-2. 선형변환(R2에서의 회전행렬) (0) | 2023.03.24 |
8-1. 선형변환(스케일 변환 행렬, 반사 변환 행렬) (0) | 2023.03.23 |
7-7. 선형변환의 합, 스칼라 곱 (0) | 2023.03.22 |