cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
19 févr. 2006 à 21:30
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 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.
Vb Lover
Messages postés221Date d'inscriptionvendredi 30 novembre 2001StatutMembreDernière intervention13 février 20105 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))
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 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.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020372 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...