Пузырьковый уровень
Опубликовано 2 декабря 2009 23:27 | Coding4Fun |
Джоэл Айвори Джонсон (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 );