원점에서의 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
이 됩니다.
'3D Algorithm' 카테고리의 다른 글
비율(ratio)을 이용한 3차원 점 이동 - 두번째 (0) | 2024.09.25 |
---|---|
삼각함수 표와 계산 및 활용 (0) | 2024.09.23 |
3차원 회전 (0) | 2024.09.13 |
벡터 계산과 단위벡터 (0) | 2024.09.11 |
3차원 두 직선 교차점(Two Line Intersection) (0) | 2024.09.10 |