Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top