Page 2 sur 2

Re: Unity pro : fonction aléatoire

Posté : 18 avr. 2021, 19:03
par claudius
Bonsoir; je déterre ce post parce que je voudrais faire une fonction aléatoire sur un montage avec twido ou M221.
Je n'ai pas tout pigé sur l'exemple en particulier l'instruction LIMIT. ( je n'ai pas UNITY à dispo )

Image

Merci de votre aide

Re: Unity pro : fonction aléatoire

Posté : 23 avr. 2021, 21:58
par md42
salut
voici l'explication du bloc fonction LIMIT de Unity
limit_1.JPG
limit_2.JPG

bon courage

Re: Unity pro : fonction aléatoire

Posté : 23 avr. 2021, 22:10
par itasoft
Slts,
Pour ce cas de figure c’est l’appui sur la touche qui est aléatoire dans le temps, donc suffit d‘incrémenter un compteur cyclique qui compte de 1 à 3 et à l’appui sur la touche on prends la valeur courante du compteur.
La fonction qui génère un nombre aléatoire est utile dans le cas ou la demande fait partie du programme et non pas par une action manuelle dans le temps comme c’est le cas ici.

Re: Unity pro : fonction aléatoire

Posté : 18 mai 2021, 22:01
par claudius
Bonsoir,
Merci md42 pour les explications. Comme je suis retraité j'ai un peu de temps, je me suis un peu penché sur cette fonction. Le générateur aléatoire RAND ressemble beaucoup à un " générateur à congruence linéaire " utilisé par Unix et dont voici la formule mathématique : xn = (1103515245 * xn-1 + 12345) mod (232) .
Bon ça vous laisse de marbre le mot" congruence" et je le comprend. En fouillant un peu, j'ai trouvé une façon assez simple de générer des nombres aléatoires en utilisant un " Registre à décalage à rétroaction linéaire " et c'est adaptable sur n'importe quel automate.
Le principe est simple: dans un mot on charge une valeur numérique. On fait un XOR avec 2 ou 3 bits de poids faible, le résultat donnant un bit qui sera placé au poids le plus fort et on décale le mot vers la droite ( de 1 ). ( merci Wikipédia ici : https://fr.wikipedia.org/wiki/Registre_ ... %C3%A9aire ( il y a un beau schéma animé ) )
J'ai testé avec un Twido et j'ai vérifié que la première valeur sortie soit différente des suivantes. J'ai arrêté à 10000.
Bonne journée