Hi there
I hope someone can help me with this little prob.
I need to rotate my viewplatform (henceforth referred to as camera) around the world Y-axis, and at the same time, around the camera’s own local X-axis. The camera should only have pitch and yaw capabilities, but the way I’m doing it now it also rolls because it rotates around the world x-axis. Here’s a snippet:
xgrpVP is a TransformGroup
x3dVPcurrXform is a Transform3D
translate is a Vector3D
origin is a Vector3D
x3dVPTemp... are Transform3D's
incElev and incAzim are doubles
xgrpVP.getTransform(x3dVPcurrXform);
x3dVPcurrXform.get(mxVP);
translate.set(mxVP.m03, mxVP.m13, mxVP.m23);
x3dVPcurrXform.setTranslation(origin);
x3dVPTemp2.rotX(0.0);
x3dVPTemp1.rotY(0.0);
x3dVPcurrXform.mul(x3dVPTemp1, x3dVPcurrXform);
x3dVPcurrXform.mul(x3dVPTemp2, x3dVPcurrXform);
x3dVPcurrXform.normalize();
x3dVPTemp2.rotX(incElev);
x3dVPTemp1.rotY(incAzim);
x3dVPcurrXform.mul(x3dVPTemp1, x3dVPcurrXform);
x3dVPcurrXform.mul(x3dVPTemp2, x3dVPcurrXform);
x3dVPcurrXform.normalize();
x3dVPcurrXform.setTranslation(translate);
xgrpVP.setTransform(x3dVPcurrXform );
Q: How do I rotate my camera around the world’s Y-axis, and at the same time, around the camera’s own local X-axis?
Q: How do I obtain the lookat vector from the camera? I need it for picking purposes.
Thanks in advance
mokopa