블로그 이미지

3DMP engines

3D그래픽스 물리 수학, 프로그래밍 GPU Shader 게임엔진 알고리즘 디자인패턴 matlab etc..




실제로 Direct 와 Opengl(수학좌표계) 에서의 외적 연산은 동일하다

 

연산은 동일한데 포인트는, 기본 좌표계에따라 외적의 방향이 달라진다는 것

 

 

 

 


이하 첨부내용

 

http://blog.naver.com/9992028/120020809381

 

왼손 좌표계 vs 오른손 좌표계
OpenGL은 오른손 좌표계를 쓰고,
DirectX는 왼손 좌표계를 쓴다.

사실
DirectX를 쓰면서도 오른손 좌표계를 쓰거나,
OpenGL을 쓰면서 왼손 좌표계를 사용하는 것도 가능하다.

다만 기본값이 그렇게 되어 있다는 것이고,
따라서 각각의 좌표계에 좀 더 편리하게 API가 제공되는 것일 뿐이지만 말이다.

간단하게 다음과 같이 이해하자.

일단 수학적으로는 다음과 같이 정의 된다.

기저 vector, V1, V2, V3가 있을 때.. (간단하게 x, y, z 방향이라 생각해도 된다.)
(V1 X V2) · V3 > 0 이면 오른손 좌표계
(V1 X V2) · V3 < 0 이면 왼손 좌표계이다.

정규 직교 좌표계로 한정 (세 기저 vector가 서로 직각인 경우) 지어서
기저 vector, Vx, Vy, Vz가 있을 때..
(Vx X Vy) = Vz 이면 오른손 좌표계
(Vx X Vy) = -Vz 이면 왼손 좌표계이다.

따라서 

OpenGL의 경우 (오른손 좌표계인 경우)
x, y 방향의 기저 vector을 아는 경우 z 방향의 기저 vector는 -(Vx X Vy)로 구하고,

DirectX의 경우 (왼손 좌표계인 경우)
x, y 방향의 기저 vector을 아는 경우 z 방향의 기저 vector는 (Vx X Vy)로 구하면 되겠다.
 
 
 
 
< 자료출처>  http://mobile.egloos.com/1848128

반응형

'수학 (Mathematics) > 3D수학' 카테고리의 다른 글

일차 독립, 일차 종속  (0) 2012.11.02
3D 벡터 기초 연산  (0) 2012.11.02
directx 사원수 관련 함수 d3dx9math.h  (0) 2012.11.02
GPU 에서 노멀맵 굽기  (0) 2012.11.02
표면 스케터링으로 실시간 근사  (0) 2012.11.02

+ Recent posts