본문 바로가기

Math

회전행렬 Rotation Matrix

 

이렇게 만들어진 회전행렬은 각 행이 단위길이이고, 행 벡터끼리 직교하는 정규직교이다. 이런 행렬은 그 역행렬이 자기자신의 전치행렬과 같다는 속성이 있다.

 

추가 - 벡터를 다른 벡터에 투영하기

벡터 u을 벡터 v에 대해 투영한다고 했을 때, 그 결과는 벡터 v의 방향을 가진다, 즉 투영 결과 벡터는 아래와 같이 표현될 수 있음

 

여기에서 투영한 벡터의 magnitude가 되는 s는 아래와 같다.

 

u dot v 도 scalar이고, ||v||^2 도 scalar 이기 때문에, s도 scalar이다.

따라서 투영된 벡터는 v의 방향을 갖고, magnitude는 v보다 커질 수도, 작아질 수도 있다.

 

쉽게 말해 벡터 u를 v에 투영한다는 것은, v라는 지면에 빛이 수직으로 떨어졌을 때 생기는 v의 그림자라고 생각하면 된다.

출처는 참고 링크 영상

 

v가 단위벡터라면, ||v||^2 도 1이기 때문에 s 는 아래와 같은 형태가 된다.

 

따라서, u를 단위벡터 v에 투영한 v'는 아래와 같이 구할 수 있다.

 

물리에서도 투영의 개념이 사용될 수 있다.

경사진 지면에 서 있는 트럭을 경사면에서 아래로 굴러내려가지 않도록 지지하고 싶다고 하자.

  • 중력 벡터를 지면에 수직인 성분과 평행인 성분으로 분리한다.
  • 지지할 때 필요한 힘은 트럭에 작용하는 중력 벡터를 경사면에 평행인 성분의 길이가 된다.
    이 성분은 곧 경사면에 투영된 중력 벡터이다. 경사면에 수직인 벡터의 길이 만큼은 경사면이 도와주는 힘이 된다.
  • 경사면이 완전히 평평하다면(중력과 수직이라면), 투영된 벡터의 길이는 0이고, 지지하는 데 힘이 필요 없다.
    경사가 더 가팔라질수록 투영된 벡터의 길이도 점점 길어질 것이기 때문에, 더 큰 힘이 필요해진다.

 

참고 링크

2D 좌표평면에서의 벡터 회전

https://www.youtube.com/watch?v=EZufiIwwqFA

 

Vector Projection

https://www.youtube.com/watch?v=fqPiDICPkj8

 

DirectX11을 이용한 3D 프로그래밍 입문 3.1.4 회전 내용을 참고

'Math' 카테고리의 다른 글

Spline Mesh Deformation  (1) 2023.12.05
Picking & Test Intersection  (0) 2023.09.08