Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dessiner une courbe

7 réponses
Avatar
jean saint jalmes
Bonjour,

Sous VB6.0, je souhaite dessiner une courbe à partir d'un tableau à 2
dimensions (X,Y). X et Y sont les coordonnées de certains points de la
courbe. X et Y sont des nombres réels. Le but est de dessiner très
précisément une courbe qui joint chaque point. MSChart ne me permet pas
d'atteindre mon but.

Je cherche une méthode qui me permet de calculer les points intermédiaires
et de dessiner la courbe résultante.

Merci pour votre aide.

Jean

7 réponses

Avatar
jean-marc
"jean saint jalmes" wrote in
message news:
Bonjour,

Sous VB6.0, je souhaite dessiner une courbe à partir d'un tableau à 2
dimensions (X,Y). X et Y sont les coordonnées de certains points de la
courbe. X et Y sont des nombres réels. Le but est de dessiner très
précisément une courbe qui joint chaque point. MSChart ne me permet pas
d'atteindre mon but.

Je cherche une méthode qui me permet de calculer les points intermédiaires
et de dessiner la courbe résultante.



Hello,

pour dessiner une courbe qui joint des points, il te faut une picture box et
la méthode line.

Je comprends que tu veux calculer des points intermédiaires pour faire un
lissage de courbe.

Si c'est bien de cela qu'il s'agit, il te faut Googler avec "courbe de
béziers", "Spline lines" "Splie Curves", "b-Splines" et tu trouveras ton
bonheur!

Bonnes maths :-)


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Avatar
jean saint jalmes
Ok, merci Jean Marc.

Effectivement, l'API Polybezier permet de résoudre ce problème.

"jean saint jalmes" a écrit :

Bonjour,

Sous VB6.0, je souhaite dessiner une courbe à partir d'un tableau à 2
dimensions (X,Y). X et Y sont les coordonnées de certains points de la
courbe. X et Y sont des nombres réels. Le but est de dessiner très
précisément une courbe qui joint chaque point. MSChart ne me permet pas
d'atteindre mon but.

Je cherche une méthode qui me permet de calculer les points intermédiaires
et de dessiner la courbe résultante.

Merci pour votre aide.

Jean


Avatar
Patrice Henrio
"jean saint jalmes" a écrit dans
le message de news:
Bonjour,

Sous VB6.0, je souhaite dessiner une courbe à partir d'un tableau à 2
dimensions (X,Y). X et Y sont les coordonnées de certains points de la
courbe. X et Y sont des nombres réels. Le but est de dessiner très
précisément une courbe qui joint chaque point. MSChart ne me permet pas
d'atteindre mon but.

Je cherche une méthode qui me permet de calculer les points intermédiaires
et de dessiner la courbe résultante.

Merci pour votre aide.

Jean



Tel qu'indiqué cela n'est pas possible car soit l'on connaît la fonction
générant la courbe et dans ce cas il n'y a aucun problème, il suffit
d'augmenter le nombre de points tracés, soit, ce qui semble plutôt être le
cas, on ne connaît pas la fonction génératrice et donc une infinité de
fonctions répondent à la question. Les points intermédiaires pouvant être
aussi éloignés que l'on veut les uns des autres. Par contre parmi toutes les
fonctions on peut décider de ne conserver que celles qui répondent à certain
critère comme par exemple de ne pas trop s'éloigner des points déjà tracés :
des conditions de continuité et de dérivabilité ... on peut aussi souhaiter
que les fonctions retenues appartiennent toutes à un certain type de
fonction : polynomiales, polynomiales d'un degré maximum fixé,
trigonométriques, rationnelles ...
Dans le cas de la méthode de Bézier (ingénier chez Citroën si je me
souviens bien) on utilise la deuxième solution.
Avatar
jean saint jalmes
Bonjour et merci pour toutes ces réponses.
J'ai utilisé l'API polybézier et cela correspond bien à mes besoins. La
difficulté réside dans le choix des deux points de contrôle entre deux points
réels de la courbe. Pour cela, j'ai opté pour une interpolation simple et ça
marche plutot bien.

Cordialement, Jean Saint Jalmes

"Patrice Henrio" a écrit :


"jean saint jalmes" a écrit dans
le message de news:
> Bonjour,
>
> Sous VB6.0, je souhaite dessiner une courbe à partir d'un tableau à 2
> dimensions (X,Y). X et Y sont les coordonnées de certains points de la
> courbe. X et Y sont des nombres réels. Le but est de dessiner très
> précisément une courbe qui joint chaque point. MSChart ne me permet pas
> d'atteindre mon but.
>
> Je cherche une méthode qui me permet de calculer les points intermédiaires
> et de dessiner la courbe résultante.
>
> Merci pour votre aide.
>
> Jean

Tel qu'indiqué cela n'est pas possible car soit l'on connaît la fonction
générant la courbe et dans ce cas il n'y a aucun problème, il suffit
d'augmenter le nombre de points tracés, soit, ce qui semble plutôt être le
cas, on ne connaît pas la fonction génératrice et donc une infinité de
fonctions répondent à la question. Les points intermédiaires pouvant être
aussi éloignés que l'on veut les uns des autres. Par contre parmi toutes les
fonctions on peut décider de ne conserver que celles qui répondent à certain
critère comme par exemple de ne pas trop s'éloigner des points déjà tracés :
des conditions de continuité et de dérivabilité ... on peut aussi souhaiter
que les fonctions retenues appartiennent toutes à un certain type de
fonction : polynomiales, polynomiales d'un degré maximum fixé,
trigonométriques, rationnelles ...
Dans le cas de la méthode de Bézier (ingénier chez Citroën si je me
souviens bien) on utilise la deuxième solution.





Avatar
Patrice Henrio
merci du retour et en effet le problème c'est bien les deux points
intermédiaires.


"jean saint jalmes" a écrit dans
le message de news:
Bonjour et merci pour toutes ces réponses.
J'ai utilisé l'API polybézier et cela correspond bien à mes besoins. La
difficulté réside dans le choix des deux points de contrôle entre deux
points
réels de la courbe. Pour cela, j'ai opté pour une interpolation simple et
ça
marche plutot bien.

Cordialement, Jean Saint Jalmes

"Patrice Henrio" a écrit :


"jean saint jalmes" a écrit
dans
le message de news:
> Bonjour,
>
> Sous VB6.0, je souhaite dessiner une courbe à partir d'un tableau à 2
> dimensions (X,Y). X et Y sont les coordonnées de certains points de la
> courbe. X et Y sont des nombres réels. Le but est de dessiner très
> précisément une courbe qui joint chaque point. MSChart ne me permet pas
> d'atteindre mon but.
>
> Je cherche une méthode qui me permet de calculer les points
> intermédiaires
> et de dessiner la courbe résultante.
>
> Merci pour votre aide.
>
> Jean

Tel qu'indiqué cela n'est pas possible car soit l'on connaît la fonction
générant la courbe et dans ce cas il n'y a aucun problème, il suffit
d'augmenter le nombre de points tracés, soit, ce qui semble plutôt être
le
cas, on ne connaît pas la fonction génératrice et donc une infinité de
fonctions répondent à la question. Les points intermédiaires pouvant être
aussi éloignés que l'on veut les uns des autres. Par contre parmi toutes
les
fonctions on peut décider de ne conserver que celles qui répondent à
certain
critère comme par exemple de ne pas trop s'éloigner des points déjà
tracés :
des conditions de continuité et de dérivabilité ... on peut aussi
souhaiter
que les fonctions retenues appartiennent toutes à un certain type de
fonction : polynomiales, polynomiales d'un degré maximum fixé,
trigonométriques, rationnelles ...
Dans le cas de la méthode de Bézier (ingénier chez Citroën si je me
souviens bien) on utilise la deuxième solution.







Avatar
Modeste
Bonsour® Patrice Henrio avec ferveur ;o))) vous nous disiez :

Dans le cas de la méthode de Bézier (ingénier chez Citroën si je me
souviens bien) on utilise la deuxième solution.



Dès 1958, un mathématicien, employé par Citroën, Paul de Casteljau, s'était
attaqué au même problème
;o)))
Unisurf, Catia, Postscript...
http://rocbo.lautre.net/bezier/pb-indus.htm


@+
;o)))
Avatar
Jacques93
Bonjour Patrice Henrio et Modeste,
Patrice Henrio a écrit :
donc je fais erreur, il doit s'agir de Casteljau qui était chez Citroën
et Bézier est une autre personne.



Non, non, mais chez Renault ;-) :

<http://fr.wikipedia.org/wiki/Pierre_B%C3%A9zier>

<Wikipedia>

Les courbes de Bézier sont des courbes polynomiales paramétriques
décrites pour la première fois en 1962 par l'ingénieur français Pierre
Bézier qui les utilisa pour concevoir des pièces d'automobiles à l'aide
d'ordinateurs. Elles ont de nombreuses applications dans la synthèse
d'images et le rendu de fontes. Elles ont donné naissance à de nombreux
autres objets mathématiques.

</wikipedia>.





--
Cordialement,

Jacques.