Es wäre schön, diese Funktionalität in der java.lang.Math
Klasse zu haben, da dies so ist ein weit erforderliche Funktion und ist in anderen Sprachen verfügbar. Hier ist eine einfache Implementierung:
final static double EPSILON = 1e-12;
public static double map(double valueCoord1,
double startCoord1, double endCoord1,
double startCoord2, double endCoord2) {
if (Math.abs(endCoord1 - startCoord1) < EPSILON) {
throw new ArithmeticException("/ 0");
}
double offset = startCoord2;
double ratio = (endCoord2 - startCoord2)/(endCoord1 - startCoord1);
return ratio * (valueCoord1 - startCoord1) + offset;
}
Ich stelle diesen Code hier als Referenz für die Zukunft selbst und kann es jemand helfen.
Zweipunktform. http://en.wikipedia.org/wiki/Linear_equation#Two-point_form – kennytm