Designer primitif de courbes

Description

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.

Codes Sources

A voir également

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.