Trucsweb.com

Forum de discussion

 Forum « Flash et Shockwave » (archives)

Tout tout tout, vous saurez tout sur la matrice!!! j'avais promis!!!

Envoyé: 25 mars 2004, 3h39 par toph


Salut les gens ...

alors, j'avais dit qu'un jour je ferai des recherches sur la fameuse matrice gradietn qui gère le remplissage avec un dégradé en ActionScript ...

et bien c'est chose faite ... c'est enfait très simple. Déjà je précise queje parle de la matrice 3*3, et non de l'autre, qui avait l'air très simple, mais n'a jamais marchée pour moi...

Alors avant de me lancer dans des explications que je sens déjà cafouilleuses, je redéfinie la matrice et ensuite je donne ma traduction :

la matrice 3*3 est définie ainsi sous flash

a b c
d e f
g h i

il faut savoir que la notion de gradient est une notion de 3D ce qui implique un x, un y et un z....

en fait, chaque colonne correspond à une dimension: la première est x, la deuxième y, et la dernière z (du coup, en flash, elle sert à rien, mais faut la mettre qd même)

ma traduction est la suivante :

dx dy dz
vx vy vz
Ox Oy Oz

alors, le dx, (dy, dz) définit la largeur du dégradé, le vx (vy, vz) définit la direction (le vecteur) du dégradé (Attention, c'est de la médiatrice dont il est question, c'està dire que pour un dégradé horizontal, la direction - du moins dans la matrice - est une droite verticale) et enfin, Ox (Oy, Oz) est le point d'origine de ce vecteur...

Je pense que pour concevoir un dégradé il faut partir du point d'origine...
prenons un exemple simple :
je veux faire un dégradé va du blanc vers le noir, vertical, dans un carré de 300 sur 500 pixels...

le point d'origine de ce dégradé -dans la matrice je parle- sera le milieu de ce carré (encore une fois, attention, il ne faut pas prendre comme repère le carré, mais la scène (clip) dans lequel il va être dessiné : si mon carré est situé à x=200, y=150, il faudra rajouter ces coordonnées aux coordonneés du milieu du carré...

Donc, ce point d'origine se réfert à l'origine du clip et surtout pas à la forme qu'on est entrain de dessiner.
Mon point d'origine sera donc Ox = x + 300/2 = 400, et mon Oy = y + 500/2 = 375
et z=0;

esuite mon dégradé va de haut en bas donc, il faut que je définisse un vecteur (vx,vy,vz) horizontal (peu importe la valeur) , disons donc (1,0,0)- uniquement la composante x nous intéresse...

ensuite vient le problème de la largeur du dégradé (dx,dy,dz) ... dans notre cas, le dégradé est vertical, donc sa largeur sera également verticale ... disons que l'on veut que notre dégradé ne fasse que la moitié de la hauteur du carré (qui en fait est un rectangle ;), on fera (dx,dy,dz) = (0,500/2, 0) = (0,250,0) ...
et voilà le tour est joué ne reste qu'à remplir la matrice...

dx dy dz 0 250 0
vx vy vz = 1 0 0
Ox Oy Oz 400 375 0

voilà, si le dégradé est pas dans le bon sens, il suffit, soit d'inverser la direction avec un '-' = (-1,0,0)... ou alors, tout betement d'échanger les deux couleurs...

Voili, voilà, faites des test, ça marche vraiment, mais ça n'a rien a voir avec un gradient ou alors de très loin ...mais on peut faire l'analogie entre la direction qui serait la défrivé du point d'origine (ou l'intégrale plutôt) et la largeur qui en serait la double intégrale, donc quelque part ça se tient ... mais je pense que mes cours d'électromag sont quand même trop loin pour argumenter sur un éventuel abus de langage des programmeurs flash...

Bref, j'espère en tout cas que j'ai été clair... il est 2heures du mat et je sature un peu... mais je voulais partager cette découverte...
Je vous conseille d'essayer (toujours en dessiner le truc sur un papier avant) n'oubliez pas un dégradé, c'est un point d'origine, une direction et une largeur ... voilà, et pi, si vous avez des questions n'hésitez pas...

Sur ces bonnes paroles, j'vais faire dodo
A plus
Toph'


Réponses

 sp spRe: Tout tout tout, vous saurez tout sur la matrice!!! j'avais promis!!! toph25/3/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@