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.
Quaternions.h
- Committer:
- Zbyszek
- Date:
- 2019-02-24
- Revision:
- 5:155d224d855c
- Parent:
- 4:e36c7042d3bb
- Child:
- 6:0ebecfecadc9
File content as of revision 5:155d224d855c:
typedef struct {
double w;
double x;
double y;
double z;
} Quaternion;
typedef struct {
double roll;
double pitch;
double yaw;
} Rotation;
typedef struct {
double x;
double y;
double z;
} vector;
//-----------------------------Functions--------------------------------------//
Quaternion toQuaternionNotation(vector AngularRate, double dt);
Quaternion getQuaternionProduct(Quaternion previousQ, Quaternion deltaQ);
Quaternion quaternionConjugate(Quaternion Q);
Quaternion updateQuaternion(Quaternion Qprevious, vector angularRate, double deltaTime);
vector quaternion2Vector(Quaternion Q);
Quaternion vector2Quaternion(vector v);
vector rotateVector(Quaternion Q, vector v);
Quaternion normaliseQuaternion(Quaternion Q);
double getQuaternionNorm(Quaternion Q);
Quaternion getQaDelta(Quaternion Q);
vector crossProduct(vector v1, vector v2);
Quaternion sumQuaternion(Quaternion Q1, Quaternion Q2);
vector sumVector(vector v1, vector v2);
Quaternion getQVproduct(Quaternion Q, vector v);
vector rotateGlobal(vector v1, Quaternion Q);
vector rotateLocal(vector v1, Quaternion Q);
vector mul(float a, vector v);
vector eulerA(Quaternion Q);
Quaternion euler2Quaternion(Quaternion Q);
Quaternion toQuaternionNotation123(vector AngularRate, double dt);
//-----------------------------Functions--------------------------------------//