C'est un code tout simple qui permet de gérérer des courbes multiples à l'aide du déplacement de la souris
Bon dis comme ca ca peut ne pas paraitre très clair, le mieux, c'est de regarder la capture, sinon le zip de fait que 2ko, c'est vraiment pas gros
Bien sur, les possibilités de cette source sont limitées mais il est ultra-parametrable.
Je l'ai créé uniquement pour faire des écrans de présentation pour mes prochains progs.
Source / Exemple :
'une feuille suffit :
Dim z As Integer, xx As Double, yy As Double
Dim ax As Double, ay As Double
Dim h As Double, w As Double
Dim hh As Double, ww As Double
Dim col As Long, col1 As Long, phase As Integer
Private Sub Form_Click()
Cls: col = 0: col1 = 0: phase = -1
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
Cls
Else
col = (col + 16) Mod 256 * 8
col1 = GetCol(col)
End If
ax = -x
ay = h / 2
z = 0
Do
z = z + 1
ww = w / (1 + x)
hh = Cos(z * y / (w * 10)) * Cos(z / (w / 10)) * z / (h / 10) ' vous pouvez changer ces fonctions pour obtenir d'autres courbes
xx = ax + ww
yy = ay + hh
Line (ax, ay)-(xx, yy), col1
ax = xx
ay = yy
Loop While z < 1000
End Sub
Private Sub Form_Resize()
w = Me.ScaleWidth
h = Me.ScaleHeight
End Sub
Private Function GetCol(ByVal couleur As Integer)
coul = couleur Mod 256
Select Case Int(couleur / 256)
Case 0
GetCol = RGB(0, 0, coul)
Case 1
GetCol = RGB(0, coul, 256)
Case 2
GetCol = RGB(0, 256, 256 - coul)
Case 3
GetCol = RGB(0, 256 - coul, 0)
Case 4
GetCol = RGB(coul, 0, 0)
Case 5
GetCol = RGB(256, coul, 0)
Case 6
GetCol = RGB(256 - coul, 256, 0)
Case 7
GetCol = RGB(0, 256 - coul, 0)
End Select
End Function
'(ce qui prend le plus de place est le code qui créé des couleurs par dégradé)
Conclusion :
Je pense qu'il est possible de faire un bon petit programme de dessin multi-courbes basé sur cette idée avec un interface pour paramettrer les equations de courbe, mais je vous laisse le faire si vous en avez envi, il me va très bien comme ca.
Évidemment n'hésitez pas à laisser des commentaires.
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.