Scilab Function
Last update : April 2007

rt_rotvec - rotation about arbitrary axis[view code]

Calling Sequence

T = rt_rotvec(v, theta)



Return a homogeneous transformation representing a rotation of theta radians about the vector v.


   // The following example shows how rt_rotvec() can be used to generate
   // a homogeneous transform for a specified axis/angle form in a direct
   // approach.

   // Let r be the versor which represents an axis of rotation in the space
   r = rt_unit([1, 1, 1]),

   // compute the homogeneous transform representing a rotation of 0.2 rad.
   // about r
   // by compounded transforms
   a = atan(r(2), r(1));
   b = atan((r(1)^2 + r(2)^2)^(1/2), r(3));
   T = rt_rotz(a) * rt_roty(b) * rt_rotz(0.2) * rt_roty(-b) * rt_rotz(-a),

   // by using rt_rotvec() (direct approach)
   T2 = rt_rotvec(r, 0.2),


See Also

rt_rotx,  rt_roty,  rt_rotz,  rt_unit,  


original Matlab version by

Peter I. Corke CSIRO Manufacturing Science and Technology

Scilab implementation by

Matteo Morelli Interdepartmental Research Center "E. Piaggio", University of Pisa


Corke, P.I. "A Robotics Toolbox for MATLAB", IEEE Robotics and Automation Magazine, Volume 3(1), March 1996, pp. 24-32

L. Sciavicco, B. Siciliano, Modelling and Control of Robot Manipulators. 2nd Edition, Springer-Verlag Advanced Textbooks in Control and Signal Processing Series, London, UK, 2000.

Get the Robotics Toolbox for Scilab/Scicos at Fast, secure and Free Open Source software downloads