Bonjour,
Pour une installation en cours de dévellopement, je travaille sur les carrés dits "magiques".
Pour cette première étape je souhaite travailler sur un carré d'ordre 9 et donc créer une grille de carrés de 9x9.
Chaque carré en fonction de sa place équivalente sur la matrice, récupère les infos d'un nombre qui lui est associé. Ce nombre pourra devenir, une fréquence, une opacité, une couleur etc...
(ex. pour un carré magique d'ordre 9, le 1er carré en haut à gauche à pour valeur "37")
J'ai créé une matrice sous pure data de 9x9.
Mais d'une part :
je n'arrive pas à créer une matrice de carrés ou de rectangles sous GEM : En fonction de la taille de mon écran je voudrai que l'écran se splite en "n" zones que je puisse remplir d'une couleur ou bien tracer le contour.
D'autre part : que les données de chaque élément de la matrice soient communiquée à chaque carré/rectangle qui se trouve à la même place : toujours par ex. : le 37 au carré en haut à gauche...
Si quelqu'un pouvait m'indiquer quelle voie suivre j'en serait fort reconnaissant, car là j'avoue que je cale un peu...
D'avance merci !
Hors ligne
Pas sûr d'avoir bien saisi...
Dans le doute, voici une piste...
Ce qui te donne un indice unique pour chaque carré, devenant alors atteignable respectivement avec un [iem_receive $1].
Pour ne pas te taper les 89 boites à la main, tu peux t'inspirer de ce fil qui utilise le patchage dynamique.
Bon courage.
Hors ligne
Merci infiniment Olivier.
Je suis entrain de faire matcher tout ça.
Le truc que je n'arrive pas à saisir c'est comment faire entrer des coordonnées de position pour le premier carré afin que la matrice apparaisse en entier dans mon écran quelque soit sa taille ou ratio.
Dans ce que j'ai fait, ça ne bouge que le premier carré ?... (il semble aussi que la répétition ne se fasse qu'en ligne ?...)
J'ai mis du temps a répondre car j'ai cherché avant de revenir vous solliciter, mais quelque chose m'échappe...
En tout cas merci beaucoup déjà pour cette aide !
Hors ligne
Hello...
Tel que présenté dans tes captures, tu sembles ne modifier qu'un seul [_MonCarre] via les [inlet].
Utilise plutôt des [r X], [r Y] et [r SizeGlobal] à la place de tes [inlet].
Et envoie leur des infos avec des [s X], [s Y] et [s SizeGlobal]
Tu atteindras de cette façon tous tes [_MonCarre].
Bon courage.
Hors ligne
C'est magique !
Merci.
Où puis-je trouver quelque chose qui explique quand utiliser un inlet et quand utiliser les send-recieve ?
Merci beaucoup vraiment !
Hors ligne
Un [inlet] va te permettre d'entrer dans UNE boite, que ce soit un sous-patch ou une abstraction.
L'avantage est la lisibilité du chemin de ton flux de données car il va falloir nécessairement tirer un fils de l’extérieur pour communiquer avec l'intérieur.
L’inconvénient c'est qu'il faut tirer autant de fils que d'[inlet].
Dans ton cas, il aurait fallu que tu tires un fils vers chacun de tes [_MonCarre].
Ce qui aurait été très, très fastidieux.
Les [send] et [reveive] peuvent te permettre d'atteindre autant de boite que tu le souhaites.
C'est sans fil et permet d'accéder à n'importe quelle boite, quelle que soit son niveau d'imbrication.
Pas contre, ça nécessite de bien avoir en tête "quoi" va "où"...
Et, quand tu as beaucoup de sous-patch et d'abstraction les unes dans les autres, cela peut être délicat.
Une bonne lecture : http://fr.flossmanuals.net/puredata/index
Bon courage.
EDIT: Je viens de regarder à nouveau tes captures, et je me demande si tu n'as pas plusieurs [_MonCarre] les uns sur les autres dans ton [_MonGrid]. Ce qui t'auraient laissé croire que les [inlet] te permettaient de tous les atteindre alors qu'en fait tu n'avais relié que celui du dessus... à toi de nous dire...
Hors ligne