Bonsoir à tous,

J'aurais besoin d'aide sur un algo assez simple dans le concept, mais dans le code je cherche vraiment à faire quelque chose de simple et efficace.

J'ai une méthode appelée X fois par seconde (un peu comme si elle étais dans un simple while()) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
private float setValue(float val){
 
}
Il me faut que cette fonction me "lisse" la valeur en paramètre. C'est la que j'espère être assez clair.
Exemple :
1/10 s -> setValue(0.1) -> 0.1
2/10 s -> setValue(0.2) -> 0.2
3/10 s -> setValue(0.5) -> 0.3
4/10 s -> setValue(0.9) -> 0.7
5/10 s -> setValue(4) -> 1.2
8/10 s -> setValue(0.5) -> 0.9

comme valeur de sortie j'ai mis un peu n'importe quoi. Il faut grosso modo que si mes valeurs d'entrées diffèrent énormément les une des autres, que j'ai en sortie une sorte de courbe qui colle au max aux valeurs d'entrées tout en restant un minimum lisse.

Je pourrais garder l'avant dernier paramètre, et renvoyer une moyenne avec le nouveau paramètre mais c'est pas top et je pense que l'on peux peut être faire mieux, mais je ne dois pas être calé assez en math...