선형대수(Linear Algebra)

8-3. 선형변환(R3에서의 회전)

frcn 2023. 3. 27. 09:27
반응형

(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가 모두 변하는 회전의 결과를 구할 수 있다.

반응형