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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 982 fois - Téléchargée 42 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
-
lol mais on met ou ce code? dans un commandbox?
AdCr
Messages postés
30
Date d'inscription
lundi 9 octobre 2000
Statut
Membre
Dernière intervention
16 février 2010
-
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
-
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
-
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
-
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

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.