659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Angle d'une ligne ou deux points Jeu 13 Mai 2010 - 7:29 | |
| Ci joint un petit programme de calcul géométrique Avec des goto dans le sous-programme bien utile. - Code:
-
Dim xDeb, yDeb, xFin, yFin Dim Tangeante, Angle_Rad, pI, Angle_Ligne Label Sprg_Angle_ligne ' ceci est pour essais xDeb=200 yDeb=45 xFin=200 Yfin=160 gosub Sprg_Angle_Ligne print Angle_Ligne end
Sprg_Angle_Ligne:
' Pour calculer l'angle en degré d'une ligne ou deux points. ' Angle_Ligne (xDeb.f, yDeb.f, xFin.f, yFin.f)
' Dim xDeb, yDeb, xFin, yFin : ' Variables Globales a déclarer dans programme principal ' Dim Tangeante, Angle_Rad, pI ' Variables Locales ' Les labels a déclarer dans le programme principal
Label Lbl_Fin_Angle_Ligne, Lbl_Verti
pI = 3.1459265359
If (xFin - xDeb) = 0 Then Goto Lbl_Verti
Tangeante = (yFin - yDeb) / (xFin - xDeb)
Angle_Rad = Atn(Tangeante)
Angle_Ligne = Angle_Rad * 57.29577951308 : ' (180 / pI)
Goto Lbl_Fin_Angle_Ligne
Lbl_Verti: ' ligne verticale If (yFin - yDeb) > 0 Then Angle_Ligne = 90 ' Ligne horizontale If (yFin - yDeb) < 0 Then Angle_Ligne = -90
Lbl_Fin_Angle_Ligne:
Return
A+ | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Angle d'une ligne ou deux points Jeu 13 Mai 2010 - 14:36 | |
| Joli et utile, mais voilà un bel exemple où tu aurais pu te passer des goto et économiser 2 étiquettes ! (je n'ai pas changé l'orthographe de Tangeante...) - Code:
-
... pI = 3.1459265359
IF (xFin - xDeb) <> 0 Tangeante = (yFin - yDeb) / (xFin - xDeb) Angle_Rad = Atn(Tangeante) Angle_Ligne = Angle_Rad * 57.29577951308 : ' (180 / pI) ELSE ' ligne verticale If (yFin - yDeb) > 0 Then Angle_Ligne = 90 ' Ligne horizontale If (yFin - yDeb) < 0 Then Angle_Ligne = -90 END_IF | |
|
659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: re : Jeu 13 Mai 2010 - 15:52 | |
| Oui cela fait parti d' un logiciel de dessin que j'avais écrit en 1995. et dans les tests il n'y avait pas de else. Je vais essayer de passer les sous-programmes en Panoramic et les poster ici. On a toujours besoin de ce genre de sous-programme. Le truc c'est que cela puisse rester lisible et compréhensible par tout le monde. Pour tangeante cela est du franglais. Et a force de lire de l'anglais je me mélangeais les pinceaux. Mais merci et je suis content que cela te plaise.et puisse te rendre service | |
|
Contenu sponsorisé
| Sujet: Re: Angle d'une ligne ou deux points | |
| |
|