module inscription newsletter haut de page forum mobile

Dismiss Notice

formations etalonnage sur davinci resolve

Nos Formations Etalonnage avec Forest reviennent en octobre !
Adoptez une réelle méthodologie d'étalonnage professionnelle et atteignez vos objectifs créatifs avec nos formations intensives sur 3 jours
Toutes les infos
Dismiss 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
Dismiss Notice

Formation Lumière - Pratique Intensive du 14 au 16 octobre à Paris
Formez-vous avec cet atelier de pratique intensive dans des conditions exceptionnelles ! Formation finançable.
Toutes les infos

Ateliers et Formations

Vector Math

Discussion in 'Adobe After Effects' started by Sequelles, Jul 24, 2007.

Tags:
  1. Sequelles

    Sequelles Modérateur
    Modérateur So
    Appréciations:
    +2 / 13 / -0

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Bonjour

    Avec les expressions, peut-on connaître l'angle entre 2 vecteurs dans l'espace 3D ?

    :perplexe:
     
  2. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    je dirais oui, et la fonction pourrait ressembler à celle-ci (retourne une valeur entre 0 et 180):
    Code:
    function angleBetween(v1,v2)
    {
       d = dot(v1, v2);
       n1 = length(v1);
       n2 = length(v2);
       d /= n1*n2;
       theta = Math.acos(clamp(d,-1,1));
       return radiansToDegrees(theta);
    }
    
    et pour l'appeler, voilà un exemple qui prend pour axe le y des calques.

    Code:
    L1 = thisComp.layer("Royal Blue Solid 1");
    L2 = thisComp.layer("Royal Blue Solid 2");
    v1 = L1.toWorldVec([0,1,0]);
    v2 = L2.toWorldVec([0,1,0]);
    
    angleBetween(v1,v2);
    
     
  3. Sequelles

    Sequelles Modérateur
    Modérateur So
    Appréciations:
    +2 / 13 / -0

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Merci infiniment nab.
    Vraiment classe ce sytème de fonction dans le javascript. On pense pas souvent à l'utiliser dans les expressions.

    Mais pour la fonction chapeau. Est ce que tu pourrait m'expliquer un peu. Un petit cours de géométrie. Ou au moins pour commencer m'expliquer ce que fait la fonction vectoriel dot ? dot([a,b,c],[D,E,F]) = a*D+b*E+c*F. Qu'elle est son application ?
     
  4. logicalnot

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    491
    Est-ce qu'il est possible de connaitre les applications de cette formule?

    Merci.
     
  5. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    je ne ferai pas mieux que la quantité abondante d'informations à ce sujet sur internet.
    en anglais, c'est le "dot product", en français on dit en général "produit scalaire".

    en rapido, tu peux considérer que géométriquement "dot(u,v)" correspond à la projection de u sur v multipliée par la norme de v (sa longueur). Le résultat est un nombre. C'est un peu l'équivalent de la multiplication des scalaires mais pour les vecteurs.

    son implication ? Enorme, dans certaines branches mathématiques c'est omniprésent, en physique également. Tu as des propriétes intéressantes comme par exemple le fait que si le produit scalaire est nul entre deux vecteurs alors cela signifie que ces vecteurs sont orthogonaux (perpendiculaires).
     
  6. logicalnot

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    491
    Ok… je vois — tout devient plus limpide maintenant. :lol: … :o … :(

    Je vais reformuler ma question : à quoi ça peut servir dans ae?
    (et cette fois, essaye de parler en français pour les graphistes, merci). ;)
    Si tu as des exemples visuels, ce serait super.
     
  7. Sequelles

    Sequelles Modérateur
    Modérateur So
    Appréciations:
    +2 / 13 / -0

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Oui, sur Wikipédia fr on trouve les notions de bases qui sont utiles pour travailler avec les vecteurs.
    Calcul vectoriel en géométrie euclidienne

    Pour répondre à logicalnot
    L'angle entre deux vecteurs dans l'espace 3D peut permettre de modifier un propriété en fonction de l'orientation d'un calque par rapport à la caméra.
     
  8. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    c'est que je me ferai presque engueuler ! :lol:

    logicalnot, comment dire, c'est un peu comme à la piscine, tu as le grand et le petit bassin.
    Quand on ne sait pas nager il vaut mieux pas se tromper de bassin :D
     
  9. logicalnot

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    491
    Pfff ! Grosse humiliation publique.

    D'abord l'eau est trop froide dans le grand bassin. Je retourne dans le petit.
    Où est-ce que j'ai foutu mes brassards? :rolleyes:

    La vie est dure pour les graphistes.
     
  10. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    c'était la ptite chambre du vendredi soir, rien de méchant :D

    les maths parfois cela peut être très facile mais le problème est qu'on ne peut pas vraiment sauter les étapes. si tu n'as pas un minimum de background, t'es plus ou moins cuit...

    pour te montrer que je suis un gars cool et pas un vilain canard qui te prend de haut, je te rajoute une petite expression à essayer.

    dans une comp avec camera, calques 3D, etc... crée toi un nul ("Controller") et ajoute lui un paramètre glissière (que tu renommes "focus index")

    mets ca sur la "Focus Distance" de la caméra:

    Code:
    ind = thisComp.layer("Controller").effect("focus index")(1);
    ind = Math.round(clamp(ind,1 - index,thisComp.numLayers - index));
    if (ind == 0) ind ++;
    L = thisComp.layer(thisLayer,ind);
    targetPos = L.toWorld(L.anchorPoint);
    
    u = targetPos - position;
    v = toWorldVec([0,0,1]);
    dot(u,v);
    et amuse toi à changer la valeur du slider... ;)
     
  11. NRV

    NRV
    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    100
    Likes Received:
    0
    Messages:
    4
    Bonsoir, les expressions m'interresent beaucoup, par contre c du chinois pour moi, aurais-tu un livre ou un site a me recommander en francaisde preference nab17connection???
     
  12. logicalnot

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    491
    C'est cool merci. Et c'est sympa de me laisser flotter sur le bord du bassin.

    Si je comprends, cette formule magique sert à faire le focus automatiquement sur un des calques sélectionnés par leur nº d'index.
    J'ai fais un test rapido — si tu comprends se qu'il se passe, je dis chapeau. Je continuer à jouer avec.
     
  13. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    okay mon ptit cadeau était sans doute pas top, il faut la combiner avec d'autres trucs pour la rendre intéressante...
    j'essaierai de proposer quelquechose de plus sympa le we prochain si je trouve un peu de temps.

    NRV, regarde ici, FAQ, tu trouveras des liens
     
Loading...

Dernières occasions

 

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous