Какво е жироскоп?

Жироскопът е малък сензор вътре в телефона, таблета или лаптопа ви, който измерва ротацията около три оси. В комбинация с акселерометъра и магнитометъра, той казва на устройството в каква посока е наклонено, колко бързо се завърта и в каква посока е обърнато. Тези данни захранват автоматичното завъртане на екрана, разширената реалност, състезателни игри, панорамни снимки, броене на стъпки и стабилизация на изображението.

Съвременните устройства разкриват тази информация на уеб браузърите чрез DeviceOrientationEvent API. Браузърът докладва три ъгъла — алфа, бета и гама — които заедно описват ориентацията на устройството в 3D пространство спрямо Земята.

Разбиране на алфа, бета и гама

Трите ъгъла на ориентация всеки описват ротация около различна ос:

  • Алфа (0–360°) — Ротация около Z оста (вертикална). Представете си завъртане на устройството плоско на маса; алфа е компасоподобното направление.
  • Бета (-180–180°) — Ротация около X оста (отляво надясно). Това е наклонът отпред назад, като кимане на устройството към вас или от вас.
  • Гама (-90–90°) — Ротация около Y оста (отгоре надолу). Това е наклонът отляво надясно, като преклоняване на устройството встрани.

Описание на инструмента

Този инструмент чете живи данни за ориентацията от жироскопа на вашето устройство и ги визуализира като 3D модел, който отразява движението ви в реално време. Той също така показва суровите стойности на алфа, бета и гама в градуси, така че можете да проверите дали сензорът работи правилно и дава точни показания.

Примери

Позиция на устройството Алфа Бета Гама
Лежи плоско, екран нагоре, върх към С
Държано вертикално в портретен режим 90°
Наклонено дясно край надолу (пейзаж) 90°
Завъртяно 180° плоско, екран все още нагоре 180°

Функции

  • Живи 3D модел, който се завърта синхронно с вашето устройство
  • Показания на алфа, бета и гама в реално време в градуси
  • Открива дали браузърът поддържа ориентационния API
  • Обработва iOS подкани за разрешение за достъп до движение
  • Показва дали данните за ориентацията са абсолютни (референцирани към Земята) или относителни

Случаи на употреба

  • Диагностика на неправилен сензор — Проверете дали жироскопът на телефона ви работи правилно, преди да го изпратите на ремонт или да го върнете.
  • Тестване на уеб приложения, които използват движение — Разработчиците, които изграждат AR преживявания, игри, управлявани чрез движение, или VR прегледи, могат да валидират входа на сензора директно в браузъра.
  • Проверка на калибрирането — Потвърдете, че стойностите на ориентацията се връщат на нула, когато устройството е положено плоско, което ви помага да откриете отклонение или неправилно калибриране.

Как работи

Инструментът се абонира на събитието deviceorientation на браузъра, което се активира всеки път, когато ориентацията на вашето устройство се промени. Всяко събитие предоставя текущите стойности на алфа, бета и гама. 3D моделът използва Three.js, за да преобразува тези ъгли в кватернионна ротация, приложена с гладка интерполация на всеки кадър на анимацията, за да се избегне трептене.

Ограничения

  • Изисква устройство с вграден жироскоп (повечето настолни компютри и много лаптопи нямат такъв)
  • iOS Safari изисква явно разрешение чрез жест на потребител, преди данните на сензора да бъдат споделени
  • Изисква защитен контекст (HTTPS) на повечето съвременни браузъри
  • Някои браузъри докладват ориентация само когато страницата е на преден план

Съвети

  • Ако показанията остават на нула, вашето устройство вероятно няма жироскоп или браузърът блокира достъпа
  • На iOS докоснете бутона "Включи движение" след като страницата се зареди — разрешението не може да бъде дадено автоматично
  • Положете устройството плоско на стабилна повърхност, за да потвърдите базовите стойности, преди да тествате наклоните