Home > voicebox > rotax2qr.m

rotax2qr

PURPOSE ^

ROTQR2AX converts a rotation axis and angle to the corresponding real quaternion

SYNOPSIS ^

function q=rotax2qr(a,t)

DESCRIPTION ^

ROTQR2AX converts a rotation axis and angle to the corresponding real quaternion
 Inputs:

     A(3,1)   Vector in the direction of the rotation axis.
     T        Rotation angle in radians

 Output: 

     Q(4,1)   normalized real-valued quaternion

 In the quaternion representation of a rotation, and q(1) = cos(t/2) 
 where t is the angle of rotation and q(2:4)/sin(t/2) is a unit vector
 lying along the axis of rotation.
 A positive rotation about [0 0 1] takes the X axis towards the Y axis.
 
      Copyright (C) Mike Brookes 2007-2012
      Version: $Id: rotax2qr.m 2177 2012-07-13 14:23:47Z dmb $

   VOICEBOX is a MATLAB toolbox for speech processing.
   Home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You can obtain a copy of the GNU General Public License from
   http://www.gnu.org/copyleft/gpl.html or by writing to
   Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function q=rotax2qr(a,t)
0002 %ROTQR2AX converts a rotation axis and angle to the corresponding real quaternion
0003 % Inputs:
0004 %
0005 %     A(3,1)   Vector in the direction of the rotation axis.
0006 %     T        Rotation angle in radians
0007 %
0008 % Output:
0009 %
0010 %     Q(4,1)   normalized real-valued quaternion
0011 %
0012 % In the quaternion representation of a rotation, and q(1) = cos(t/2)
0013 % where t is the angle of rotation and q(2:4)/sin(t/2) is a unit vector
0014 % lying along the axis of rotation.
0015 % A positive rotation about [0 0 1] takes the X axis towards the Y axis.
0016 %
0017 %      Copyright (C) Mike Brookes 2007-2012
0018 %      Version: $Id: rotax2qr.m 2177 2012-07-13 14:23:47Z dmb $
0019 %
0020 %   VOICEBOX is a MATLAB toolbox for speech processing.
0021 %   Home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html
0022 %
0023 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0024 %   This program is free software; you can redistribute it and/or modify
0025 %   it under the terms of the GNU General Public License as published by
0026 %   the Free Software Foundation; either version 2 of the License, or
0027 %   (at your option) any later version.
0028 %
0029 %   This program is distributed in the hope that it will be useful,
0030 %   but WITHOUT ANY WARRANTY; without even the implied warranty of
0031 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0032 %   GNU General Public License for more details.
0033 %
0034 %   You can obtain a copy of the GNU General Public License from
0035 %   http://www.gnu.org/copyleft/gpl.html or by writing to
0036 %   Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.
0037 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0038 if all(a==0)
0039     a=[1;0;0];
0040 end
0041 m=sqrt(a(:)'*a(:));
0042 q=[cos(0.5*t); sin(0.5*t)*a(:)/m];
0043

Generated on Tue 10-Oct-2017 08:30:10 by m2html © 2003