module inscription newsletter haut de page forum mobile

Rejeter la 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
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

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 dans 'Adobe After Effects' créé par Sequelles, 24 Juillet 2007.

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
    Bonjour

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

    :perplexe:
     
  2. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    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

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    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

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    491
    Appréciations:
    +0 / 0 / -0
    Est-ce qu'il est possible de connaitre les applications de cette formule?

    Merci.
     
  5. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    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

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    491
    Appréciations:
    +0 / 0 / -0
    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

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    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

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    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

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    491
    Appréciations:
    +0 / 0 / -0
    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

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    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

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    4
    Appréciations:
    +0 / 0 / -0
    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

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    491
    Appréciations:
    +0 / 0 / -0
    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

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    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
     
Chargement...

Dernières occasions

 

Partager cette page