Salut à tous,
Je cherche un algo pour obtenir les valeurs dans un intervalle donné, un nombre d'échantillons donné et une progression donnée.
Exemple :
min est en entier correspondant à la première valeur (incluse)Code:mafonction(min, max, samples, ease);
max est en entier correspondant à la dernière valeur (incluse)
samples est le nombre de valeurs à retourner
ease est l'accélération entre -100 et 100 des valeurs d'un côté ou de l'autre de l'intervalle
Quelques exemples de retour :
Donc 4 valeurs entre 5 et 20 avec une progression linéaire.Code:mafonction(5, 20, 4, 0); // [5, 10, 15, 20]
Donc 4 valeurs entre 5 et 20 mais avec une progression lente des valeurs vers la droite (les résultats sont fantasques)Code:mafonction(5, 20, 4, 1.3); // [5, 7, 12, 20]
4 valeurs avec une progression rapideCode:mafonction(5, 20, 4, 100); // [5, 16, 18, 20]
4 valeurs avec une progression très lenteCode:mafonction(5, 20, 4, -100); // [5, 7, 9, 20]
En gros le résultat doit renvoyer un entier.
Je suis pas du tout matheux... si quelqu'un pouvait me donner un petit coup de main...
J'ai essayé via une courbe sinus mais je coince car mon intervalle ne commence ni ne termine aux bonnes valeurs...
Merci pour votre aide.Code:function foo(min, max, samples, ease) { const ret = []; for (var i = min/max; i < 1; i += 1/samples) { ret.push(Math.round((1 - Math.sin((1 - i) * Math.PI / ease)) * max)); } return ret; }
Jérôme
-----