Použití Android akcelerometr, aniž by se zařízení bytu

hlasů
2

Hrál jsem si s Android Akcelerometr pozdní pomocí Android SDK a prostředí Adobe AIR pro Android SDK na mém Motorola Droid. To, co jsem si všiml, je, že akcelerometr funguje v pohodě, ale já jsem se zeptat, jestli je možné kompenzovat nějakým způsobem tak, že nemám používat přístroj ve vodorovné poloze. Jinými slovy, chci použít akcelerometr ovládat své vizuální zobrazení, ale inicializovat (nebo upravovat nějakým způsobem), takže nemám držet dokonale plochý (ne hodně zábavy musel naklonit přes telefon).

Ví někdo, jak mohu držet přístroj pohodlně v ruce, řekněme 45 stupňů, a stále využívá akcelerometr poskytovat vpřed / vzad čtení? Je to možné? Nějaké příklady tohoto to k dispozici?

Položena 23/11/2010 v 01:01
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
1

Budete potřebovat nějaký jednoduchý matematický násobení matic za to. „Kalibrace“ otáčení tím, že aktuální matice při spuštění aplikace a invertovat, pak násobit všechny následující matice s ním -, které vám dá delta do výchozí polohy.

Odpovězeno 23/11/2010 v 01:10
zdroj uživatelem

hlasů
0

Napsal jsem žádost dlouho dávno která se zabývala relativní rotací. Zapomněla jsem, co kód udělal, ale z toho, co vidím, to vypadá, že -

1) I získat počáteční otáčení matricí - SensorManager.getRotationMatrix (R, I, gravity.clone (), geomagnetic.clone ()); (Gravitace a geomagnetická jsou příslušné accleration a geomagnetické matice. Nevím, proč jsem použít klony, ale tam musí být nějaký důvod.) 2) Nyní v jakékoliv fázi, získat aktuální matice rotace a volání R. 3) Vypočítejte inverzní počáteční matice a nazývat to „initialInverse“. 4) Multiply R s initialInverse (nebo naopak, budete muset přijít na to). 5) Získejte svůj konečný orientaci pomocí SensorManager.getOrientation (delta hodnoty)

Je mi líto, ale já jsem úplně zapomněl, co výše uvedený kód dělá. Myslím, že Vzpomínám si četl slova Euler Transform někde, když jsem tuto aplikaci napsal, tak to je to, co by to mohlo dělat. Bohužel nemohu vám poskytnout kompletní kód, protože budu asi uvolnění této aplikace na trhu. Nicméně, pokud budete potřebovat nějaké další informace, prosím, dejte mi vědět - Podívám se do kódu a vrátit se k vám.

Odpovězeno 01/12/2010 v 15:51
zdroj uživatelem

hlasů
0

Já jsem pracoval na projektu s obdobného charakteru, kde je tato funkce akcelerometr není omezena polohou. Můj způsob manipulací je velmi jednoduchá, inicializovat akcelerometr s aktuálním čtení jako výchozí. Jinými slovy, máte tlačítko, které stisknete, až budete mít telefon ve správné poloze, po stisku tlačítka se aktuální naměřené hodnoty z akcelerometru (opatření G), bude váš odkaz (nulové hodnoty), a provést změny, když jdete nad nebo pod těmito čtení ... Doufám, že to pomůže u Každý, kdo ... na zdraví

Odpovězeno 28/02/2011 v 21:07
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more