It looks like you're new here. If you want to get involved, click one of these buttons!
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?