Permet de modéliser une fonction mathématique dans une picturebox
Source / Exemple :
Dim derniere_fct As Integer
Dim pas As Double
Sub Form_Load()
' initialisation d'une echelle pour le graph
Picture1.ScaleHeight = 20
Picture1.ScaleWidth = 20
Picture1.ScaleLeft = -10
Picture1.ScaleTop = -10
' mise en place des axes
Line1.X1 = -10
Line1.X2 = 10
Line1.Y1 = 0
Line1.Y2 = 0
Line2.X1 = 0
Line2.X2 = 0
Line2.Y1 = -10
Line2.Y2 = 10
' initialisation du pas de calcul
pas = 0.001
End Sub
' gestion du tracage des fonctions
Sub Command1_Click(Index As Integer)
For i = -(Picture1.ScaleWidth / 2) To (Picture1.ScaleWidth / 2) Step pas
X = i
'selecttion de la valeur en Y selon la fonction choisie
Select Case Index
Case 0
Y = -Cos(i)
Case 1
Y = -Sin(i)
Case 2
Y = -Tan(i)
Case 3
Y = -i * i
Case 4
Y = -Exp(i)
Case 5
If i > 0 Then
Y = -Log(i)
Else
Picture1.Cls
End If
End Select
'dessine le point
Picture1.PSet (X, Y), vbGreen
Next
' enregistre la fonction utilisée
derniere_fct = Index
' rend les zooms valides
For Each buton In Command3
buton.Enabled = True
Next buton
End Sub
' effacement du graph
Sub Command2_Click()
Picture1.Cls
' rend les boutons de zoom inactif
For Each buton In Command3
buton.Enabled = False
Next buton
End Sub
' tracage des fonctions
Sub Command3_Click(Index As Integer)
' efface le graph précedant
Picture1.Cls
' selection du zoom et remet l'echelle à jour
Select Case Index
Case 0
zoom_valeur = 0.5
Case 1
zoom_valeur = 2
End Select
'mise à jour de l'échelle
Picture1.ScaleHeight = Picture1.ScaleHeight * zoom_valeur
Picture1.ScaleWidth = Picture1.ScaleWidth * zoom_valeur
Picture1.ScaleLeft = Picture1.ScaleLeft * zoom_valeur
Picture1.ScaleTop = Picture1.ScaleTop * zoom_valeur
' adapte le pas de calcul en fcontion du zoom
pas = pas * zoom_valeur
'rappel de la dernière fonction pour la retracer
Call Command1_Click(derniere_fct)
End Sub
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.