'기준점 회전'에 해당되는 글 1건

  1. 2012.03.22 기준점을 이용한 Transform 회전

기준점을 이용한 Transform 회전

이렇게 World를 기준 점으로 했을때 Z Axis로 회전된 Transform을 구해보자.

Position과 Rotation을 분리해서 접근한다.

Position만 보면 0,0,0 에서 주전자까지의 Vertor의 회전이라 할 수 있다.
이는 일반 회전 matrix연산을 이용해 회전된 Vetor의 좌표 알아내면, 그것이 바로 Position 좌표가 된다.
[x`,y`,z`] = [x,y,z]*(matrix3 [cos θ, sin θ, 0] [-sin θ,cos θ, 0][0, 0, 1] [0,0,0])
(Z Axis 기준)


그럼 이제 Rotation을 보자
Rotation은 어느 위치에 있던지 보는 Vetor 방향이 같다면 같은 회전을 가진다고 본다.

그렇다는 것은 위 그림과 같이 Local 회전이 기준 축 회전과 같은 회전임을 말한다.
초기 주전자의 Transform = matrix3 [Xx, Xy, Xz] [Yx, Yy, Yz] [Zx, Zy, Zz] [Posx,Posy,Posz]
baseTM = matrix3 [Xx, Xy, Xz] [Yx, Yy, Yz] [Zx, Zy, Zz] [0,0,0])
rotTM = matrix3 [cos θ, sin θ, 0] [-sin θ,cos θ, 0][0, 0, 1] [0,0,0]
baseTM * rotTM => 요기의 방향 Vetor가 회전 값이다.


여기에서 Position과 Rotation의 회전 Matrix가 같으니
기준점 회전 공식은 다음과 같이 정의 할수 있다.
selTM = 이동전 Transform
selTM*matrix3 [cos θ, sin θ, 0] [-sin θ,cos θ, 0][0, 0, 1] [0,0,0]

'Max' 카테고리의 다른 글

MaxScript) Matrix 함수 정보  (0) 2013.01.19
MAX Custom ViewCube 적용하기  (0) 2012.06.28
Transform 회전  (0) 2012.03.08
Local Transform 과 World Transform 구하기  (0) 2012.02.22
Script Controller - Transform으로 LookAt 만들기  (0) 2012.02.09
Posted by Hwanggoon
,