[질문] 공간상의 한점의 회전에 대해서...

수학, 물리학 등 게임 프로그래밍의 기반이 되는 이론에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

[질문] 공간상의 한점의 회전에 대해서...

Post by 비회원 »

제가 하고자 하는것은,
구면체의 표면에 A, B 2개의 점이 있다고 할때

하나의 A점을 기준으로 다른 하나 B점을 yaw 회전 시키는 겁니다.
( 물론 나중에 pitch, roll도 하겠지만 ㅡㅡ; )

이럴경우,
A점 axis를 기준으로 B점을 회전 시키는 건데,

이럴경우, 어떻게 하시나요?

pitch도 같은 맥락이겠죠?
많은 조언 부탁드립니다.
oranke
Posts: 244
Joined: 2002-05-09 09:00

Post by oranke »

쉽게 생각 하세요~~

1. B 점을 -A 점의 좌표만큼 이동시킨다. 이 점을 B' 라 하자.

2. B' 점을 원점에 대해 yaw 회전 시킨다. 이 점을 B'' 라 하자.

3. B'' 점을 +A 좌표만큼 이동시킨다. 이 좌표가 원하는 값이다.
lifeisforu
Posts: 225
Joined: 2005-02-25 11:33
Location: (주)위메이드엔터테인먼트 엔진개발팀
Contact:

구면이라면...

Post by lifeisforu »

중심을 P 라고 할때

PA vector 를 회전축으로 PB vector 를 회전시키는 것은

단순하게 Quaternion 을 적용하면 되지 않을까 싶네요.

Code: Select all

Quaternion quat( PA, angle );
Vector3 rotatedPB = PB * quat;
이런 식이 되지 않을까 싶네요.
비회원

제가 쿼터니언을 잘 몰라서 그러는데,

Post by 비회원 »

그러면,

회전의 중심이 될 PA벡터를 angle각도만큼 회전하는 쿼터니온으로 변환시킨후,

실제로 회전할 점(vectorPB)를 쿼터니온에 곱하는 개념인가요?

이렇게 하면, 결과로, vector가 나오면 그점이라는 말씀이시군요.

한번 해보겠습니다.

감사합니다.

ㅡㅡ; 제가 쿼터니온을 잘몰라요....
Locked