Animation de logo en 3d, sous builder c++ 3.0, en utilisant les équations parametriques

5/5 (7 avis)

Snippet vu 3 481 fois - Téléchargée 44 fois

Contenu du snippet

Ce code sert à animer en 3D une forme géometrique, ça commence par un cercle est se termine par un cercle via une succession de formes géomtrique en 3D, ça apparaît comme si la forme tourne dans l'espace.

Source / Exemple :


Me.AutoRedraw = True
Me.Show
DoEvents

Const pi = 3.141
Const z = 0.7
mm = 8

Dim i, j, k, l, m
Dim x, y, s, t As Double

For l = 1 To 6
    For s = 0 To 1 Step 0.01

        For t = 0 To 2 * pi Step 0.002
    
            x = (1 - s) * Cos(t + pi * s) + s * Cos(2 * t)
            y = (1 - s) * Sin(t + pi * s) - s * Sin(2 * t)
            x = 100 * x + 200
            i = x
            y = 100 * y + 200
            j = y
            k = 255
                Me.ForeColor = RGB(k, 0, 0)
                Me.PSet (j * mm, i * mm)
        Next t

        DoEvents
        Me.Refresh
        Me.Cls
    Next s
    
Next l

Conclusion :


Suite aux conseils des internautes, la rapidité de l'animation a été améloirée...

A voir également

Ajouter un commentaire Commentaires
benjionline Messages postés 14 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 11 mai 2008
9 juin 2007 à 17:03
lol mais on met ou ce code? dans un commandbox?
Utilisateur anonyme
18 mai 2002 à 19:09
pour améliorer la rapidité, il faudrai deja penser a declarer correctemet les varibles, c'est a dire
dim j as integer, j as double, k as double, m as double, x as double y as double, s as double ,t as double, l as integer
et puis on peut accelerer le tout en stokant les operations executées plusieurs fois dans une variable par exemple a=1-s ; b=t+pi*s ; c=2*t
voial, ce sont de petits conseils pour optimiser le code.
ATH|500| Messages postés 155 Date d'inscription mardi 7 août 2001 Statut Membre Dernière intervention 30 janvier 2008
18 mai 2002 à 18:04
Mais je dois dire que c'est pas mal même très bien si on le retravaille ça fait de beau effet 3d Super cool !
charlesvb Messages postés 19 Date d'inscription samedi 26 janvier 2002 Statut Membre Dernière intervention 17 juin 2002
18 mai 2002 à 14:15
La rapidité par contre n'est pas fameuse!
cs_jp50 Messages postés 45 Date d'inscription samedi 14 avril 2001 Statut Membre Dernière intervention 3 janvier 2008
18 mai 2002 à 03:05
Si vous voulez avoir le code pour VB ca donne ca


Me.AutoRedraw = True
Me.Show
DoEvents

Const pi = 3.141
Const z = 0.7
mm = 8

Dim i, j, k, l, m
Dim x, y, s, t As Double

For l = 1 To 6
For s = 0 To 1 Step 0.01

For t = 0 To 2 * pi Step 0.002

x = (1 - s) * Cos(t + pi * s) + s * Cos(2 * t)
y = (1 - s) * Sin(t + pi * s) - s * Sin(2 * t)
x = 100 * x + 200
i = x
y = 100 * y + 200
j = y
k = 255
Me.ForeColor = RGB(k, 0, 0)
Me.PSet (j * mm, i * mm)
Next t

DoEvents
Me.Refresh
Me.Cls
Next s

Next l
Afficher les 7 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.