%SE2 Representation of 2D rigid-body motion
%
% This subclasss of RTBPose is an object that represents rigid-body motion in 2D.
% Internally this is a 3x3 homogeneous transformation matrix (3x3) belonging to
% the group SE(2).
%
% Constructor methods::
% SE2 general constructor
% SE2.exp exponentiate an se(2) matrix
% SE2.rand random transformation
% new new SE2 object
%
% Display and print methods::
% animate ^graphically animate coordinate frame for pose
% display ^print the pose in human readable matrix form
% plot ^graphically display coordinate frame for pose
% print ^print the pose in single line format
%
% Group operations::
% * ^mtimes: multiplication (group operator, transform point)
% / ^mrdivide: multiply by inverse
% ^ ^mpower: exponentiate (integer only):
% inv inverse
% prod ^product of elements
%
% Methods::
% det determinant of matrix component
% eig eigenvalues of matrix component
% log logarithm of rotation matrix
% inv inverse
% simplify* apply symbolic simplication to all elements
% interp interpolate between poses
% theta rotation angle
%
% Information and test methods::
% dim ^returns 2
% isSE ^returns true
% issym ^test if rotation matrix has symbolic elements
% SE2.isa test if matrix is SE(2)
%
% Conversion methods::
% char* convert to human readable matrix as a string
% SE2.convert convert SE2 object or SE(2) matrix to SE2 object
% double convert to rotation matrix
% R convert to rotation matrix
% SE3 convert to SE3 object with zero translation
% SO2 convert rotational part to SO2 object
% T convert to homogeneous transformation matrix
% Twist convert to Twist object
% t get.t: convert to translation column vector
%
% Compatibility methods::
% isrot2 ^returns false
% ishomog2 ^returns true
% tr2rt ^convert to rotation matrix and translation vector
% t2r ^convert to rotation matrix
% transl2 ^translation as a row vector
% trprint2 ^print single line representation
% trplot2 ^plot coordinate frame
% tranimate2 ^animate coordinate frame
%
% ^ inherited from RTBPose class.
%
% See also SO2, SE3, RTBPose.
% Copyright (C) 1993-2019 Peter I. Corke
%
% This file is part of The Spatial Math Toolbox for MATLAB (SMTB).
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the "Software"), to deal
% in the Software without restriction, including without limitation the rights
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
% of the Software, and to permit persons to whom the Software is furnished to do
% so, subject to the following conditions:
%
% The above copyright notice and this permission notice shall be included in all
% copies or substantial portions of the Software.
%
% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
% FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
% COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
% IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
% CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
%
% https://github.c