Pamiętam z WWDC, że odbyła się rozmowa pokazująca imbryk w OpenGL ES, który obracał się wraz z ruchem urządzenia. Wyglądało to tak, jakby czajniczek stał nieruchomo w przestrzeni.Jak uzyskać obrót wokół osi Y w stosunku do sposobu przechowywania urządzenia przez użytkownika?
Po uruchomieniu aplikacji czajniczek zaczął się w określonej pozycji. Następnie, gdy urządzenie zostało obrócone, czajniczek również obrócił się, aby stać w miejscu.
Podczas tej rozmowy wspomnieli, że musimy uzyskać "ramkę odniesienia", np. po uruchomieniu aplikacji, która mówi nam, jak użytkownik początkowo trzymał urządzenie.
Na przykład oto oś akcelerometr:
Chcę wiedzieć, obrót wokół osi Y, ale w stosunku do tego, jak użytkownik trzyma urządzenie. Tak więc, gdy użytkownik trzyma go w pozycji pionowej i obraca się wokół Y, muszę znać tę wartość obrotu.
Myślę, że kluczem jest usunięcie grawitacji z odczytów? Poza tym celuję w iPhone 4/4S z żyroskopami, ale myślę, że CoreMotion automatycznie je zintegruje.
Jak mogę zorientować się, ile użytkownik obrócił urządzenie wokół osi Y?
może to dać pomysł http://stackoverflow.com/questions/6464569/changing-uiviews-during-uiinterfaceorientation-on-ipad –
@ Praveen-K nie, nie chodzi o zdarzenia orientacji urządzenia. Chcę poznać dokładny kąt obrotu wokół Y w stosunku do tego, jak użytkownik zaczął trzymać urządzenie. –
Cóż, zawsze możesz wiedzieć o uruchomieniu aplikacji, w której orientacji użytkownik trzyma urządzenie, i na podstawie tego warunku możesz obliczyć oś y (nie jestem pewien, czy pytasz, gdzie użytkownik trzyma urządzenie pod dziwnym kątem: P_) –