Conversion radian degré sinus cossinus

Soyez le premier à donner votre avis sur cette source.

Snippet vu 27 205 fois - Téléchargée 38 fois

Contenu du snippet

ces petites fonctions sont la pour faciliter la vie de ceux qui desir tracer des droite oblique sans trop savoir comment faire
voici une source pour le calcul du sinus et cosinus
j'espere ne pas mettre tromper dans le sens trigonometrique, mais ca marche pour un angle affiché de 0 a 360°
possibilité de changer d'unité afin d'utiliser ce code pour les eguille d'une horloge, il suffit de remplacer la valeur 360 par 60 qui correspond a un tour en minute ou seconde,
ou unite = 24 pour les heures

Source / Exemple :


Private Sub Command1_Click()
    Form1.Refresh               'faisons page neuve!
    b = Form1.Height / 2        ' centre de la largeur de la fenetre
    a = Form1.Width / 2         ' centre de la hauteur de la fenetre
    rayon = 2000                'etant le rayon du cercle trigonomitrique
    Hipotenus = rayon
    Circle (a, b), (rayon), QBColor(1) 'tracons un cercle au centre de la fenetre
    CoteOpposé = sinus * (Hipotenus)
    c = a + CoteOpposé
    CotéAdjacent = Cosinus * (Hipotenus)
    d = b - CotéAdjacent
    Line (a, b)-(c, d), QBColor(4) 'ligne rouge
End Sub
Public Function sinus() As Variant
    Unité = 360 'si la valeur est en degré = 360, si minutes = 60, si heure,24 ou 12 au choix
    sinus = (Sin(angle / (Unité / (PI * 2)))) 'calculons le sinus de l'angle desiré
End Function
Public Function Cosinus() As Variant
    Unité = 360 'si la valeur est en degré = 360, si minutes = 60, si heure,24 ou 12 au choix
    Cosinus = (Cos(angle / (Unité / (PI * 2)))) 'calculons le sinus de
End Function

Public Function PI() As Variant
    PI = 4 * Atn(1) 'On calcule (ATN = arctangente)
End Function
Public Function angle() As Long
    angle = Form1.Text1.Text
    If angle = 0 Then angle = 360
End Function

Conclusion :


comme pour l'horloge que j'ai fait, je ne joint pas de zip, le copier coller reste encore le plus simple surtout pour des petits code comme celui ci
et pour la capture d'ecran, un trai en diagonale n'a rien d'attreillant

A voir également

Ajouter un commentaire

Commentaires

cs_Nanette
Messages postés
7
Date d'inscription
jeudi 6 février 2003
Statut
Membre
Dernière intervention
29 septembre 2007
-
Si il y a plusieurs possibilités concernant les unités des fonctions sinus
et cosinus, voir ci-dessous les modifications :

Public Function sinus(unité, angle) As Variant
' Unité 360 'si la valeur est en degré 360, si minutes = 60, si heure,24 ou 12 au choix
sinus = (Sin(angle / (Unité / (PI * 2)))) 'calculons le sinus de l'angle desiré
End Function
Public Function Cosinus(unité, angle) As Variant
' Unité 360 'si la valeur est en degré 360, si minutes = 60, si heure,24 ou 12 au choix
Cosinus = (Cos(angle / (Unité / (PI * 2)))) 'calculons le sinus de
End Function

dans command_click
ex : CotéAdjacent = Cosinus(val(text2.txt), angle) * (Hipotenus)
CoteOpposé = sinus(val(text2.txt), angle) * (Hipotenus)

N'est-ce pas mieux, pour modifier les unités via un textbox dans la form ? Sinon, je n'ai pas encore exécuté ton code. Alors à bientôt pour donner une note à ta prog.

Nanette
cs_Nanette
Messages postés
7
Date d'inscription
jeudi 6 février 2003
Statut
Membre
Dernière intervention
29 septembre 2007
-
Pardon, je n'avais pas lu tout le code (la fonction angle). Donc dans mon commentaire ex : Function sinus(unité, angle) faut lire Function sinus(unité).
Je te prie de m'excuser.

Nanette

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.