Gamebryo( MAX ), Tokamak(D3D) ,o-gl 좌표계 헷갈립니다.

좌표계는 왜이리도 많아서
사람을 헷갈리게 하는지 도무지 이해가 안가네요.

제가 알아본대로 정리해보니
왼손좌표계(D3D),
오른손좌표계(OGL),
max좌표계
이렇게 3가지 정도로 나오는군요.
GameBryo 는 max좌표계인데 누가 오른손 좌표계라고 하는바람에
그걸 확인해보느라고 오전시간을 모두 허비했습니다.
이곳에 한번 정리해볼테니 보시고 틀린곳이 있으면 지적을 해주세요.

: U( upvector ), V(view), R(right)

왼손 좌표계
u = y
v = z
r = x

오른손 좌표계
u = y
v = -z
r = x


max 좌표계
u = z
v = y
r = x

지금 제가 해야할일은 왼손 좌표계 기준의
회전매트릭스를 가져온뒤
max좌표계 기준으로 변환해야 하는것입니다.

해보신분 있으시면 대략 help me


by jungmoona | 2005/10/31 14:58 | Programming | 트랙백 | 덧글(7)

트랙백 주소 : http://jungmoona.egloos.com/tb/824475
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 수렁 at 2005/11/01 19:45
http://gpgstudy.com/forum/viewtopic.php?t=7467를 참고하셈. 왜 그렇게 되는지는 잘 모르셈. max 행렬에 어떤 행렬을 곱해서 D3D의 행렬을 얻을 수도 있을 것 같은데, 생각처럼 잘 안 되셈.
Commented by jungmoona at 2005/11/07 02:08
수렁 브라더 ㄳㄳ~

제가 헷갈리는 이유는 맥스좌표계를 게임브리오가 그대로 따라가면서도
겜브리오 도움말에는 오른손 좌표계기준이라고 써있어요. ㅡ0ㅡ
맥스좌표계는 zup 인데 오른손 좌표계는 yup이고 z부호만 다른거 아닌가요? 일단 토카막의 왼손좌표계 기준 회전행렬을
오른손좌표계로 바꿔서 적용하긴했는데 이동,회전 두가지 행렬중에
회전이 삐딱하게 먹혀서 고민이삼.

Commented by 수렁 at 2005/11/07 21:28
겜브리오를 안 써 봐서 잘 모르겠지만, 맥스랑 좌표계가 같다면 오른손이 맞삼. 엄지를 x축, 검지를 y축, 중지를 z축으로 하려면 오른손을 써야 하기 때문이셈.

근데 왼손 좌표계냐 오른손 좌표계냐는 별로 의미가 없고, 해당 좌표계로 정확히 변환하기만 하면 되삼.

한 축만 기준으로 회전을 해 보고, 어느 축을 기준으로 한 회전이 제대로 안 되는지 확인해 보삼. 만약 이동과 회전을 같이 하고 있다면, 행렬 곱셈 순서도 잘 살펴 보삼.
Commented by jungmoona at 2005/11/08 01:29
오오...왠지 답변에서 전문가의 그것이 느껴져온다아...
Commented by dhkd1157 at 2009/08/12 21:50
정확히 말하면 겜브리오 View는 왼손인데.. View 행렬은 y(up) x(dir) z(right) 입니다.
졸라 골때리죠. 오브젝트 수준에서는 Max 좌표계구요.. z(up) y(dir) x(right)인데..
하지만 실제 화면에 표시할때는 View행렬에 맞게 변환됩니다.
골때리네요 누가 좀 살려주세요. 메인터넌스는 끝났고 스피드트리는 겜브리오에 붙여야겠고
또 스피드트리는 D3D의 왼손 View 및 Proj 행렬이나 OpenGL의 오른손 애들을 필요로 하고.. 겜브리오랑은 뭔가 좀 다르고.. 흑흑
Commented by dhkd1157 at 2009/08/12 21:51
아니 D3D에서 왼손은 y(up) z(dir) x(right)니까 또 그거랑 다르네요. 왼손도 아니고 흑흑
Commented by jungmoona at 2009/09/02 20:28
오 얼마만의 관심인지 저도 흑흑..

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶