diff --git a/sw/airborne/math/pprz_algebra.h b/sw/airborne/math/pprz_algebra.h index 086479d390..9ff572b683 100644 --- a/sw/airborne/math/pprz_algebra.h +++ b/sw/airborne/math/pprz_algebra.h @@ -199,6 +199,19 @@ if ((_v).z > (_v_max).y) (_v).z = (_v_max).z; else if ((_v).z < (_v_min).z) (_v).z = (_v_min).z; \ } +#define VECT3_CROSS_PRODUCT(_vo, _v1, _v2) { \ + (_vo).x = (_v1).y*(_v2).z - (_v1).z*(_v2).y; \ + (_vo).y = (_v1).z*(_v2).x - (_v1).x*(_v2).z; \ + (_vo).z = (_v1).x*(_v2).y - (_v1).y*(_v2).x; \ + } + +#define VECT3_RATES_CROSS_VECT3(_vo, _r1, _v2) { \ + (_vo).x = (_r1).q*(_v2).z - (_r1).r*(_v2).y; \ + (_vo).y = (_r1).r*(_v2).x - (_r1).p*(_v2).z; \ + (_vo).z = (_r1).p*(_v2).y - (_r1).q*(_v2).x; \ + } + + /*