| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Построение графика по точкам |
| Автор: xTr1m 6.2.2009, 16:12 |
| Здравствуйте, вопрос такой: есть набор точек, через которые нужно провести линию. Можно ли для этого использовать кривые Безье или только интерполяцией сплайнов? P.S. Я вот думаю, если Безье строится по 3 точкам, то может можно взять мои две граничные точки, а третью задать самому посередине между ними. Или так не получится? Вся штука в том, что Безье у меня уже реализовано, а вот со сплайнами неохото возиться =)) |
| Автор: Фантом 6.2.2009, 16:24 |
| Сформулируйте точнее условие задачи. В ее нынешней постановке решение - это ломаная, состоящая из отрезков, соединяющих соседние точки. Если требуется получить еще и гладкую кривую, то простейшее решение - обычный интерполяционный полином. Применение сплайнов и т.п. может стать осмысленным только в том случае, если есть и другие условия. |
| Автор: xTr1m 6.2.2009, 16:40 |
| Да, получить нужно гладкую кривую (ну или похожую на гладкую =)) Но как мне получить полином по точкам. Функции нет, есть одни точки на плоскости. |
| Автор: Фантом 6.2.2009, 17:16 |
| Посмотрите вот http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D1%87%D0%BB%D0%B5%D0%BD_%D0%9B%D0%B0%D0%B3%D1%80%D0%B0%D0%BD%D0%B6%D0%B0 (нужен раздел "Определение"), это и есть решение. |
| Автор: xTr1m 6.2.2009, 18:39 | ||
Картинку что то не получилось добавить =(( Тогда на словах
Это реализованная функция, и все бы хорошо, но начиная с третьей точки у меня идет какая то погрешность. В чем может быть дело? |
| Автор: xTr1m 6.2.2009, 20:49 |
| В виду некоторых обстоятельств вопрос снимаю =)) |
| Автор: xTr1m 7.2.2009, 08:50 |
| Все-таки не могу удержаться и не спросить. Строя график по заданным точкам полиномом Лагранжа, я заметил, что если у одной из точек координата, например, "у" сильно отличается от остальных, то график получается сильно вытянутым вверх и вниз. А есть ли метод позволяющий строить график через заданные точки, которые менее чувствителен к этому? Добавлено @ 09:00 Вот кстати нашел в C# метод, который позволяет сделать, что я хотел. Используется при это некий "cardinal spline". А по-русски никто не назовет? =)) |
| Автор: xTr1m 7.2.2009, 15:29 |
| Спасибо, что подтвердили мои догадки =)) |