# Sensor Stabilisator



## AsterixdGallier (3. Apr 2014)

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 (3. Apr 2014)

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 (3. Apr 2014)

Tobse hat gesagt.:


> 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 (3. Apr 2014)

AsterixdGallier hat gesagt.:


> 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.


----------

