Jak mogę uzyskać wektor pola magnetycznego, niezależnie od obrotu urządzenia?

To, co chcę odarchiwizować, to rodzaj „magnetycznego odcisku palca” lokalizacji. Używam czujnika MAGNETIC_FIELD, a w razie otrzymania3 wartości dla (niestety nie wyjaśniono dalej) osi X, Y i Z.

Problem polega na tym, że wartości zmieniają się, gdy obracam urządzenie, więc myślę, że 3 oś są względem urządzenia. Potrzebowałbym zrekompensować obrót urządzenia, aby uzyskać te same 3 wartości, niezależnie od tego, jak urządzenie jest obracane.

Próbowałem pomnożyć przez macierz rotacji (wiem, jak to zrobić), próbowałem pomnożyć się z macierzą nachylenia i tak dalej, ale nic nie działa. Niezależnie od tego, co próbuję, nadal zmieniają się wartości, gdy obracam urządzenie.

Czy ktoś wie, jak to zrobić? Najlepiej z kodem, ponieważ czytam wiele rzeczy, takich jak „dobrze, będziesz musiał to zrekompensować za pomocą macierzy rotacji”, ale nie znalazłeś żadnego konkretnego, działającego przykładu.

questionAnswers(4)

yourAnswerToTheQuestion