Bonjour à tous, voilà : l'utilisateur entre les trois longueurs en cm d'un triangle.
Je voudrais tracer ce triangle (en mode graph).
Comme je débute, j'ai un peu de mal : tracer une ligne ok, mais un triangle...
Bonjour à tous, voilà : l'utilisateur entre les trois longueurs en cm d'un triangle.
Je voudrais tracer ce triangle (en mode graph).
Comme je débute, j'ai un peu de mal : tracer une ligne ok, mais un triangle...
Bonjour !
A partir du moment où les coordonnées des sommets ont été calculées, il suffit de... dessiner trois lignes, comme dans l'exemple trouvé sur ce fil de discussion : http://www.developpez.net/forums/sho...light=triangle
A moins que le problème réside dans le calcul des coordonnées ?
oui , je n'arrive pas a calculer les cordonnées du sommet.
y doit surment avoir une formules ...
apres relier les points ca je devrai y arrivai.
Bonjour,
Montre nous ce que tu as fait, on ne fera pas le travail à ta place.
D'autre part, donner les longueurs des 3 côtés d'un triangle pour le tracer risque de te poser un gros problème : il faut que les 3 valeurs entrées définissent effectivement un triangle, ce qui, en dehors des triangles équilatéraux, et de ceux dont les côtés sont des valeurs entières (comme le célèbre triplet 3,4,5), ou des triangles rectangle qui vérifient a^2 + b^2 = c^, qui sont aisément calculables, il faut les avoir calculés pour les connaître, et de plus, dans tous les cas, l'algorithme de vérification de la validité des valeurs risque d'échouer (sauf uniquement entiers), pour cause de précision de la représentation des valeurs dans un ordinateur.
Bonjour,
soit
On place par exemple le coté AB en horizontal avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part c=|AB|, a=|BC| et b=|AC|
pour détermner les coord de C, on sait que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Xa=0, Ya=0, Xb=c, Yb=0
ce qui donne (en mettant X=Xc et Y=Yc pour mieux identifier les inconnues) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part dist(C,A)=b et dist(C,B)=a
Je laisse la fin à vos bon soins
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sqr(X)+sqr(Y)=sqr(b) sqr(X-c)+sqr(Y)=sqr(a)
ca ne sert a rien que je montre mon prog puisque a part entrer les valeurs, determiné le plus grand(pr l'hypotenuse), je n'est rien d'autre.
ma logique est la suivante (HHuummHHumm) :
- c1,c2,hyp : sont entré par l'utilisateur.
- je met le plus grands des nombre ds l'hypotenuse .
- ensuite, pour tracer mon triangle, il me suffit de :
- tracer l'hypotenuse
- tracer un arc de cercle de rayon (c1) a partir du point
de depart de l'hypo
- tracer un autre arc de cercle de rayon (c2) a partir de la
fin de l'hypo
--> a ce stade j'ai un point d'intersection
mais comment avoir les cordonnées d'une intersection de deux arc ??
Moi c'est la que je but.
Voila, pour ce qui est du calcul d'erreur,je peut mettre une egalité au centième pres par exemple.
Merci pour tt ceux qui prennent le tps pour aider les autres.
C'est sur je ne veux pas d'une reponse toute faite, c'est avant tout pour apprendre que je me suis posé ce problème.
Je debute, merci de votre comprehension.
Bonjour,
bon je continue depuis :
Nota :SQR(r)=r * r
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sqr(X)+sqr(Y)=sqr(b) sqr(X-c)+sqr(Y)=sqr(a)Je laisse la fin à vos bon soins
d'où sauf erreur :
Je laisse la fin (détermination de Y) à vos bon soins
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sqr(X)-sqr(X-c)=sqr(b)-sqr(a) ==> 2*X*c = sqr(b)-sqr(a)-sqr(c) ==> X=(sqr(b)-sqr(a)-sqr(c))/2*c
à mon avis pour dessiner un triangle il faut faire simple tu demande à l'utilisateur d'entrer les trois cordonnée des trois points(a,b,c) et puis aprés tu relies tes trois points sinon si tu demande juste à l'utilisateur d'entrer juste la taille en cm de chaque coté t'aura du mal à dessiner ton triangle et n'oublie pas que tu travail en pixel pas en centimetre et la conversion entre les deux est assez complexe (résolution de l'écran,pitch).
voici un petit code que j'ai travaillé il illustre ce que j'ai dit(il marche sous freepascal tu pe facilement l'adapter pour tp7)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Program triangle; uses crt,graph; var driver,mode:integer; ax,ay,bx,by,cx,cy:byte; begin write('veuillez entrer les trois cordon‚es'); read(ax); readln(ay); readln(bx); readln(by); readln(cx);readln(cy); driver:=vga;mode:=vgahi; initgraph(driver,mode,'triangle'); outtextxy(20,20,'Dessin du triagnle'); line(ax,ay,bx,by); setcolor(red); line(ax,ay,cx,cy); setcolor(green); line(bx,by,cx,cy); readln;readln; closegraph(); end.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager