Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: MatrixMath.h
- Revision:
- 3:48754fe86e08
- Parent:
- 2:d487bb616ec1
- Child:
- 5:93948a9bbde2
--- a/MatrixMath.h Sun Oct 30 04:41:00 2011 +0000
+++ b/MatrixMath.h Sun Oct 30 04:44:45 2011 +0000
@@ -1,116 +1,116 @@
-/**
- * @file MatrixMath.h
- * @author Ernesto Palacios
- *
- * Created on 15 de septiembre de 2011, 09:44 AM.
- *
- * Develop Under GPL v3.0 License
- * http://www.gnu.org/licenses/gpl-3.0.html
- *
- */
-
-#ifndef MATRIXMATH_H
-#define MATRIXMATH_H
-
-#include "mbed.h"
-#include "Matrix.h"
-
-
-/**
- * @brief This class provides STATIC methods to preform operations over
- * Matrix Objects
- * version 0.8.
- *
- * Methods will be added as neccesary.
- *
- */
-class MatrixMath{
-public:
-
-
- /**@brief
- * Transposes Matrix, return new Object.
- * @param Mat matrix to calculate
- * @return the determinant
- */
- static Matrix Transpose( const Matrix& Mat );
-
-
- /**@brief
- * Calculate the inverse of a nxn Matrix BUT check first if the determinant
- * is != 0. Same matrix will be return if Det( Mat ) == 0.
- * @param Mat matrix to calcute inverse.
- * @return Matrix Inverse
- */
- static Matrix Inv( const Matrix& Mat );
-
-
- /**@brief
- * Creates an identity Matrix, n x n.
- * @param Rows Number of Rowns and Columns
- * @return Identity Matrix of dimensions Rows x Rows
- */
- static Matrix Eye( int Rows );
-
- /**@brief
- * Returns the dot Product of any two same leght vectors.
- * In this case a vector is defined as a [1,n] Matrix.
- * @param leftM First Vector
- * @param rightM Second Vector
- * @return Dot Product or Scalar Product.
- */
- static float dot( const Matrix& leftM, const Matrix& rightM );
-
- /**@brief Calculates the determinant of a Matrix.
- * @param Mat matrix to calculate.
- * @return the determinant.
- */
- static float det( const Matrix& Mat );
-
-
- //==== For Kinematics ====//
-
- /**@brief
- * Calculates the Rotation Matrix Transform along 'x' axis in radians.
- * @param radians rotation angle.
- * @return Rotation Matrix[4,4] along 'x' axis.
- */
- static Matrix RotX( float radians );
-
-
- /**@brief
- * Calculates the Rotation Matrix Transform along 'y' axis in radians.
- * @param radians rotation angle.
- * @return Rotation Matrix[4,4] along 'y' axis.
- */
- static Matrix RotY( float radians );
-
-
- /**@brief
- * Calculates the Rotation Matrix Transform along 'y' axis in radians.
- * @param radians rotation angle.
- * @return Rotation Matrix[4,4] along 'y' axis.
- */
- static Matrix RotZ( float radians );
-
- /**@brief
- * Calculates the Translation Matrix to coordenates, (x' y' z')
- * @param x axis translation
- * @param y axis translation
- * @param z axis translation
- * @return Translation Matrix[4,4] x'y'z'.
- */
- static Matrix Transl( float x, float y, float z );
-
-private:
-
- /**@brief
- * Calculates the Determinant of a 3x3 Matrix
- * @param Mat Already made sure is a 3 by 3
- * @return Float, determinant.
- */
- float Det3x3( const Matrix& Mat );
-
-};
-
-#endif /* MATRIXMATH_H */
+/**
+ * @file MatrixMath.h
+ * @author Ernesto Palacios
+ *
+ * Created on 15 de septiembre de 2011, 09:44 AM.
+ *
+ * Develop Under GPL v3.0 License
+ * http://www.gnu.org/licenses/gpl-3.0.html
+ *
+ */
+
+#ifndef MATRIXMATH_H
+#define MATRIXMATH_H
+
+#include "mbed.h"
+#include "Matrix.h"
+
+
+/**
+ * @brief This class provides STATIC methods to perform operations over
+ * Matrix Objects
+ * version 0.9.
+ *
+ * Methods will be added as neccesary.
+ *
+ */
+class MatrixMath{
+public:
+
+
+ /**@brief
+ * Transposes Matrix, return new Object.
+ * @param Mat matrix to calculate
+ * @return the determinant
+ */
+ static Matrix Transpose( const Matrix& Mat );
+
+
+ /**@brief
+ * Calculate the inverse of a nxn Matrix BUT check first if the determinant
+ * is != 0. Same matrix will be return if Det( Mat ) == 0.
+ * @param Mat matrix to calcute inverse.
+ * @return Matrix Inverse
+ */
+ static Matrix Inv( const Matrix& Mat );
+
+
+ /**@brief
+ * Creates an identity Matrix, n x n.
+ * @param Rows Number of Rowns and Columns
+ * @return Identity Matrix of dimensions Rows x Rows
+ */
+ static Matrix Eye( int Rows );
+
+ /**@brief
+ * Returns the dot Product of any two same leght vectors.
+ * In this case a vector is defined as a [1,n] Matrix.
+ * @param leftM First Vector
+ * @param rightM Second Vector
+ * @return Dot Product or Scalar Product.
+ */
+ static float dot( const Matrix& leftM, const Matrix& rightM );
+
+ /**@brief Calculates the determinant of a Matrix.
+ * @param Mat matrix to calculate.
+ * @return the determinant.
+ */
+ static float det( const Matrix& Mat );
+
+
+ //==== For Kinematics ====//
+
+ /**@brief
+ * Calculates the Rotation Matrix Transform along 'x' axis in radians.
+ * @param radians rotation angle.
+ * @return Rotation Matrix[4,4] along 'x' axis.
+ */
+ static Matrix RotX( float radians );
+
+
+ /**@brief
+ * Calculates the Rotation Matrix Transform along 'y' axis in radians.
+ * @param radians rotation angle.
+ * @return Rotation Matrix[4,4] along 'y' axis.
+ */
+ static Matrix RotY( float radians );
+
+
+ /**@brief
+ * Calculates the Rotation Matrix Transform along 'y' axis in radians.
+ * @param radians rotation angle.
+ * @return Rotation Matrix[4,4] along 'y' axis.
+ */
+ static Matrix RotZ( float radians );
+
+ /**@brief
+ * Calculates the Translation Matrix to coordenates, (x' y' z')
+ * @param x axis translation
+ * @param y axis translation
+ * @param z axis translation
+ * @return Translation Matrix[4,4] x'y'z'.
+ */
+ static Matrix Transl( float x, float y, float z );
+
+private:
+
+ /**@brief
+ * Calculates the Determinant of a 3x3 Matrix
+ * @param Mat Already made sure is a 3 by 3
+ * @return Float, determinant.
+ */
+ float Det3x3( const Matrix& Mat );
+
+};
+
+#endif /* MATRIXMATH_H */