JeuWeb - Crée ton jeu par navigateur
ce message ne s'adresse pas (que) à Xenos - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Gameplay, gamedesign (https://jeuweb.org/forumdisplay.php?fid=48)
+--- Sujet : ce message ne s'adresse pas (que) à Xenos (/showthread.php?tid=7957)



ce message ne s'adresse pas (que) à Xenos - Ter Rowan - 05-11-2018

Hello tous, j'ai vieilli, je ne sais plus faire des maths

Je cherche une formule qui me permette d'avoir une sorte de courbe en S mais non asymptotique

aka :
je décide des valeurs x1,y1,x2,y2 et c

en 0, la valeur est 0

en x1, la valeur est y1 positive
en x2, la valeur est y2 supérieure à y1

entre 0 et x2 on a notre joli "pseudo" S avec le point d'inflexion qui est en x1,y1

et puis après x2, j'arrive à une "pseudo" droite presque horizontale dont le coefficient directeur est c (positif)

et là paf je coince....

si une bonne âme peut m'aider !


RE: ce message ne s'adresse pas (que) à Xenos - Xenos - 05-11-2018




RE: ce message ne s'adresse pas (que) à Xenos - Ter Rowan - 06-11-2018

Merci Xenos

Je vais regarder tes trucs sur autre chose qu un téléphone dans l après midi
Mais tu as mis les bonnes hypothèses en tout cas

(Et j ai rêvé dérivée seconde cette nuit donc ça doit été ca)
Je posterais mon résultat si il est probant


RE: ce message ne s'adresse pas (que) à Xenos - Ter Rowan - 06-11-2018

Ah non mauvaise hypothèse
La fonction est toujours croissante (dérivée > 0)


RE: ce message ne s'adresse pas (que) à Xenos - Xenos - 06-11-2018

En effet, j'ia oublié:

Code :
f'(x) > 0

Mais cela ne change rien, les 3 propositions peuvent remplir cette condition sans soucis:
Code :
Bézier cubique => les 4 points de contrôle doivent juste être dans le bon ordre sur Y (y du 1er point < y du 2nd < y du 3e < y du 4e) [et sur X aussi, si tu veux garder une vraie fonction et pas une courbe 2D] => Perso, j'éviterai cette solution car justement, certaines combinaisons de points de contrôlent donneront 2 "y" pour un même "x", et passer de la cubique paramétrée en t à une fonction en x et y, c'est hyper-chiant!

f(x) = (1-x)^n*(1+n*x) => elle est croissante, avec le petit changement de coordonnées évoqué, soit f(x) = (1-(1/2-x))^n*(1+n*(1/2-x)) [à vue de nez] => C'est la plus simple analytiquement mais je ne sais pas si elle te convient

f(x) = ((1 - cos(x*pi))/2)^k => Est croissante (sur 0..1 donc suffit de faire là aussi un changement de coordonnées pour passer de x2,y2 à 1;1) => Elle est analytiquement plus complexe, mais k peut être un réel quelconque, ça donne de la liberté