|
LARS
LARS (Light Augmented Reality System) is an open-source framework for light-based interaction and real-time tracking in multi-robot experiments. Inspired by ARK, LARS extends the augmented reality paradigm to robotic collectives by projecting dynamic visual cues and environments onto the arena, enabling new experimental possibilities for collective robotics research, education, and outreach. LARS features integrated tracking, light projection, and modular experiment control with a user-friendly Qt GUI.
|
2D translation matrix class More...
#include <matrix_2d.h>
Public Member Functions | |
| Matrix2D () | |
| create an identity matrix | |
| Matrix2D (const double &m11, const double &m12, const double &m21, const double &m22, const double &dx, const double &dy) | |
| create a matrix with all elements. | |
| const Matrix2D & | reset () |
| reset to the identity matrix | |
| const Matrix2D & | assign (const double &m11, const double &m12, const double &m21, const double &m22, const double &dx, const double &dy) |
| set a matrix element with the specified values. | |
| const double & | m11 () const |
| get the horizontal scaling factor. | |
| const double & | m12 () const |
| get the vertical shearing factor. | |
| const double & | m21 () const |
| get the horizontal shearing factor. | |
| const double & | m22 () const |
| get the vertical scaling factor. | |
| const double & | dx () const |
| get the horizontal translation factor. | |
| const double & | dy () const |
| get the vertical translation factor. | |
| double | det () const |
| get the matrix's determinant. | |
| bool | invertible () const |
| check if this matrix is invertible (is not isingular). | |
| Matrix2D | inverted () const |
| get the inverted matrix. | |
| Matrix2D & | translate (const double &dx, const double &dy) |
| moves the coordinate system. | |
| Matrix2D & | scale (const double &sx, const double &sy) |
| scales the coordinate system. | |
| Matrix2D & | rotate (const AngleDeg &angle) |
| rotates the coordinate system | |
| const Matrix2D & | operator*= (const Matrix2D &m) |
| multiplied by other matrix | |
| Vector2D | transform (const Vector2D &v) const |
| create transformed vector from input vector with this matrix | |
| Vector2D | transform (const double &x, const double &y) const |
| create transformed vector from input coordinates with this matrix | |
| void | transform (Vector2D *v) const |
| transform input vector with this matrix | |
| std::ostream & | print (std::ostream &os) const |
| put all elemtns to the output stream | |
Static Public Member Functions | |
| static Matrix2D | make_translation (const double &dx, const double &dy) |
| create the translation matrix. | |
| static Matrix2D | make_scaling (const double &sx, const double &sy) |
| create the scaling matrix. | |
| static Matrix2D | make_rotation (const AngleDeg &angle) |
| create the rotation matrix. | |
2D translation matrix class
( m11, m12, dx ) ( m21, m22, dy ) ( 0, 0, 1 )
|
inline |
create a matrix with all elements.
| m11 | the horizontal scaling factor. |
| m12 | the vertical shearing factor. |
| m21 | the horizontal shearing factor. |
| m22 | the vertical scaling factor. |
| dx | the horizontal translation factor. |
| dy | the vertical translation factor. |
|
inline |
set a matrix element with the specified values.
| m11 | the horizontal scaling factor. |
| m12 | the vertical shearing factor. |
| m21 | the horizontal shearing factor. |
| m22 | the vertical scaling factor. |
| dx | the horizontal translation factor. |
| dy | the vertical translation factor. |
|
inline |
get the matrix's determinant.
|
inline |
get the horizontal translation factor.
|
inline |
get the vertical translation factor.
| Matrix2D rcsc::Matrix2D::inverted | ( | ) | const |
get the inverted matrix.
|
inline |
check if this matrix is invertible (is not isingular).
|
inline |
get the horizontal scaling factor.
|
inline |
get the vertical shearing factor.
|
inline |
get the horizontal shearing factor.
|
inline |
get the vertical scaling factor.
create the rotation matrix.
| angle | the rotation angle |
|
inlinestatic |
create the scaling matrix.
| sx | the horizontal scaling factor. |
| sy | the vertical scaling factor. |
|
inlinestatic |
create the translation matrix.
| dx | the horizontal translation factor. |
| dy | the vertical translation factor. |
multiplied by other matrix
| m | left hand side matrix |
|
inline |
put all elemtns to the output stream
| os | reference to the output stream |
|
inline |
reset to the identity matrix
rotates the coordinate system
| angle | rotation angle |
same as: this = make_rotation(angle) * this
|
inline |
scales the coordinate system.
| sx | scaling factor for the x axis. |
| sy | scaling factor for the y axis. |
same as: this = make_scaling(sx,sy) * this
|
inline |
create transformed vector from input coordinates with this matrix
| x | input x-coordinates value |
| y | input y-coordinates value |
create transformed vector from input vector with this matrix
| v | input vector |
|
inline |
transform input vector with this matrix
| v | pointer to the input vector. |
|
inline |
moves the coordinate system.
| dx | move factor for the x axis. |
| dy | move factor for the y axis. |
same as: this = make_translation(dx,dy) * this