TeXgraph
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

Courbe de Bezier

2 participants

Aller en bas

Courbe de Bezier Empty Courbe de Bezier

Message  F.Couvreur Dim 7 Déc - 22:38

Bonsoir Patrick,
J'ai abordé le chapitre sur le nombre dérivé, et je vais être amené à tracer pas mal de graphiques avec TeXgraph ! Very Happy
Pour la première courbe, j'ai utilisé une méthode pas très élégante. En effet, je regarde des graphiques dans des livres, et je me livre à une séance de dessin. Imaginons que je veuille reproduire un "morceau" de courbe entre les points A et B : je détermine les points de contrôle en traçant à la main les tangentes à la courbe en A et B pour déterminer les points C et D, puis je trace au mieux les tangentes en utilisant Ligne().
Existe-t-il une méthode plus rigoureuse avec TeXgraph ?
Code:
[Fenetre(-3+5*i, 6-2*i, 1+1*i),
 Width:=2, Color:=lightgray, Grille(0+0*i,0.1+0.1*i),
 Width:=4, Color:=darkgray, Grille(0+0*i,1+1*i),
 xyticks:=0.1, xylabelpos:=none,
 Color:=black, Arrows:=1, Width:=6, Axes(0,1+1*i,0),
 LabelAxe(x,1,"$1$"), LabelAxe(y,i,"$1$",2),
 Label(5.9-0.2*i,"$x$",-0.1+4.8*i,"$y$",-0.1-0.2*i,"0"),
 DotStyle:=dot,Point(-1+2*i), Point(2+2.5*i),Point(4+3*i),
 Arrows:=0, Width:=8,
 Bezier(-2.3+4.2*i,-0.2-0.2*i,1+1*i,2+2.5*i,3+4*i,3.8+4.1*i,5+i),
 Width:=6,Ligne([-3+4*i,2-i],0),Ligne([1+i,3.6+5*i],0),
 Ligne([3+4*i,5.8+1.2*i],0)]   
Merci.

F.Couvreur

Nombre de messages : 137
Age : 61
Date d'inscription : 10/02/2008

Revenir en haut Aller en bas

Courbe de Bezier Empty Re: Courbe de Bezier

Message  P.Fradin Dim 7 Déc - 23:50

Bonsoir Fabrice,

Afin d'éviter trop de tatônnements, je pense qu'il vaut mieux tracer une belle courbe de bézier en un seul morceau (c'est à dire 4 points de contrôle seulement), sans se préoccuper des points où on trace la tangente.

Une fois la courbe de Bezier en place, on choisit trois abscisses x1,x2,x3 et pour chacune d'elles on détermine le point de la courbe ayant la même abscisse (avec une bête intersection entre la verticale et la courbe). Pour les tangentes, on détermine de la même façon trois autres points mais très voisins des premiers (j'ai un écart de 10^-6 sur les abscisses). Le code correspondant:

Code:

[Fenetre(-3+5*i, 6-2*i, 1+1*i),
 Width:=2, Color:=lightgray, Grille(0+0*i,0.1+0.1*i),
 Width:=4, Color:=darkgray, Grille(0+0*i,1+1*i),
 xyticks:=0.1, xylabelpos:=none,
 Color:=black, Arrows:=1, Width:=6, Axes(0,1+1*i,0),
 LabelAxe(x,1,"$1$"), LabelAxe(y,i,"$1$",2),
 Label(5.9-0.2*i,"$x$",-0.1+4.8*i,"$y$",-0.1-0.2*i,"0"),
 DotStyle:=dot, Arrows:=0, Width:=8,
 c1:=-2.5+4*i, c2:=1-6*i, c3:=2+10*i, c4:=5+i, {controles}
 Bezier(c1,c2,c3,c4), L:=Get(Bezier(c1,c2,c3,c4)),
 {on détermine 3 points d'après leur abscisse}
 x:=-1, A:= [x+i*Ymin,x+Ymax*i] InterL L,
 x:=2,  B:= [x+i*Ymin,x+Ymax*i] InterL L,
 x:=4,  C:= [x+i*Ymin,x+Ymax*i] InterL L,
 Point(A,B,C),
 {on détermine un point voisin}
 h:=0.000001,
 x:=-1+h, A':= [x+i*Ymin,x+Ymax*i] InterL L,
 x:=2+h,  B':= [x+i*Ymin,x+Ymax*i] InterL L,
 x:=4+h,  C':= [x+i*Ymin,x+Ymax*i] InterL L,
 Width:=6, Droite(A,A'), Droite(B,B'), Droite(C,C')
 ]

Ce qui doit donner: Courbe de Bezier Fabtan10
P.Fradin
P.Fradin
Admin

Nombre de messages : 1133
Age : 62
Date d'inscription : 19/01/2008

http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Courbe de Bezier Empty Re: Courbe de Bezier

Message  F.Couvreur Lun 8 Déc - 10:11

Bonjour Patrick,
J'ai attendu d'être au bahut pour imprimer la figure, puis analyser le code que tu as proposé.
Comme d'habitude, c'est très clair (surtout que je commence à bien connaître le langage de TeXgraph Very Happy ).
Je me pose néanmoins une question : la courbe de Bezier va des points c1 à c4, avec des contrôles en c2 et c3 qui appartiennent, me semble-t-il, l'un à la tangente issue de c1(c2) et l'autre à la tangente issue de c4 (c3). Pourquoi ceux-là (choix des coordonnées) et pas d'autres ?
MERCI.

F.Couvreur

Nombre de messages : 137
Age : 61
Date d'inscription : 10/02/2008

Revenir en haut Aller en bas

Courbe de Bezier Empty Re: Courbe de Bezier

Message  P.Fradin Lun 8 Déc - 11:18

Bonjour Fabrice,

J'ai choisi c2 et c3 en faisant quelques essais pour avoir la forme voulue, je savais quand même vers où les chercher Laughing Donc j'ai un peu tatônné, mais pas pour les points où on cherche la tangente parce que là ce serait vite pénible!

Une autre solution aurait été de prendre une spline à la place de Bézier, l'avantage de la spline est qu'on donne les points appartenant à la spline, mais on maîtrise moins bien la forme.

PS: il est aussi possible de faire la courbe à la souris.
P.Fradin
P.Fradin
Admin

Nombre de messages : 1133
Age : 62
Date d'inscription : 19/01/2008

http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Courbe de Bezier Empty Re: Courbe de Bezier

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser