VirtualPhysics the realtime dynamics simulation library

se3 Class Reference

Lie algebra of SE(3). More...

#include <LieGroup.h>

List of all members.

Public Member Functions

 se3 (int c)
 se3 (scalar c)
 se3 (scalar c0, scalar c1, scalar c2, scalar c3, scalar c4, scalar c5)
const se3operator+ (void) const
se3 operator- (void) const
const se3operator= (const se3 &)
const se3operator= (const Vec3 &v)
const se3operator= (scalar c)
const se3operator+= (const se3 &)
const se3operator+= (const Vec3 &v)
const se3operator-= (const se3 &)
const se3operator*= (scalar c)
se3 operator+ (const se3 &) const
se3 operator- (const se3 &) const
se3 operator* (scalar) const
scalar & operator[] (int idx)
void Ad (const SE3 &T, const se3 &V)
void InvAd (const SE3 &T, const se3 &V)
void ad (const se3 &V, const se3 &W)

Friends

ostream & operator<< (ostream &, const se3 &)
se3 operator* (scalar, const se3 &)
scalar operator* (const dse3 &F, const se3 &V)
scalar operator* (const se3 &V, const dse3 &F)
SE3 Exp (const se3 &)
se3 Log (const SE3 &)
se3 Ad (const SE3 &T, const se3 &V)
se3 InvAd (const SE3 &T, const se3 &V)
Vec3 MinusLinearAd (const Vec3 &p, const se3 &V)
se3 ad (const se3 &X, const se3 &Y)
dse3 dad (const se3 &V, const dse3 &F)
scalar SquareSum (const se3 &)
se3 Rotate (const SE3 &T, const se3 &S)
se3 InvRotate (const SE3 &T, const se3 &S)


Detailed Description

se3 is a class for representing $se(3)$, the Lie algebra of $SE(3)$. Geometrically it deals with generalized velocity. The first three elements correspond to angular velocity and the last three elements correspond to linear velocity.

Constructor & Destructor Documentation

se3::se3 ( int  c  )  [explicit]

constructor : (c, c, c, c, c, c)

se3::se3 ( scalar  c  )  [explicit]

constructor : (c, c, c, c, c, c)

se3::se3 ( scalar  c0,
scalar  c1,
scalar  c2,
scalar  c3,
scalar  c4,
scalar  c5 
) [explicit]

constructor : (c0, c1, c2, c3, c4, c5)


Member Function Documentation

const se3 & se3::operator+ ( void   )  const

unary plus operator

se3 se3::operator- ( void   )  const

unary minus operator

const se3 & se3::operator= ( const se3 s  ) 

substitution operator

const se3 & se3::operator= ( const Vec3 v  ) 

fast version of = se3(0, v)

const se3 & se3::operator= ( scalar  c  ) 

substitution operator, fast version of = se3(c)

const se3 & se3::operator+= ( const se3 s  ) 

+= operator

const se3 & se3::operator+= ( const Vec3 v  ) 

fast version of += se3(0, v)

const se3 & se3::operator-= ( const se3 s  ) 

-= operator

const se3 & se3::operator*= ( scalar  c  ) 

= operator with scalar

se3 se3::operator+ ( const se3 s  )  const

addition operator

se3 se3::operator- ( const se3 s  )  const

subtraction operator

se3 se3::operator* ( scalar  d  )  const

scalar multiplication operator

scalar & se3::operator[] ( int  idx  ) 

access to the idx th element.

void se3::Ad ( const SE3 T,
const se3 V 
)

set itself to be Ad(T, V).

void se3::InvAd ( const SE3 T,
const se3 V 
)

set itself to be Ad(Inv(T), V).

void se3::ad ( const se3 V,
const se3 W 
)

set itself to be ad(V, W).


Friends And Related Function Documentation

ostream& operator<< ( ostream &  ,
const se3  
) [friend]

standard output operator

se3 operator* ( scalar  d,
const se3 s 
) [friend]

scalar multiplicaiton operator

scalar operator* ( const dse3 F,
const se3 V 
) [friend]

inner product

Note:
$ \langle F, V\rangle = \langle V, F\rangle = \langle m, w\rangle + \langle f, v\rangle $ ,where $F=(m,f)\in se(3)^*,\quad V=(w,v)\in se(3)$.

scalar operator* ( const se3 V,
const dse3 F 
) [friend]

inner product

SE3 Exp ( const se3 S  )  [friend]

Exponential mapping

se3 Log ( const SE3 T  )  [friend]

Log mapping

se3 Ad ( const SE3 T,
const se3 V 
) [friend]

adjoint mapping

Note:
$Ad_TV = ( Rw\,, ~p \times Rw + Rv)$ , where $T=(R,p)\in SE(3), \quad V=(w,v)\in se(3) $.

se3 InvAd ( const SE3 T,
const se3 V 
) [friend]

fast version of Ad(Inv(T), V)

Vec3 MinusLinearAd ( const Vec3 p,
const se3 V 
) [friend]

get a linear part of Ad(SE3(-p), V).

se3 ad ( const se3 X,
const se3 Y 
) [friend]

adjoint mapping

Note:
$ad_X Y = ( w_X \times w_Y\,,~w_X \times v_Y - w_Y \times v_X),$ , where $X=(w_X,v_X)\in se(3), \quad Y=(w_Y,v_Y)\in se(3) $.

dse3 dad ( const se3 V,
const dse3 F 
) [friend]

dual adjoint mapping

Note:
$ad^{\,*}_V F = (m \times w + f \times v\,,~ f \times w),$ , where $F=(m,f)\in se^{\,*}(3), \quad V=(w,v)\in se(3) $.

scalar SquareSum ( const se3 s  )  [friend]

get squared sum of all the elements

se3 Rotate ( const SE3 T,
const se3 S 
) [friend]

fast version of se3(Rotate(T, Vec3(S[0], S[1], S[2])), Rotate(T, Vec3(S[3], S[4], S[5])))

se3 InvRotate ( const SE3 T,
const se3 S 
) [friend]

fast version of se3(Rotate(Inv(T), Vec3(S[0], S[1], S[2])), Rotate(Inv(T), Vec3(S[3], S[4], S[5])))


Generated on Wed Jun 11 23:11:49 2008 for VirtualPhysics by  doxygen 1.5.5