Privacy
An open-source, flexible 3D physical simulation framework
mathUtils.cpp File Reference
#include "mathUtils.h"
#include "misc.h"
#include <stdexcept>
#include <cmath>
#include <algorithm>
#include <Eigen/Core>

Go to the source code of this file.

Namespaces

 mars
 Copyright 2012, DFKI GmbH Robotics Innovation Center.
 
 mars::utils
 

Functions

ApproximationFunction mars::utils::getApproximationFunctionFromString (std::string s)
 
ApproximationFunction2D mars::utils::getApproximationFunction2DFromString (std::string s)
 
double mars::utils::pipe (double *x, std::vector< double > *c)
 
double mars::utils::polynom2 (double *x, std::vector< double > *c)
 
double mars::utils::polynom3 (double *x, std::vector< double > *c)
 
double mars::utils::polynom4 (double *x, std::vector< double > *c)
 
double mars::utils::polynom5 (double *x, std::vector< double > *c)
 
double mars::utils::gaussian (double *x, std::vector< double > *c)
 
double mars::utils::polynom2D1 (double *x, double *y, std::vector< double > *c)
 
double mars::utils::polynom2D2 (double *x, double *y, std::vector< double > *c)
 
double mars::utils::getYaw (const Quaternion &q)
 
double mars::utils::angleBetween (const Vector &v1, const Vector &v2, Vector *axis=NULL)
 Angle between two vectors. More...
 
Quaternion mars::utils::eulerToQuaternion (const Vector &euler_v)
 
sRotation mars::utils::quaternionTosRotation (const Quaternion &value)
 
Vector mars::utils::slerp (const Vector &from, const Vector &to, double t)
 
Vector mars::utils::lerp (const Vector &from, const Vector &to, double t)
 
void mars::utils::vectorToSpherical (const Vector &v, double *r, double *theta, double *phi)
 
Vector mars::utils::getProjection (const Vector &v1, const Vector &v2)
 
Vector mars::utils::vectorFromSpherical (double r, double theta, double phi)
 
bool mars::utils::vectorFromConfigItem (ConfigItem *item, Vector *v)
 
void mars::utils::vectorToConfigItem (ConfigItem *item, Vector *v)
 
bool mars::utils::quaternionFromConfigItem (ConfigItem *item, Quaternion *q)
 
void mars::utils::quaternionToConfigItem (ConfigItem *item, Quaternion *q)
 
void mars::utils::inertiaTensorToConfigItem (ConfigItem *item, double *inertia)
 
double mars::utils::random_number (double min, double max, int digits)
 
double mars::utils::random_normal_number (double mean, double std, double low, double high)
 

Variables

static const int mars::utils::EULER_AXIS_1 = 2
 
static const int mars::utils::EULER_AXIS_2 = 0
 
static const int mars::utils::EULER_AXIS_3 = 1