Программа для расчета значений осей X и Y акселерометра из ускорения движения и угла наклона датчика относительно вектора силы тяжести. Датчик базируется на двуосевом акселерометре, оси которого образуют с вектором силы тяжести углы в 45 градусов. При расчете подразумевается что ускорение по оси силы тяжести не изменяется в больших пределах относительно значения в 1g. Если ускорение движения направлено в противоположную сторону от угла отклонения, угол отклонения пишите со знаком минус.

Используемые формулы:
G = 1g = const
Суммарный вектор: Sum = sqrt( a^2 + G^2 );
Угол между вектором ускорения и суммарным вектором: Gamma = arcsin( G/Sum );
Угол между осью Х и суммарным вектором: XSum_angle = 45 + Z_angle + ( 90.0 - Gamma );
Угол между осью Y и суммарным вектором: YSum_angle = 90 - XSum_angle;
Значение по оси X: X = Sum * cos( XSum_angle );
Значение по оси Y: Y = Sum * cos( YSum_angle );

Угол отклонения от вектора силы тяжести:

Ускорение движения: