D3DXMatrixRotationYawPitchRoll()
함수는 지정된 yaw, pitch 및 roll이있는 행렬을 만듭니다. 아이폰 개발자를위한 동등한 기능이 있나요 ?? 아이폰 개발자를위한 D3DXMatrixRotationYawPitchRoll()과 동일한 기능이 있습니까?
을 그리기위한 아름다운 작은 샘플 프로젝트를 발견 내 아이폰 프로젝트에서 사용하기에 C에서 재현하기에는 아직 똑똑하지 않다.
누군가 나를 올바른 방향으로 안내 할 수 있습니까? yaw, pitch, roll 값으로 회전 행렬을 만들어야합니다.
D3DXMATRIX * D3DXMatrixRotationYawPitchRoll(
__inout D3DXMATRIX *pOut,
__in FLOAT Yaw,
__in FLOAT Pitch,
__in FLOAT Roll
);
이위한 등가 GLU (*)가된다
이 다이렉트 X 기능 서명
이 있습니까?(읽기 ... 시간 이상)
음 (갈 더 많은) 독서의 꽤 후에, 이것은 내가 수집 한 것입니다
:
This 사이트는 큰 도움이되었습니다.
내가 3 개 오일러 각도를 변환해야 할 것으로 보인다3 개의 독립적 인 단위 쿼터니언으로 (즉, 피치, 롤, 요 (yaw)가 호출 기능) :
Qx = [ cos(a/2), (sin(a/2), 0, 0)]
Qy = [ cos(b/2), (0, sin(b/2), 0)]
Qz = [ cos(c/2), (0, 0, sin(c/2))]
그리고 하나 개의 사원 수에 다음을 결합 :
Qcombined = QX * * QY QZ
이어서I에서 OpenGL은 이렇게 좋아할 회전 행렬의 종류로 다시이 결과 "부"쿼터니온으로 변환 할 수
,745,Matrix = [ 1 - 2y2 - 2z2 2xy - 2wz 2xz + 2wy
2xy + 2wz 1 - 2x2 - 2z2 2yz - 2wx
2xz - 2wy 2yz + 2wx 1 - 2x2 - 2y2 ]
쿼터니언을 사용할 필요가 없습니다. 축에 대한 세 개의 회전 행렬을 만들고 곱하면됩니다. –
쿼터니언이 없어도 Gimble Lock이 가능하지 않을까요? (나는 여전히 어떤 일이 벌어지고 있는지에 대한 어떤 종류의 정신적 인 이미지를 구축하려고 노력하고있다.) – user360092
매번 세 각도에서 행렬을 재구성하면 안된다. –