Test conversion from view matrix to yaw pitch roll.

This commit is contained in:
yunfeibai
2017-06-02 16:56:05 -07:00
parent f350a506a6
commit 3506603d60
5 changed files with 29 additions and 9 deletions

View File

@@ -1960,7 +1960,14 @@ void b3ComputeYawPitchRollFromPosition(const float cameraPosition[3], const floa
eyeInitPos.normalize();
eyePos.normalize();
eyeInitPos[0] = 0.0;
eyeInitPos[1] = -1.0;
eyeInitPos[2] = 0.0;
b3Quaternion rot = b3ShortestArcQuat(eyeInitPos, eyePos);
//rot[0] = 0.571393847;
//rot[1] = 0.0499904789;
//rot[2] = 0.0713938028;
//rot[3] = 0.816034972;
btScalar yawRad;
btScalar pitchRad;
btScalar rollRad;
@@ -2088,7 +2095,9 @@ void b3ComputeViewMatrixFromYawPitchRoll(const float cameraTargetPosition[3], fl
camForward.normalize();
}
eyePos = b3Matrix3x3(eyeRot)*eyePos;
eyePos[3] = 1.0;
//eyePos = b3Matrix3x3(eyeRot)*eyePos;
eyePos = b3QuatRotate(eyeRot, eyePos);
camUpVector = b3Matrix3x3(eyeRot)*camUpVector;
camPos = eyePos;

View File

@@ -277,7 +277,7 @@ void PhysicsClientExample::prepareAndSubmitCommand(int commandId)
float viewMatrix[16];
float cameraTargetPosition[3] = {1.0, 2.0, 3.0};
float cameraTargetPosition[3] = {0.0, 0.0, 0.0};
float distance = 1.0;
float yaw = 10.0;
float pitch = 70.0;