Angles

Résolu
Signaler
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Bonjourà tous, je fais un programme de dessin ( semblable à paint mais plus facilement utilisable pour les mathématiques) et je voudrais tracer des angles.

Je place tout d'abord un segment de la maniere suivante

if X1 = 0 Then
X1 = Tampon.X - 66
Y1 = Tampon.Y - 48
Else: X2 = Tampon.X - 66
Y2 = Tampon.Y - 48
Picture1.Line (X1, Y1)-(X2, Y2)
End If

Tampon.X donne la position du curseur et les -66 et -48 ajustent les coordonnées.

Ensuite pour tracer mon angle je veux utiliser la fonctio line mais je ne trouve vraiment pas comment continuer avec des sinus et cosinus.

Merci d'avance

6 réponses

Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
4
si j'ai compris, c'est en fait les 2 segments que tu veux tracer, et pas vraiment ton angle... :)

déjà, par clarté, je mettrais les origines de mes coordonnées dans des variables (par exemple Ox et Oy)

ensuite, ce petit bout de code devrait marcher (il faut simplement que
tu vérifies le signe de ton angle, tout dépend de tes conventions). il
faut bien sûr faire toutes les déclarations nécessaires... attention,
les angles sont donnés en radians!



Private Const PI = 3.141593



R =
' la
longueur de ton 2e segment


Alpha = ' angle entre tes 2 segments

dX = X2-X1

dY = Y2-Y1

' angle de ton 1er segment avec l'axe x

If dX > 0 Then


Phi = Atn(dY / dX)


ElseIf dX < 0 Then


Phi = PI + Atn(dY / dX)


Else


Phi = Sgn(dY) * PI / 2


End If

' angle de ton 2e segment avec l'axe x toujours

Phi = Phi - Alpha

' les 2 segments se croisent en (X1,Y1)

Picture1.Line (X1, Y1)-Step(R * Cos(Phi), R * Sin(Phi))



Les maths, c'est tellement plus mieux!
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Tracer des angles avec la fonction line risque de te donner bien du mal niveau math ! Utilise plutôt les fonctions de l'API, par exemple : PolyBezier qui te permet de tracer des courbes de bézier.

_
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Je vais étudier sa mais vu mon niveau, il est possible que les maths me soient plus accessibles que les API mais ne baissons pas les bras, en se moment je me casse la tête avec des cosinus sa me changera de me casser la tête sur des api...

Merci
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Merci c'est exactement ce que je cherchais, Bravo
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
4
alors il ne faut pas oublier de cocher sur "réponse acceptée" :)

bonne suite de programmation
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Désolé je pensais l'avoir fait