2016-03-04 2 views
0

Je me demande s'il existe une équation mathématique que je peux utiliser pour convertir un point dans une plage de nombres, pour le même nombre de ratios dans un plus grand nombre de nombres?Mise à l'échelle d'un point dans une plage de nombres

Par exemple

Range 1-10 point 6

serait égal à

Range 10-100 point 60

Le but de cela est de tracer les caractères position dans le monde à une mini carte. Il prend le rapport d'où ils sont dans la carte complète et l'applique à une mini-carte plus petite.

Merci

Répondre

1

Il y a 6 numéros importants ici:

  • f_orig: le premier numéro dans la gamme originale
  • l_orig: le dernier numéro dans la gamme Orignal
  • p_orig: le point dans la plage d'origine
  • f_new: le premier chiffre de la nouvelle plage
  • l_new: le dernier numéro de la nouvelle gamme
  • p_new: le point dans la nouvelle gamme

Vous souhaitez que cette équation est vrai:

(p_orig - f_orig)/(l_orig - f_orig) = (p_new - f_new)/(l_new - f_new) 

Si vous résolvez pour p_new vous obtenir:

p_new = ((p_orig - f_orig) * (l_new - f_new))/(l_orig - f_orig) + f_new 

Dans votre exemple:

60 = ((6 - 1) * (100 - 10))/(10 - 1) + 10 
60 = (5 * 90)/9 + 10 
60 = 450/9 + 10 
60 = 50 + 10 
60 = 60 
+0

C'est exactement ce que je voulais, merci! –

+0

Comment appelleriez-vous cette équation? Si je devais faire une fonction pour le faire –