Courbe passant par des points donnés [Résolu]

Signaler
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
 abtazer -
Bonjour
J'aimerais faire quelque chose de ce type:

Pour le moment je fais avec des segments de droite, mais peut être qu'on peut faire plus subtile.
Merci

25 réponses

Messages postés
780
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 avril 2009
1
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
Essaye en dessinant des points, un peu a la maniere des calculatrice graphique.

Shell
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Je ne suis pas un expert ça me fait penser aux courbes de Langranges, courbes de Béziers,....

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Shell> Je n'ai que les points en rouge (environ une dizaine) et pas d'équation, donc je peux pas.
J'ai regardé les courbes de langrange mais quand il y beaucoup de points ca fait n'importe quoi
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
La question est-elle "comment tracer la courbe passant par les points"? Ou bien "comment faire des pointillés"?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Non non les pointillés on s'en fout. Une courbe normale ira. Le problème avec lagrange c'est que ca passe par les points, mais en dehors ca part un peu n'importe ou
Tu peux regarder avec cette applet:
http://www.ulg.ac.be/ltas-cao/info_etud/exlagrange.html

De plus, je veux que la tangente soit horizontale au points ou la courbe doit passer, ca n'est pas le cas des courbes de lagrange. Quant à Bezier, j'ai pas encore regardé...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Bon ben Bezier c'est encore pire, il passe même pas par les points :(
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Et les B-Splines?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Je ne pense pas...
Dans cette applet, ca donne des trucs assez bizarres
http://www.lrde.epita.fr/~ender/jnb/
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Merci Urgo, je pense que ca va bien m'aider
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
Sans équation ca va etre tendu.
Mis a part des segments je ne vois pas comment se rapprocher le plus possible de cette courbe en image.

Shell
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
Au fait la représentation de cette courbe provient de quoi ?
Elle a forcément une explication mathématiques ?

Shell
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
T'imagine bien que la courbe en haut n'a pas d'équation (ou alors par morceaux)
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
Avec les courbes paramétrés ayant un facteur lié au temps, ca pourrais donner des truc bizarre comme ca.
Cette courbe a forcément une raison d'etre logique, a moins que se soit un fou qui l'ai dessinée!

Shell
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Euh.. c'est moi qui l'ai dessinée :)
En fait c'est l'editeur de gradient de Ultra Fractal
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
C'est bien ce que je dis, c'est un fou qui l'a dessinée ^_^
Allez savoir pourquoi ...

Shell
Messages postés
706
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
4
salut,
j'ai trouvé une solution a partir de lagrange.

si Li est le i eme polynome de la base de lagrange, c-a-d pour rappel avec par exemple 3 points x1, x2, x3
L1(x) = (x-x2)(x-x3)/((x1-x2)(x1-x3))
L2(x) = (x-x1)(x-x3)/((x2-x1)(x2-x3))
L3(x) = (x-x1)(x-x2)/((x3-x1)(x3-x2))

Pour (x1, .., xn) fixés
Tu prends la base Bi(x) = Li ²(x) * exp( -Li(x) ² + 1)


alors si f(x) = somme( yi * Bi(x) ; y entre 1 et n)
tu as : f(xi) yi, et f ' (xi) 0 pour tout i (c-a-d tangente horizontale)

a+
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
C'est de la saloperie Lagrange pour faire ca.



D'après ton image, ca serait plutot des courbes du genre catmul rom,
mais ca donnera tout de meme pas la meme allure. J'avais fais une
source la dessus: http://www.cppfrance.com/code.aspx?id=33230



Mais parmi Bezier, B spline, et catmul rom. Seulement catmul rom fait
de l'interpolation, ca donnerait une courbe un peu semblable a ton
image, mais plus lisse, surtout au niveau de point de control.
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
En effet ca a l'air plus pas mal catmulrom, connaissais pas.

Shell
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
luhtor>Pourtant dans les liens donnés pas Urgo (que j'ai pas encore regardé en profondeur), le résultat semble assez bon
Par contre, sur la capture de ton code, la courbe ne ressemble pas vraiment a celle que je voudrais pour ces points