PDA

Voir la version complète : Question Le noeud Modulo



istef
12/06/2013, 20h05
J'ai un problème avec le noeud Modulo depuis toujours, j'avoue :blush:
Je sais qu'il renvoie le reste de la division, mais bon, quand même, son utilisation dans certains set-up me laisse perplexe, pour ne pas dire sans voix :icon_eek:

Un 1er exemple avec le fichier joint : Modulo_1
Je ne comprends pas ce que renvoie en sortie et, surtout, à chaque image, le noeud Modulo dans ce set up ?

Un 2nd exemple avec le fichier joint : Modulo_2
Je ne comprends pas pourquoi le fait de cocher le paramètre Modulo dans le range mapper crée une boucle dans le mouvement ?
Puisque si on décoche le paramètre Modulo dans le range mapper, le mouvement vertical de la sphère ne s'opère qu'un seule fois.

Merki lézamis

istef
12/06/2013, 20h10
Toujours se répondre à soi-même en 1er, c'est tout de suite bcp plus sain ;)

Petite précision, dans le Modulo_1, ce que je ne pige pas c'est comment le noeud Modulo peut-il (se permettre, le bougre, de) renvoyer une valeur fixe puisqu'il se base sur un noeud Iteration qui, par défaut, calcule/génère plusieurs valeurs sur une même image ???
Là, je dois dire, je bloque
:blush:

valkaari
13/06/2013, 03h34
*toussote*

Alors pour ton fichier modulo_1 :
le noeud itération au court d'une frame vas envoyer les valeurs de 0 à 30. Du coup pour chaque valeur envoyé, le noeud math vas faire le calcul et sortir le modulo.
Par contre le noeud résultat lui, n'affiche que la dernière opération à la fin le la mise à jour complète de la frame donc 30%4 ---> 2 (modulo s'écrit % en programmation)


Le fichier modulo_2 :
le range mapper prends une valeur entre 0 et 150 et renvoie la valeur correspondante. Mais si tu ne "clamp" pas les valeurs d'entrée, il continue à faire son travail au delà des balises 0 et 150.

Un exemple avec des chiffres rond, tu mets en valeur d'entrée 0-200 et en sortie 0-400 pour définir la conversion. Mais si une valeur en entrée de 400 arrive, en sortie tu vas avoir 800.

Le modulo permet de "boucler" et de rester dans les valeurs de sortie donc tu peux faire entrer 200 ou 400 la sortie sera de 400.

Dans ton exemple, cela permet de travailler ton rebond sur une petite portion en X et après d'allonger complètement la distance sans modifier le comportement prévu.

istef
14/06/2013, 01h07
Merci bcp valkaari pr tes explications.
Je dois dire que j'avais capté ce que tu soulignes et que je restais sur ma fin et ma frustration.
Mais, pour l'exemple 1, en fait, tes explications m'ont amené à mettre le preset "Print to console" à la sortie de mon modulo, du coup j'ai capté le calcul en interne, où plutôt les calculs car c'est bien ça qui me confusait, le fait de penser qu'il ne sortait qu'une seule valeur (exemple : 2 dans le noeud résultat ) sur une itération bouclant elle pourtant de 0 à 30 à chaque frame.

Sinon, pour l'exemple 2, en fait, j'avais compris que le fait d'activer le Modulo du Range Mapper, ça bouclait, il me semble que je l'avais noté du reste, ce que je capte moins, c'est pourquoi ça boucle, vu que le noeud modulo est censé donné le reste de la division, je pige pas comment sont effectués les calculs pour que ça boucle, même si je comprends la finalité, la boucle ?

Anyway, merci 1000 fois, le print to console ds l'exemple 1 m'a ouvert les yeux sur un truc qui me chiffonnait grave depuis plusieurs jours ;)

valkaari
14/06/2013, 01h18
ben dans mon exemple en entré 0-200 :
1%200 --> 1
50%200 --> 50
100%200 --> 100
201%200 --> 1

donc le modulo de la valeur d'entrée par la borne haute fait bien une boucle.

Pour faire une boucle avec la borne basse doit y avoir une soustraction avant du genre
(valeur entrée - borne basse)%borne haute
j'ai pas vérifié cette formule par contre

istef
16/06/2013, 11h39
Super !!! Merci bcp Valkaari, j'ai enfin capté le fonctionnement du paramètre Modulo qu m'échappait jusqu'à présent ;) :thumbup1: :icon_clap: