Hi,
ich habe ein Fehler in meiner Berechnung, der mir einige Zeit schon Kopfzerbrechen bereitet.
Zuerstmal der Code:
C#-Code: |
float scale_temp = scale * Liste_Messung_Filter_Daten[MovingSegment].Scale_Lst;
int Startpunkt_alt_X = Liste_Messung_Filter_Daten[MovingSegment].Start_Point_X * (int)scale_temp;
int Startpunkt_alt_Y = Liste_Messung_Filter_Daten[MovingSegment].Start_Point_Y * (int)scale_temp;
|
Die Werte der Variablen lt. Debugger:
Liste_Messung_Filter_Daten[MovingSegment].Scale_Lst = 1.29949236
scale = 0.76953125
scale_temp = 1
Liste_Messung_Filter_Daten[MovingSegment].Start_Point_X = 243
Liste_Messung_Filter_Daten[MovingSegment].Start_Point_Y = 228
Startpunkt_alt_X = 243
Startpunkt_alt_Y = 226
Der Knackpunkt liegt bei Y. Ich habe schon einige Durchgänge durchgespielt - bei X stimmt der Wert (Start_Point_X = Startpunkt_alt_X).
Y hat meistens eine Abweichung von 1. In diesem Beispiel sogar 2.
Ich verstehe es einfach nicht - hat jemand von euch eine Idee?
*Edit*
Liste_Messung_Filter_Daten[MovingSegment].Start_Point_X & ..Y sind als int deklariert.