
![]() |
||
Наши проекты: | Журнал · Discuz!ML · Алгоритмы · Естественные науки · Wiki · DRKB · Помощь проекту |
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[35.172.217.40] |
![]() |
|
Сообщ. #1,
|
|
|
Здравствуйте, уважаемые форумчане!!!
Сделал прогу, которая рисует кубический сплайн. Столкнулся с тем, что кубический сплайн очень чувствителен к направлению построения по оси Х (либо по возрастанию, либо по убыванию абсцисс исходных точек). Если кто знает - подскажите, где искать или как исправить ситуацию, показанную на вложенной картинке. (строго не судите, если задаю глупые вопросы - кубическими сплайнами заинтересовался недавно). Заранее спасибо. Прикреплённая картинка
|
Сообщ. #2,
|
|
|
У тебя в точке 1 неправильно задана производная.
Мой сайт - prografix.github.io
|
Сообщ. #3,
|
|
|
Как задаётся сплайн? Для таких кривых должен - параметрически X(t) и Y(t), а не как Y(X)
|
Сообщ. #4,
|
|
|
MBo Сплайн задается именно Y(X). А что значит параметрически X(t) и Y(t)? Если не трудно, опишите в двух словах...
|
![]() |
Сообщ. #5,
|
|
Цитата My4a4os @ Сплайн задается именно Y(X) Показанный сплайн НЕ МОЖЕТ БЫТЬ Y(X) - есть X, которым соответствует 2 разных Y на одном участке (как раз тот,Ю который "как хочется"). Есть претензии ко мне как к модератору? читайте Правила, разделы 5 и 6, и действуйте соответственно.
Есть претензии ко мне как к участнику? да ради бога. Не нравятся мои ответы? не читайте их. В общем, берегите себя. Нервные клетки не восстанавливаются. |
Сообщ. #6,
|
|
|
Функциональная форма Y(X) применяется только к однозначным функциям.
В данном случае нужны две зависимости как для Y, так и для X от третьего параметра t. Пример - окружность - X=R*Cos(t), Y=R*Sin(t) Как выбирать параметризацию в случае абстрактной кривой - отдельная наука. В качестве первого приближения - номер точки, или длина ломаной линии между точками. |
Сообщ. #7,
|
|
|
MBoСпасибо. Попробую реализовать.
|
![]() |
Сообщ. #8,
|
|
Цитата My4a4os @ Попробую реализовать. Нужен сплайн, проходящий через заданные точки? Вот реализация на VB6 с исходником, может поможет: Прикреплённый файл ![]() |
Сообщ. #9,
|
|
|
MikleСпасибо! Уже изучаю(перевожу на си).
|