Convertir un nombre d'un intervalle vers un autre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 11:57
Status : Hors ligne

Convertir un nombre d'un intervalle vers un autre

#1

Message par Nicoloquinte »

bonjour , j'aimerai savoir si en autoit , il existait une fontion de produit en croix :shock:

valeursortie = map (valeurLue, 0, 1023, 0, 5000);

valeursortie = map (valeurLue, valeurluemin, valeurluemax, valeursortiemin, valeursortiemax); :!:

(C++)

merci d'avance :mrgreen:
Modifié en dernier par orax le lun. 22 août 2016 01:15, modifié 1 fois.
Nico ¤_¤
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2273
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: produit en croix

#2

Message par jchd »

Qu'appelles-tu un produit en croix et quel rapport avec des valeurs mini et maxi ?
Le produit en croix avec a/b = c/d est a*d = b*c, avec b et d != 0.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: produit en croix  

#3

Message par orax »

x = valeurLue
a = valeurluemin
b = valeurluemax
c = valeursortiemin
d = valeursortiemax
(x - a) * (d - c) / (b - a) + c = :mrgreen:
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 11:57
Status : Hors ligne

Re: produit en croix

#4

Message par Nicoloquinte »

merci pour cette réponse très rapide , mais après de nombreuses recherches , je me suis rendu compte , qu'Autoit était un language bien différent que le C++ :mrgreen: , (Autoit plus facile a utiliser pour moi ) malheureusement , cette fonction est a créer dans un udf/ Ou pas , une ligne suffit 8)


Edit : la fonction MAP est existante en C++ , il suffit de lui donner ces valeurs pour quil les transpos :shock: :? e (surtout utilisé avec Arduino)
merci beaucoup a vous tous


Ps :je sait faire un produit en croix quand même :mrgreen:
Nico ¤_¤
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: produit en croix

#5

Message par orax »

Pour être franc, je n'avais pas du tout compris la question, mais je suis tombé sur la page https://www.arduino.cc/en/Reference/Map qui parle d'une fonction Map (oui, j'ai encore triché !).
Je ne sais pas si la fonction Map existe en C++ (dans la bibliothèque standard), en tout cas je ne l'ai pas trouvée.
Si les valeurs min sont à toujours 0, la formule peut être simplifiée (et dans ce cas ça ressemble davantage à un produit en croix) :
valeur : 50
intervalle en entrée : 0 à 100
intervalle en sortie : 0 à 255
50 / 100 = x / 255
50 / 100 * 255 = 127,5
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2273
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: produit en croix

#6

Message par jchd »

la fonction MAP est existante en C++
Dans une bibliothèque, comme bien d'autres. Disons que c'est une translation homothétique.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre