Sensor Stabilisator

AsterixdGallier

Aktives Mitglied
Hallo,

gibt es eine Möglichkeit zu vermeiden, dass der Sensor vom Android Handy ruckartige Bewegungen, wie sie z.B. beim Bahnfahren auftreten, ignoriert?
Richtiges schütteln ist es ja eigentlich nicht ???:L

Ich möchte quasi, dass der Sensor nur dann anschlägt, wenn es vom User auch wirklich gewollt ist.
 

Tobse

Top Contributor
Also zunächst: Du kannst nicht in die Gehirne deiner User schauen. Und generell ist man sich bewusst, dass Sensor-Basierte Anwendungen beim Bahn/Bus/Auto fahren nicht vorbildlich funktionieren.

Bezüglich des Beschleunigungs-Sensors kannst du das mathematische Prinzip der Ableitung anweden. Wenn diese einen Gewissen wert überschreitet kannst du die Bewegung als "nicht intentionell" betrachtet und demnach ignorieren.

ABER: Wenn das ein Spiel werden soll und du ruckartige Bewegungen ignorierst kann es gut sein, dass dein Spiel mit einem gewissen "Spielstiel" nicht spielbar ist - und das wäre ein totales no-go.
 

AsterixdGallier

Aktives Mitglied
Also zunächst: Du kannst nicht in die Gehirne deiner User schauen. Und generell ist man sich bewusst, dass Sensor-Basierte Anwendungen beim Bahn/Bus/Auto fahren nicht vorbildlich funktionieren.

Bezüglich des Beschleunigungs-Sensors kannst du das mathematische Prinzip der Ableitung anweden. Wenn diese einen Gewissen wert überschreitet kannst du die Bewegung als "nicht intentionell" betrachtet und demnach ignorieren.

ABER: Wenn das ein Spiel werden soll und du ruckartige Bewegungen ignorierst kann es gut sein, dass dein Spiel mit einem gewissen "Spielstiel" nicht spielbar ist - und das wäre ein totales no-go.

Also speicher ich quasi n Werte und berechne aus diesen eine Funktion, zb durch interpolieren und leite diese ab? Eine Funktion mit hin und Her springenden Messwerten lässt sich ja aber schwer aufstellen, sodass sie halbwegs genau die Werte wieder gibt oder?
Aber generell würdest du bei einem Spiel von sowas abraten?
Würde trotzdem gerne einmal fürs Verständnis wissen ob mein Text oben ungefähr richtig ist :)
 

Tobse

Top Contributor
Also speicher ich quasi n Werte und berechne aus diesen eine Funktion, zb durch interpolieren und leite diese ab? Eine Funktion mit hin und Her springenden Messwerten lässt sich ja aber schwer aufstellen, sodass sie halbwegs genau die Werte wieder gibt oder?
Aber generell würdest du bei einem Spiel von sowas abraten?
Würde trotzdem gerne einmal fürs Verständnis wissen ob mein Text oben ungefähr richtig ist :)

Nein, das wäre zu kompliziert. Da du ja keinen Funktionsterm sondern nur Datenpunkte hast kannst du nur Steigungsdreiecke bilden. In denen gilt: [c]m = Yunterschied / Xunterschied[c].
Nun kommt es auch darauf an, wie viele Werte du bekommst. Das ganze macht eigentlich nur mit SENSOR_DELAY_GAME oder SENSOR_DELAY_FASTEST Sinn.
Je nachdem würde ich dann immer die Steigung von 3 bis 6 Wertepaaren mitteln und mir dann einfach mal im LogCat oder so anschauen was da für Werte bei rauskommen.
 

Ähnliche Java Themen

Neue Themen


Oben