Program Listing for File motion_struct.h
↰ Return to documentation for file (c/fmdt/motion/motion_struct.h)
#pragma once
typedef struct {
float cos_theta;
float neg_sin_theta;
float tx;
float sin_theta;
float cos_theta2;
float ty;
float zero1;
float zero2;
float one;
} tmat3x3_t;
typedef struct {
float x;
float y;
float one;
} hcoord_t;
void motion_init_tmat3x3(tmat3x3_t* tmat, const float cos_theta, const float sin_theta, const float tx, const float ty);
void motion_init_tmat3x3_identity(tmat3x3_t* tmat);
float motion_get_theta(const tmat3x3_t* tmat);
hcoord_t motion_update_pos(const tmat3x3_t* tmat, const float x, const float y);
void motion_combine_tmat3x3(const tmat3x3_t* tmat0, const tmat3x3_t* tmat1, tmat3x3_t* tmat0_1);
typedef struct {
tmat3x3_t tmat;
float mean_error;
float std_deviation;
} motion_t;