Angles

Résolu
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 19 févr. 2006 à 21:30
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 20 févr. 2006 à 21:22
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

Vb Lover Messages postés 221 Date d'inscription vendredi 30 novembre 2001 Statut Membre Dernière intervention 13 février 2010 5
20 févr. 2006 à 09:16
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
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 févr. 2006 à 21:42
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.

_
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
19 févr. 2006 à 21:47
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
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
20 févr. 2006 à 09:59
Merci c'est exactement ce que je cherchais, Bravo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vb Lover Messages postés 221 Date d'inscription vendredi 30 novembre 2001 Statut Membre Dernière intervention 13 février 2010 5
20 févr. 2006 à 21:18
alors il ne faut pas oublier de cocher sur "réponse acceptée" :)

bonne suite de programmation
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
20 févr. 2006 à 21:22
Désolé je pensais l'avoir fait
0