Package org.robwork.sdurw
Class RPYd
- java.lang.Object
-
- org.robwork.sdurw.Rotation3DVectord
-
- org.robwork.sdurw.RPYd
-
public class RPYd extends Rotation3DVectord
A class for representing Roll-Pitch-Yaw Euler angle rotations.
-
-
Constructor Summary
Constructors Constructor Description RPYd()
Constructs rotation in which all elements are initialized to 0RPYd(double roll, double pitch, double yaw)
Constructs an initialized roll-pitch-yaw euler angle vectorRPYd(long cPtr, boolean cMemoryOwn)
RPYd(Rotation3Dd rot)
Constructs an RPY object initialized according to the specified Rotation3D
\beta = arctan2(-r_{31},\sqrt{r_{11}^2+r_{21}^2})
\alpha = arctan2(r_{21}/cos(\beta), r_{11}/cos(\beta))
\beta = arctan2(r_{32}/cos(\beta), r_{33}/cos(\beta)))
RPYd(Rotation3Dd rot, double epsilon)
Constructs an RPY object initialized according to the specified Rotation3D
\beta = arctan2(-r_{31},\sqrt{r_{11}^2+r_{21}^2})
\alpha = arctan2(r_{21}/cos(\beta), r_{11}/cos(\beta))
\beta = arctan2(r_{32}/cos(\beta), r_{33}/cos(\beta)))
RPYd(RPYd rpy)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
delete()
double
get(long i)
static long
getCPtr(RPYd obj)
void
set(long i, double d)
long
size()
size of this RPY.Rotation3Dd
toRotation3D()
Returns the corresponding 3x3 Rotation matrixjava.lang.String
toString()
-
Methods inherited from class org.robwork.sdurw.Rotation3DVectord
getCPtr
-
-
-
-
Constructor Detail
-
RPYd
public RPYd(long cPtr, boolean cMemoryOwn)
-
RPYd
public RPYd()
Constructs rotation in which all elements are initialized to 0
-
RPYd
public RPYd(double roll, double pitch, double yaw)
Constructs an initialized roll-pitch-yaw euler angle vector- Parameters:
roll
- Rotation around zpitch
- Rotation around yyaw
- Rotation around x
-
RPYd
public RPYd(RPYd rpy)
-
RPYd
public RPYd(Rotation3Dd rot, double epsilon)
Constructs an RPY object initialized according to the specified Rotation3D
\beta = arctan2(-r_{31},\sqrt{r_{11}^2+r_{21}^2})
\alpha = arctan2(r_{21}/cos(\beta), r_{11}/cos(\beta))
\beta = arctan2(r_{32}/cos(\beta), r_{33}/cos(\beta)))
- Parameters:
epsilon
- [in] Value specifying the value for which cos(\beta) is assumed 0 and the special case solution assuming
\alpha=0, \beta=\pi/2 and \gamma = arctan2(r_{21}, r_{22}) is
to be used.
-
RPYd
public RPYd(Rotation3Dd rot)
Constructs an RPY object initialized according to the specified Rotation3D
\beta = arctan2(-r_{31},\sqrt{r_{11}^2+r_{21}^2})
\alpha = arctan2(r_{21}/cos(\beta), r_{11}/cos(\beta))
\beta = arctan2(r_{32}/cos(\beta), r_{33}/cos(\beta)))
-
-
Method Detail
-
getCPtr
public static long getCPtr(RPYd obj)
-
delete
public void delete()
- Overrides:
delete
in classRotation3DVectord
-
toRotation3D
public Rotation3Dd toRotation3D()
Description copied from class:Rotation3DVectord
Returns the corresponding 3x3 Rotation matrix- Overrides:
toRotation3D
in classRotation3DVectord
- Returns:
- The rotation matrix
-
size
public long size()
size of this RPY.- Returns:
- the value 3
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
get
public double get(long i)
-
set
public void set(long i, double d)
-
-