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

Script: Masques fractals

Discussion in 'Adobe After Effects' started by nab17connection, Mar 25, 2006.

Tags:
  1. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    Si tes masques font des carrés de 1 pixel, regarde ce que ça donne en utilisant un facteur d'expansion. Ca doit te faire des petits ronds, et toujours "pixelisable en continue" quelque soit l'echelle. Ce qui évite d'utiliser un effet.
     
  2. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    avec celui-ci tu peux choisir le mode de représentation:
    - carré de coté 1px...avec possibilité de parametrer l'Expansion pour obtenir des "points"
    - segment (trait) de longueur 1px...avec choix entre horizontal ou vertical

    j ai egalement ajouté la possibilite d'interrompre le processus...une fois les points calculés, une fenetre va s afficher en annoncant le nombre de masques qui va etre créer...on cliquera sur Non si on ne souhaite pas poursuivre.

    le nombre d'iterations peut etre n importe quelle valeur positive et entiere, mais on pourra considérer qu'il devra approx. correspondre à la taille du calque. Si je prends par exemple un solide 50x50, mettre un nb d iteration autour de 50, c'est "raisonnable".
    ensuite agrandir son echelle selon les besoins...

    je balance des ptites captures que j ai faites pendant mes essais :)

    [​IMG]

    [​IMG]

    [​IMG]

    le script: Mandelbrot.jsx
     
  3. l-o

    l-o

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    478
    Appréciations:
    +0 / 1 / -0
    tain graphiquement c plein de possiblité mais c vrai que le rapport rendu/temps de calcul est pas vraiment top au dela d'un certains nombre d'itinération ce qui me fera préféré d'autre soft spécialisé dans les fractales...j'avoue être severement largué dans ce script...sans faire le gros exigent c optimisable (au delà d'autre fonction) ? le gros du code c un wip ou çà va rester figer. (en tout cas l'initiative et les premiers résultats sont super encourageants)
     
  4. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    La limite c'est plus After effects et nos machines que le script en lui même. Le script s'exécute, ça prend le temps nécessaire, mais bon, ensuite c'est After Effects et notre matériel... peuvent t'ils afficher autant de masques ? Ou alors il faudrait pouvoir indiquer un nombre de masque maximum.
     
  5. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    MasksToSolids.jsx

    Dans cette version le solide créé est de la taille de la comp (qu entends tu par "taille du masque" ? la taille du plus petit rectangle pouvant contenir le masque ?)

    j ai fait un effort particulier pour ajouter des commentaires. D'ailleurs c'est amusant en relisant je me suis rendu compte que quand tu ne lis que ca (entre les /* ...*/), tu vois exactement pas à pas la méthode :)

    en esperant que cela t'incite à te lancer (aller mon grand on se jette à l'eau maintenant :D )

    le script: MasksToSolids.jsx
     
  6. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    Exactement ça.

    Ben j'aimerais bien. Même qu'au mois de Janvier je préférais lire ton site sur les scripts plutôt que de tester AE7... c'est dire:D

    Mais j'ai un peu calé. Je me suis rendu compte du truc qui me rend assez perplexe. C'est que quand on commence, l'écriture Good Housekeeping complique énormément les choses. J'en étais à réécrire tes scripts d'initiation en petit cochon (tous sur une ligne, sans variable) parce que au bout d'un moment je ne comprends plus de quoi on parle à force de déclarer des variables de variables de variables...
    Ca me fait bizarre parce que pour les expressions je fais un peu pareil pédagogiquement et maintenant je comprends mieux pourquoi mes petits padawans sont un peu largué des fois.

    J'ai une idée pratique de script sur le quel je pourrais me lancer. Ca concerne le suivi de cible (mais un truc facile, pas du tracking 3D). Si t'as un peu de temps pour nous faire une approche pas à pas, main dans la main, pour scripter ça, on pourrais faire un working progress, une discussion pédagogique que tous le monde pourrais suivre. Si ça te tente j'ouvre une nouvelle discussion et je vous dis de quoi il s'agit.
     
  7. bildebool

    Trophy Points:
    1,450
    Likes Received:
    0
    Messages:
    940
    Appréciations:
    +0 / 1 / -0
    à ce moment là je vous suivrai surement, meme si j'ai peur de ne pas suivre (j'en suis toujours aux expressions...:D )

    Bill
     
  8. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    Si tu as une idée concrète d'expression à proposer, de la même façon tu peux la proposer et on pourrait décortiquer ça pas à pas.
     
  9. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    no problemo de mon côté, tu n'as qu'à ouvrir la discussion quand tu le sentiras :)

    pour la "taille des masques", si tu me donnes une formule qui prend des points et leurs tangentes et qui recrache la taille du solide, ok...mais je pense que cela ne va pas etre facile.
    de plus, avec les masques au niveau du positionnement, c'est la vraie galere: qd tu copies/colles il y a parfois des decalages qd les masques ne sont pas centrés ....par exemple un masque d'un calque A copié/collé sur un calque B plus petit (ou plus grand) que A
     
  10. Julien W.

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    1,499
    Appréciations:
    +0 / 0 / -0
    Théoriquement, ce n'est pas très difficile. Si tu peux séparer ton masque en n courbes de bézier, il te reste à trouver le rectangle qui contient les points d'arrivée de tes courbes, les points où la tangeante est verticale et les points où la tangeante est horizontale. Maintenant, je ne sais pas si il est possible de faire ça avec les outils que l'API du scripting nous offre.
    La partie la plus difficile, c'est de trouver la tangeante en un point à partir des tangeantes des deux extrêmités de la courbe. Il faut faire appel à la formule générale.
     
  11. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    très bien ce ptit wiki :D
    ok, j'arrive maintenant à calculer ce qu'on va appeler la "surface utile" avec une courbe à deux points (A et B).
    sur l image on voit ce que le scripting nous apporte comme infos (coords des sommets, vecteur des tangentes) et ce que l on cherche à determiner (j ai trouve a peu pres 139.3x45.3 pour la taille de cette surface utile et ca m'a l'air pas trop mal).
    [​IMG]

    maintenant il faut generaliser cela a tout le masque....et comme le masque pourrait etre animé, il va falloir calculer la surface utile pour toutes les valeurs de la Forme. En memorisant le plus petit x et le plus grand, pareil pour les y , on obtiendra la taille du solide à créer.
    il y aurait a voir egalement le cas ou les poignees de controle ne sont pas alignées avec le point lui meme...

    et quand cela est fait, tu es ensuite confronté aux embrouilles de positionnement du masque suivant la taille du Solide et si le masque etait centré ou pas sur le calque d origine...

    à mon avis c'est un peu galère tout de meme simplement pour économiser un peu sur la taille des éléments, non ?

    ps: si vous voulez connaitre les coordonnees des points ainsi que la valeur de leurs tangentes, vous pouvez utiliser ce bout de code par exemple (a sauver en ".jsx") ; selectionner d'abord le calque contenant le masque:
    Code:
    myShape = app.project.activeItem.selectedLayers[0].Masks.property("Mask").maskShape.value;
    alert(myShape.vertices); 
    alert(myShape.inTangents); 
    alert(myShape.outTangents);
    
     
Loading...

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous