Hi NICK, Thank you for your reply.
What do you think I maybe doing wrong with the following code : (NOTE: getHPRfromQuat is cut and paste from link, and the createMatrix is cut and paste from your reply. I was basically hoping that q2 == q after the conversion to and from???? osg::Quat q(-0.7071067811865475, 0.0, 0.0, 0.7071067811865476); osg::Vec3d hpr = getHPRfromQuat(q); osg::Matrixd m = createMatrix(0.0, 0.0, 0.0, hpr.x(), hpr.y(), hpr.z()); osg::Quat q2; q2.set(m); Any assistance is very much appreciated. Cheers Jason Anderssen Jason Anderssen, Senior Product Engineer Exactal — Precision Software [Exactal Pty Ltd]<http://www.exactal.com/> Level 2, Toowong Tower, 9 Sherwood Road, Toowong QLD 4066, Australia P: +61 7 3870 2666 | F: +61 7 3870 5266 | janders...@exactal.com | www.exactal.com<http://www.exactal.com/> [http://www.exactal.com/images/emails/sig/ex2b.gif][Download CostX Viewer]<http://www.exactal.com/viewer/download.php>[Send a CostX Invitation]<http://www.exactal.com/viewer/invite.php> ________________________________ From: osg-users [osg-users-boun...@lists.openscenegraph.org] on behalf of Trajce Nikolov NICK [trajce.nikolov.n...@gmail.com] Sent: Thursday, 18 December 2014 6:14 PM To: OpenSceneGraph Users Subject: Re: [osg-users] Yaw pitch and roll or xyz conversion to and from Quaternion Hi Jason, here you have YPR from osg::Quat (look at the snippets) http://forum.openscenegraph.org/viewtopic.php?t=548 As for the other way it is easy, you create the Matrix and get the rotate Quat, (return matrix.getRotate()), something like: osg::Matrixd Utils::createMatrix(double x, double y, double z, double h, double p, double r) { osg::Matrixd mxR; mxR.makeRotate(osg::DegreesToRadians(r),osg::Vec3(0,1,0)); osg::Matrixd mxP; mxP.makeRotate(osg::DegreesToRadians(p),osg::Vec3(1,0,0)); osg::Matrixd mxH; mxH.makeRotate(osg::DegreesToRadians(h),osg::Vec3(0,0,1)); osg::Matrixd mxT; mxT.makeTranslate(osg::Vec3(x,y,z)); return (mxP*mxH*mxT*mxR); } On Thu, Dec 18, 2014 at 12:03 AM, Jason Anderssen <janders...@exactal.com<mailto:janders...@exactal.com>> wrote: Hi Chris, Thank you for you reply. I had a look at those, maybe I can get it to work with them, but I really just want a simple 3 values for Yaw Pitch and Roll, from which I can re-create the exactly same Quat or Matrix. I will also clarify, I don’t care about translation or scale etc, and the quaternion I am using is of course only a rotation anyway. So basically I want the following type of code : getYPR(float &yaw, float &pitch, float &roll); Quaternion::fromYPR(yaw, pitch, roll); Cheers Jason Anderssen From: Chris Hanson <xe...@alphapixel.com<mailto:xe...@alphapixel.com>> Reply-To: OpenSceneGraph Users <osg-users@lists.openscenegraph.org<mailto:osg-users@lists.openscenegraph.org>> Date: Wed, 17 Dec 2014 15:47:57 -0700 To: OpenSceneGraph Users <osg-users@lists.openscenegraph.org<mailto:osg-users@lists.openscenegraph.org>> Subject: Re: [osg-users] Yaw pitch and roll or xyz conversion to and from Quaternion Just wondering if in OSG there is anywhere I can extract either Yaw pitch and roll / or XYZ eular angles, too and from either a matrix or a quaternion? The void<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01593.html#a306a73ea16dfe10406725cefb3867dfa> get<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00648.html#a341e0295def3df6e07a014a1ff8195b4> (Matrixd<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00489.html> &matrix) const method lets you convert a Quat to a 4x4 Matrix. void<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01593.html#a306a73ea16dfe10406725cefb3867dfa> decompose<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00489.html#a3aad163d793a9d5af248e42fd2e94dea> (osg::Vec3d<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00972.html> &translation, osg::Quat<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00648.html> &rotation, osg::Vec3d<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00972.html> &scale<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00489.html#a9a9ad7cd3f007df5f559e10d471f1981>, osg::Quat<http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00648.html> &so) const decompose the matrix into translation, rotation, scale and scale orientation. Will extract the trans, rot and scale components out of the matrix. Is that what you want? -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com<mailto:xe...@alphapixel.com> http://www.alphapixel.com/ Training • Consulting • Contracting 3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 • GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL Digital Imaging • GIS • GPS • osgEarth • Terrain • Telemetry • Cryptography • Digital Audio • LIDAR • Kinect • Embedded • Mobile • iPhone/iPad/iOS • Android @alphapixel<https://twitter.com/alphapixel> facebook.com/alphapixel<http://facebook.com/alphapixel> (775) 623-PIXL [7495] _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org<mailto:osg-users@lists.openscenegraph.org> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org Internet Email Confidentiality Footer: This email and any files transmitted with it contain privileged/confidential information intended for the addressee. Neither the confidentiality of nor any privilege in the email is waived, lost or destroyed by reason that it has been transmitted other than to the addressee. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such case, you should destroy this message, and notify us immediately. _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org<mailto:osg-users@lists.openscenegraph.org> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- trajce nikolov nick Internet Email Confidentiality Footer: This email and any files transmitted with it contain privileged/confidential information intended for the addressee. Neither the confidentiality of nor any privilege in the email is waived, lost or destroyed by reason that it has been transmitted other than to the addressee. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such case, you should destroy this message, and notify us immediately.
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org