Code:
Wertebereich: 5
MaxBildkoordinate: 20
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
--------------------------------------------------------------
-5 -4 -3 -2 -1 0 1 2 3 4 5
Pixel2Koordinate(6, 20, 5) ==> -2
Pixel2Koordinate(5, 20, 5) ==> -2,5
Koordinate2Pixel(-4, 20, 5) ==> 2
Koordinate2Pixel(3,5, 20, 5) ==> 17
Hab grad noch eine Runde gegrübelt und bin (px 2 kd)-Variante auf folgende Formel gekommen:
0-(((MaxBildkoordinate/2)-px)*((Wertebereich/(MaxBildkoordinate/2))))
mit Zahlen gefüllt (2. Beispiel):
0-(((20/2)-5)*((5/(20/2)))) = -2,5
Für die andere Richtung muss man es nur vernünftig umstellen, denke ich.
@gammatester: ich muss zugeben, dass ich deine Lösung inhaltlich noch nicht so ganz verstanden habe.
Funktionieren tut sie aber prima: (5 - -5)/(20 - 0) * (5 - 0) + -5 = -2,5