module inscription newsletter haut de page forum mobile

Rejeter la notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos
Rejeter la notice

Nouvelle Formation Prise de son : les inscriptions sont ouvertes !
Maîtrisez la qualité de vos prises de son avec notre formation théorique et pratique de 3 jours ! Du 14 au 16 mai 2024 à Paris.

Le Repaire Des Expressions

Discussion dans 'Adobe After Effects' créé par nab17connection, 15 Septembre 2005.

Tags:
  1. Sequelles

    Sequelles Modérateur
    Modérateur So

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    zero e^posant zero = bogdanov

    A propos de la puissance zéro.

    Quelle est la bonne méthode pour créer une valeur aléatoire -1 ou 1 ?

    j'avais prposé dans le Jeu sur les expressions

    Code:
    Math.pow(-1,Math.round(random()))
     
  2. Julien W.

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    1 499
    Appréciations:
    +0 / 0 / -0
    Une simple condition est peut-être plus rapide qu'une élévation à la puissance. La condition peut être faite sur un modulo 2. En fait, le problème revient à générer un booléen aléatoire.
    Mais, pour dire la vérité, je ne pense pas que ce genre d'optimisations soit vraiment important dans le cadre des expressions :)

    PS: Si tu veux vraiment optimiser cette fonction, crée un simple script (hors After Effects) qui génère une bonne centaine de milliers de 1 ou -1, et calcule le temps qu'il prend pour le faire. Le problème, c'est que la vitesse d'exécution d'un tel script dépendra énormément de l'utilisation de ton système, et est tellement sensible au moindre changement que tu risques de ne pas pouvoir faire de vrais comparaisons.
     
  3. Sequelles

    Sequelles Modérateur
    Modérateur So

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    tirage aléatoire entre -1 et 1

    Je ne comprend pas comment tu t'y pends.
    C'est juste qu'il arrive que l'on ai besoin dans certains cas de faire un tirage aléatoire entre 1 et -1. Et je ne connais pas de methode pour le faire simplement, genre une fonction random spéciale qui serait dédié à cette usage.

    Plutôt qu'une élévation à la puissance j'ai trouvé mieux:
    Code:
    (random()>0.5)?1:-1
     
  4. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    je connaissais pas cette condition avec le point d interrogation, et les deux points

    ca marche bien, c est du Sequelles power :D

    mais j aime bien aussi l'ecriture du haut ( -1 puissance n, avec n=0 ou 1 )
     
  5. Bob Sagett

    Bob Sagett Guest

    Appréciations:
    +0 / 0 / -0
    hihi merci
    je suis enfin rentré de vacance et je vais pouvoir y jeter un oeil ;)
     
  6. Julien W.

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    1 499
    Appréciations:
    +0 / 0 / -0
    Désolé, je n'ai pas pensé au fait que random générait un nombre entre 0 et 1! Je pensais à quelque chose comme:
    Code:
    i //un entier
    j //le résultat
    si i % 2 == 0:
     j = -1
    sinon 
     j = 1
    Mais ta solution est nettement plus simple. La seule amélioration que je vois, ce serait de travailler uniquement avec des entiers.
    On l'appelle l'opérateur ternaire. Les deux conditions suivantes sont semblables:
    Code:
    i = (condition) ? a : b
    
    if (condition) {
     i = a
    } else {
     i = b
    }
    
    Généralement on évite de l'utiliser car elle n'est pas très claire. Mais, dans un cas comme celui-ci, elle me semble assez adaptée. Ce que j'aime bien, c'est que l'on voit bien que la condition détermine la valeur que l'on donne à i.
     
    #36 Julien W., 29 Septembre 2005
    Dernière édition: 30 Septembre 2005
  7. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    génial :)

    et ca marche avec tous les langages je suppose ?
     
  8. Julien W.

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    1 499
    Appréciations:
    +0 / 0 / -0
    Ouais, pratiquement.
     
  9. t0ma

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    18
    Appréciations:
    +0 / 0 / -0
    la syntaxe est dispo en C++, php et la quasi totalité des langages orientés objets. Par contre, mis à part te faire économiser 2 lignes de texte, ca revient exactement à la meme chose que de faire un if/else au niveau de la compilation.
     
  10. Julien W.

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    1 499
    Appréciations:
    +0 / 0 / -0
    Avec tout les langages dérivés du C (ou avec une syntaxe approchante), pour être précis. C'est-à-dire avec la majorité des langages utilisés par plus de dix personnes.
    Ce n'est pas le cas avec les langages interprétés; l'opération ternaire est plus lente que son alternative en PHP, par exemple. C'est peut-être également le cas en Javascript. De plus, tu peux aussi écrire le tout sur une seule ligne, si le nombre de lignes t'importe :)
    Code:
    if (condition) { i = a; } else { i = b; }
    Je rappelle aussi qu'il y a la possibilité, dans un cas comme ça, de virer les accolades:
    Code:
    if (condition)
     i = a;
    else
     i = b;
    
    Ou, soyons fous:
    Code:
    if (condition) i = a; else i = b;
    ;)
    Cela dit, revenons à nos moutons :)
     
  11. Sequelles

    Sequelles Modérateur
    Modérateur So

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    expression

    Tabernacle! Voilà du "timeline" dans ton tutoriel; Partie3_1.
    On pourrait dire montage..
    Là je t'embête un peu pour rien. :D

    Je continue ma lecture, et je repasse si j'ai quelque chose de plus constructif.

    ...

    Tu devrais mettre le projet à télécharger de ton anime sur les méthodes d'interpolations. J'ai du mal à voir ce que ça fait sur les carrés jaune vert rouge et bleu.

    .

    4_1

    pour obtenir ça directement en utilisant le sélecteur (l'escargot :) ) on maintient Alt enfoncé
     
    #41 Sequelles, 30 Septembre 2005
    Dernière édition: 30 Septembre 2005
  12. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    salut :)

    qu est ce tu vois pas bien sur l'anim d'interpolation ?
    la difference de deplacement entre les carres ?

    ps: c'est " tabarnac !" :D
     
  13. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    voila la fenetre de montage de cette anim (compo 320*240, coté d un carré 50px)

    [​IMG]
     
  14. Sequelles

    Sequelles Modérateur
    Modérateur So

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    expression interpolation

    Ce qui n'était pas très clair c'est l'application de l'interpolation pour faire l'aller et retour. Maintenant je visualise mieux. Mais un seul trajet aurait été plus clair pour bien voir le point de départ et le point d'arriver.
     
  15. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    fallait faire le site :D

    non en fait vu que JJGifford sur son site avait fait une animation similaire sur un "aller", j ai voulu changer un peu avec l aller retour

    ps: la vraie raison c est que c est une anim flash qui boucle, donc je trouvais cela plus joli que le deplacement se fasse dans la continuité plutot que les carres passent ("sautent") de leur point d arrivee a leur point de depart ;)
     
Chargement...

Partager cette page