Designer primitif de courbes

Soyez le premier à donner votre avis sur cette source.

Vue 3 738 fois - Téléchargée 379 fois

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

Ajouter un commentaire Commentaires
Messages postés
92
Date d'inscription
dimanche 14 juillet 2002
Statut
Membre
Dernière intervention
2 octobre 2006

Salut! très interressant!
j'ai pencé a copler a la suite plusieurs lignes et le choix des couleurs colisoné dans la game de rouge, orange, jaune afin d'obtenir une flame! pour cela, il suffit de copier coler plusieur fois l'ensemble "do Loop While" et de mettre ala place de "ax -x" ax 0! le resultat est tres jolie aussi, mais la pc travaille enormemant! je pensée faire un affichage avec une flame (exemple: pour un ecran de veille) mais le ventilo du pc accelaire et donc ce ne serai plus un ecran de veille mais une alerte de veille avec le bruit du ventilo! et risque de plantage ou de sacade! :-) je me suis donc bien amusé avec ton code qui est géniale!je le garde sous le coude, je ne renonce pas au progé de faire le feu a l'écran mais que a l'ecran! car la methode que j'ai utilisé en multipliant x fois ce code aurai bien représenté le feu mais plus dans le pc qu'a l'ecran!

si quelqu'un a une idée pour representer une flame, je serai preneur!

merci a tous!
Messages postés
86
Date d'inscription
vendredi 14 mars 2003
Statut
Membre
Dernière intervention
26 mars 2007

wa c'est tre joli !

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.