Hi Jason,

I had to apply -90 (in degrees) to the pitch to get the correct results
after getHPRFromQuat(). Also createMatrix is expecting the input in
degrees. Maybe this will help

Nick

On Fri, Dec 19, 2014 at 3:10 AM, Jason Anderssen <janders...@exactal.com>
wrote:
>
>  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
>   [image: 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    [image: Download CostX Viewer]
> <http://www.exactal.com/viewer/download.php>[image: 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>
> 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>
>> Reply-To: OpenSceneGraph Users <osg-users@lists.openscenegraph.org>
>> Date: Wed, 17 Dec 2014 15:47:57 -0700
>> To: OpenSceneGraph Users <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
>> 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 (775)
>> 623-PIXL [7495]
>>    _______________________________________________ osg-users mailing
>> list 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
>> 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
>
>

-- 
trajce nikolov nick
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to