[Math] Définition d'une fonction ayant un comportement spécifique - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Math] Définition d'une fonction ayant un comportement spécifique (/showthread.php?tid=7657) |
RE: [Math] Définition d'une fonction ayant un comportement spécifique - niahoo - 26-05-2016 Ok cool merci. Et du coup, comment tu spécifies A dans 1-abs(x^0.6-0.5)/0.5 ?C'est juste le 0.6 ? RE: [Math] Définition d'une fonction ayant un comportement spécifique - Xenos - 26-05-2016 Nope, le 0.6 dépend de A La formule exacte liant le 0.6 et A, je ne l'ai pas, mais cela peut se trouver... [edit] f(x) = 1 - 2*|x^p-0.5| f(A) = 1 => 1 - 2*|A^p - 0.5| = 1 => A^p = 0.5 => exp(p*ln(A)) = 0.5 => p*ln(A) = ln(0.5) => p = ln(1/2)/ln(A) => p = - ln(2) / ln(A) (ou p = -log_baseA(2)) Code : f(x) = 1 - abs( x^(ln(w)/ln(A)) - w) / w ; w=0.5 pour ton cas et A au choix dans ]0;1[ RE: [Math] Définition d'une fonction ayant un comportement spécifique - niahoo - 26-05-2016 OK ! Je suis en train de regarder avec les formes (x² + a) / ( b * x) aussi, car on dispose d'une vague asymétrique. RE: [Math] Définition d'une fonction ayant un comportement spécifique - Xenos - 26-05-2016 /b*x, tu vas coincer en 0 Quant à (x²+a)/(x+b), elle a un point singulier (+/- infini) dans 0..1 donc je ne pense pas que ce sera jouable. RE: [Math] Définition d'une fonction ayant un comportement spécifique - niahoo - 26-05-2016 Hmmm alors on peut virer une contrainte, puisque de toute façon c'est pas très grave ; on peut dire qu'on s'en fout du cas f(0) = 0. Disons qu'on souhaite que f(0.00001) ~= 0 Pour être plus clair j'ai de toute façon un gros if si x = 0.
RE: [Math] Définition d'une fonction ayant un comportement spécifique - Xenos - 26-05-2016 Pas sûr que cela change grand chose car le 1/X tendra vers +/- infini en 0, donc "aux abord de 0" (0.00001), tu auras aussi de grands nombres (en tous cas, tu auras du mal à avoir la maitrise de f(1e-6) = 0). RE: [Math] Définition d'une fonction ayant un comportement spécifique - seishin - 26-05-2016 Niahoo, tu veux quoi exactement ? 2 segments de droite ? ou une courbe passant par les 3 points (X € {0, A, 1}) Dans le 1er cas, tu ne pourras qu'utiliser une définition par morceaux (pour ceux qui veulent réviser ou s'instruire fonction affine par morceaux) ce que tu fais avec des conditions... Dans le 2nd cas, une solution simple passant par l'interpolation polynomiale et en particulier par l'algorithme de Horner (ce qui permet de passer aux courbes de bézier plus facilement) Petit cours : un exemple se trouve à la page 32. Comme tu as 3 points, tu pourras obtenir une équation de degré 2 (Pour généraliser, si tu as N points, tu obtiens une équation de degré N-1.) Sinon tu peux chercher au niveau des courbes de bézier ou des splines/B-splines et autres cousines RE: [Math] Définition d'une fonction ayant un comportement spécifique - Xenos - 26-05-2016 C'est une affine par morceau asymétrique que Niahoo cherchait, ou une approximation. L'équation polynomiale correspondante, dans la 1ere réponse (plus ou moins) ne convient pas (deux annulations de la dérivée dans l'intervalle x=0..1 donc une forme de "vague"). Les solutions hyperboliques existent (ln/exp/cosh/sinh/tanh) mais je n'ai pas de solution "simple" en stock; si t'en as... Les bézier, cela peut être une piste, en effet. Pas sûr qu'on puisse en établir une équation f(x)=y facilement... RE: [Math] Définition d'une fonction ayant un comportement spécifique - niahoo - 27-05-2016 (26-05-2016, 10:38 PM)seishin a écrit : Niahoo, tu veux quoi exactement ? 2 segments de droite ? ou une courbe passant par les 3 points (X € {0, A, 1}) Bah l'un ou l'autre ! De préférence une courbe oui J'ai utilisé un service d'interpolation mais ce n'était pas assez précis. Je vais regarder ce cours RE: [Math] Définition d'une fonction ayant un comportement spécifique - niahoo - 27-05-2016 Wohputain que ça a l'air compliqué. Bon sinon j'ai vu qu'en soustrayant son carré à un nombre, on obtient 0 en 0 et 1. Et je bidouille grâce à la courbure de la fonction racine. Par exemple sqrt(x) - x
|