Winforms/GDI+ Нарисуйте кривую для диаграммы

В моем приложении Winforms у меня есть небольшая диаграмма. Ничего особенного, просто набор точек x/y, которые я соединяю линиями.

Было бы неплохо нарисовать кривую вместо линии, соединяющей эти точки. Но так как математика никогда не была моей сильной стороной, я понятия не имею, как это сделать.

Любой образец или совет будут полезны.


person TalkingCode    schedule 29.04.2009    source источник


Ответы (2)


Это очень просто - не нужно никакой математики - просто используйте Graphics.DrawCurve вместо DrawPolygon/DrawLine (см. очень хорошую справку по этой функции).

person Random Dev    schedule 29.04.2009

Извиняюсь за воскрешение темы, но пришлось ответить на эту:

Проясните для себя, чего вы хотите достичь. Я не знаю деталей вашего проекта, но предлагаемые методы не подходят для многих приложений. Правильное решение зависит от того, хотите ли вы, чтобы кривые, которые вы рисуете, просто красиво выглядели или представляли значимые данные. В первом случае можно нарисовать кривую Безье, но они нет математического смысла, и если вы пытаетесь нарисовать график, который следует интерпретировать с научной точностью, он может ввести пользователя в заблуждение. Для многих приложений вам нужна наиболее подходящая линия. Они имеют четкую функциональную форму, например, полином степени 2 (также известный как парабола), логарифмическая кривая или скользящее среднее. Все они присутствуют в Excel, и все они имеют определенные приложения и являются категорически неправильным выбором для всего, что выходит за рамки их конкретной компетенции. Тема статистического анализа данных, вероятно, выходит за рамки сообщения StackOverflow, но для начала найдите «линейную регрессию», то, что вы описываете, всесторонне рассматривается в этой области математики.

person Tom W    schedule 19.09.2010