We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hi, it's two days that I'm trying to get the up vector of the peasycam with some problem.
I have the pitch, yaw and roll of the camera
float rotations = camera.getRotations(); // x, y, and z rotations required to face camera in model space camera.setRotations(double pitch, double yaw, double roll); // rotations are applied in that order
so x = pitch, y = yaw, z = roll
and following this Stackoverflow question the vector should be:
x = -cos(yaw)sin(pitch)sin(roll)-sin(yaw)cos(roll) y = -sin(yaw)sin(pitch)sin(roll)+cos(yaw)cos(roll) z = cos(pitch)sin(roll)
The problem is that when I try to rotate the camera around the y axis the Up Vector change.
If I have the camera at (0,0,400) watching (0,0,0) the Up Vector given by the formula is (0,1,0) while if I rotate the camera at (0,0,-400) watching (0,0,0) the formula give (0,-1,0).
Am I doing something wrong?