본문 바로가기
3D Algorithm

특정 좌표 중심에서 3차원 점 회전

by DarkRock 2024. 9. 13.
반응형

원점에서의 3차원 회전글은 아래글을 통해서 설명했습니다.

2024.09.13 - [3D Algorithm] - 3차원 회전

 

3차원 회전

3차원 회전 변환행렬은 xy평면(z축 회전), xz평면(y축 회전), yz평면(x축 회전)으로 분류하여 아래와 같습니다.이러한 변환행렬을 쉽게 계산해 주는 라이브러리들이 많이 있습니다. 그

darkrock.tistory.com

 

특정 좌표 중심에서 특정 각만큼 점을 회전하는 방법을 알려드리겠습니다.
아래와 같이 θ, vdir, hdir을 알 때 dir을 구하는 식은(vdir, hdir, dir 모두 단위 벡터입니다.)


dir = hdir*cos(θ) + vdir*sin(θ) 
로 계산할 수 있습니다.

 

참고로 단위벡터 의미는 아래글을 보시면 됩니다.

2024.09.11 - [3D Algorithm] - 벡터 계산과 단위벡터

 

벡터 계산과 단위벡터

벡터(Vector) 벡터는 어릴 때 학교에서 크기와 방향을 가진 물리량이라고 배웠습니다. 벡터 계산은 두 점 p1(x1, y1), p2(x2, y2)가 있을 때 벡터 방향이 p1으로 향한다고 한다면 벡터 계

darkrock.tistory.com


위식을 이용해서 점을 회전하는 예를 들어보겠습니다.


p(5,0,0)을 중심으로 점(6,0,0)에서 45도만큼 회전한 점을 구할 때
z 축으로 회전한다 하면 hdir은 (1,0,0)이고, vdir은 (0,1,0)입니다. 그래서 dir을 구해보면
dir = hdir(1,0,0) * cos(45) + vdir(0,1,0) * sin(45)
가 됩니다.

dir이 구해졌으면, 중심 p(5,0,0)에서 점(6,0,0)을 45도 회전한 점은
p_trans = p + dir
이 됩니다.

 

 

반응형