Page 1 sur 1

Convertir un nombre d'un intervalle vers un autre

Posté : dim. 21 août 2016 21:54
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:

Re: produit en croix

Posté : dim. 21 août 2016 22:05
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.

Re: produit en croix  

Posté : dim. 21 août 2016 22:57
par orax
x = valeurLue
a = valeurluemin
b = valeurluemax
c = valeursortiemin
d = valeursortiemax
(x - a) * (d - c) / (b - a) + c = :mrgreen:

Re: produit en croix

Posté : dim. 21 août 2016 23:04
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:

Re: produit en croix

Posté : lun. 22 août 2016 00:18
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

Re: produit en croix

Posté : lun. 22 août 2016 02:26
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.