Я рисую кривую интерполяции следующим образом:
e.Graphics.DrawLines(new Pen(Color.Red), _interpolationPoints.ToArray());
который иногда выдает исключение OverflowException.
Исследование массива _interpolationPoints показывает очень большие значения в научной нотации, например. {X = 0,0 Y = -1,985174E + 10}
Я подозреваю, что Y = -1.985174E + 10 - это значение, которое GDI + не может обрабатывать. Это прекрасно, но каковы максимальные/минимальные значения X и Y, в которые я могу рисовать и тем самым сдерживать данные (и предупреждать пользователя), а не улавливать исключение переполнения во время рисования? Ограничены ли лимиты?
Например, я хотел бы сделать что-то вроде этого:
if (yVal < float.MinValue || yval > float.MaxValue)
throw new OverflowException("Interpolation value too large to be rendered.");
во время совокупности массива _interpolationPoints и остановки процесса. (float mix/max не работает кстати. Я все еще получаю исключение.)