Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Алгоритмы > Кубический сплайн |
Автор: My4a4os 13.11.19, 11:50 |
Здравствуйте, уважаемые форумчане!!! Сделал прогу, которая рисует кубический сплайн. Столкнулся с тем, что кубический сплайн очень чувствителен к направлению построения по оси Х (либо по возрастанию, либо по убыванию абсцисс исходных точек). Если кто знает - подскажите, где искать или как исправить ситуацию, показанную на вложенной картинке. (строго не судите, если задаю глупые вопросы - кубическими сплайнами заинтересовался недавно). Заранее спасибо. Spline.jpg (, : 861) |
Автор: prografix 13.11.19, 13:02 |
У тебя в точке 1 неправильно задана производная. |
Автор: MBo 13.11.19, 15:10 |
Как задаётся сплайн? Для таких кривых должен - параметрически X(t) и Y(t), а не как Y(X) |
Автор: My4a4os 13.11.19, 19:04 |
MBo Сплайн задается именно Y(X). А что значит параметрически X(t) и Y(t)? Если не трудно, опишите в двух словах... |
Автор: Akina 13.11.19, 19:07 |
Показанный сплайн НЕ МОЖЕТ БЫТЬ Y(X) - есть X, которым соответствует 2 разных Y на одном участке (как раз тот,Ю который "как хочется"). |
Автор: MBo 14.11.19, 09:58 |
Функциональная форма Y(X) применяется только к однозначным функциям. В данном случае нужны две зависимости как для Y, так и для X от третьего параметра t. Пример - окружность - X=R*Cos(t), Y=R*Sin(t) Как выбирать параметризацию в случае абстрактной кривой - отдельная наука. В качестве первого приближения - номер точки, или длина ломаной линии между точками. |
Автор: My4a4os 15.11.19, 14:49 |
MBoСпасибо. Попробую реализовать. |
Автор: Mikle 15.11.19, 16:27 |
Нужен сплайн, проходящий через заданные точки? Вот реализация на VB6 с исходником, может поможет: Spline.zip (, : 242) |
Автор: My4a4os 18.11.19, 15:32 |
MikleСпасибо! Уже изучаю(перевожу на си). |