|
0 / 0 / 0
Регистрация: 04.06.2017
Сообщений: 17
|
|
Интерполяция кубическим сплайном с заданными тангенсами на краях27.04.2025, 22:13. Показов 2523. Ответов 21
Приветствую всех.
Решаю задачу по нахождению узлов Б-сплайна. Сплайн задаётся в параметрической форме. Вначале я просто строю сплайн по четырём узловым точкам. То есть, данное уравнение и позволяет мне получить точки на сплайне. ( рис-1) А дальше задача. Задача в общем то обратная: зная набор точек сплайна, определить узловые точки, чтобы восстановить данное уравнение. Очевидно, что крайние узлы (p0, p3 ), совпадают с точками сплайна. Так что требуется найти узлы (p1 и p2). Для решения задачи я беру две произвольные точки на сплайне, и для каждой из них я записываю своё уравнение: т.е. получаем два уравнения и два неизвестных. Решаю, получаю координаты узловых точек p1, p2. Но! - они сильно не совпадают с изначальными узлами, хоть, действительно и проходят через выбранные две точки на оригинальном сплайне.(Рис-2) Это в общем то не удивительно, т.к. через четыре точки можно провести бесконечное число кривых..но мне нужно получить именно кривую максимально похожую на оригинальный сплайн. Очевидно, что нужный вид могут помочь принять касательные в начальных точках. Они зададут правильную кривизну. Дальше я рассуждаю так. У меня сплайн n=3 степени и n+1 узлов, т.е. это безье-кривая. Для неё известно, что тангенс начальной/конечной совпадает с линией между текущей и следующей узловой точкой. получается такая зависимость: p1=p0+h*t0 p2=p3+k*t3, где t0, t3 - это известные мне тангенсы на краях кривой, а h,k - неизвестные коэффициенты, нахождение которых, собственно и даст искомые узлы. И вот дольше я увяз. Если просто подставить эти линейные зависимости в основные функции, то вроде бы тоде получается система два уравнения и два неизвестных - но в итоге получается формула, где коэффициент h - зависит от значений p0, 03, t0, t3 - которые имеют как минимум две координаты х,у - и по х,у - расчеты дают разные значения. Тогда я попробовал параметрически уравнения сразу переписать в привязке к координатам, т.е. примерно так: - но тогда у меня для первой точки на сплайне уже получается два уравнения, а неизвестных остаётся два - всё те же коэффициенты. Выходит - я могу получить результат используя только одну точку на сплайне! И действительно, я решаю систему и получаю ответы. -Когда я получаю ответы по первой точке - я радуюсь - ибо кривая почти соответствует изначальному сплайну. (рис-3) Но ответы по второй точке разочаровывают. Получается сплайн, который проходит через точку эту вторую точку - но он моло того что не проходит через первую - по начинается в обратную сторону и формирует петлю.(рис-4) В общем мне кажется я хожу вокруг да около ответа, но не вижу где ошибаюсь. Если кто то сталкивался с подобной задачей, прощу помощи.
0
|
|
| 27.04.2025, 22:13 | |
|
Ответы с готовыми решениями:
21
Интерполяция кубическим сплайном Ошибка при интерполяции кубическим сплайном В чем разница между обычным одномерным сплайном и в-сплайном |
|
2924 / 1954 / 215
Регистрация: 05.06.2011
Сообщений: 5,794
|
|||
| 03.05.2025, 15:31 | |||
|
Добавлено через 1 минуту
1
|
|||
|
2481 / 1631 / 745
Регистрация: 17.03.2022
Сообщений: 5,331
|
|
| 03.05.2025, 15:41 | |
|
1
|
|
| 03.05.2025, 15:41 | |
|
Неопределенный интеграл с ГУ на краях Сплайн интерполяция(кубические сплайны) Сплайны Безье и В-сплайны Кубические сплайны в специальной форме Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|