Freigeben über


Пузырьковый уровень

Опубликовано 2 декабря 2009 23:27 | Coding4Fun |

clip_image002

Джоэл Айвори Джонсон (Joel Ivory Johnson) написал весьма функциональную программу для своего Zune HD — пузырьковый уровень, использовав встроенный в Zune HD акселерометр, который позволяет определять наклон устройства. На основе данных, получаемых от акселерометра, и всеми любимой теоремы Пифагора он создал настоящий ватерпас!

Джоэл также поясняет математические операции, необходимые для расчетов, в том числе для определения направления и величины отклонения.

Vector3 accelReading = accelState.Acceleration;

tiltDirection = (float)Math.Atan2(accelReading.Y, accelReading.X);

tiltMagnitude = (float)Math.Sqrt(accelReading.X * accelReading.X + accelReading.Y * accelReading.Y );