2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Помогите разобраться с кубической интерполяцией
Сообщение23.04.2016, 19:04 


15/06/06
41
Задачка такова. Есть набор точек, надо построить интерполирующий сплайн с набором ограничений:

1. В начальной точке задана касательная. Может и не задана.
2. В любой промежуточной точке или нескольких могут быть заданы касательные. Могут и не заданы быть.
3. Длина сплайна минимальна для данного набора контрольных точек. Это условие нужно для приближения поведения сплайна к естественному сплайну или лучше сказать к гибкой рейке, которая послужила основой естественного сплайна.
4. Сплайн в трехмерном пространстве.
5. Первая и вторая производные в стыках непрерывны.

Еще по пути вопрос. Если спроецировать сплайн на две ортогональные плоскости (вид сверху и спереди какие то выберем), то касательные к проекциям будут касательными к кривой, если их суммировать как вектора то получим касательную к сплайну?

Подскажите, где почитать для колхозников понятное описание способа конструирования сплайнов? Алгоритм итоговый будет запихиваться в java программу. Можно просто вольфрамовый способ описания данной задачи, только не готовыми его инструментами, а со всеми матрицами и прочим что бы посмотреть как оно внутри тикает, может разберусь :)


Заранее спасибо.

 Профиль  
                  
 
 Re: Помогите разобраться с кубической интерполяцией
Сообщение23.04.2016, 23:47 


15/06/06
41
Вопрос снят. Сам решил.

 Профиль  
                  
 
 Re: Помогите разобраться с кубической интерполяцией
Сообщение24.04.2016, 01:01 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Интересно, какой сплайн Вы выбрали. Я не специалист, но, навскидку, условие минимальности длины не очень хорошее (и физически неестественное, и математически). А лучше минимизировать что-то вроде энергии изгиба кривой (интеграл от квадрата кривизны по длине).
3DRaven в сообщении #1117739 писал(а):
Если спроецировать сплайн на две ортогональные плоскости (вид сверху и спереди какие то выберем), то касательные к проекциям будут касательными к кривой, если их суммировать как вектора то получим касательную к сплайну?
В эту сторону — нет, а наоборот — да: проекции касательных векторов к кривой будут касательными векторами к проекции кривой.

 Профиль  
                  
 
 Re: Помогите разобраться с кубической интерполяцией
Сообщение24.04.2016, 09:51 


15/06/06
41
Что касается минимизации длины, то я просто обошелся :) В остальном задачка оказалась тривиальной.

За ответ на дополнительный вопрос, большое спасибо.

Да, в качестве основы хватило обычного сплайна Эрмита и естественного сплайна. Плюс еще один сплайн, где на одном конце вторая производная равна 0, а первая производная задана на другом. Не знаю есть ли название у такого сплайна. Вместе их можно стыковать в непрерывную кривую, которая мне вполне подходит. Условия минимизации энергии у естественного сплайна соблюдается, я пока не пришел к выводу, но думаю буду использовать естественный сплайн как основу для вычисления касательных в некоторых точках, а потом эрмит и безымянный сплайн для построения кривой по этим касательным...как то так. Но это если только решу вообще соблюдать условие минимизации.

 Профиль  
                  
 
 Re: Помогите разобраться с кубической интерполяцией
Сообщение24.04.2016, 10:21 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
О, вот это кажется хорошим выбором. Спасибо и Вам за ответ.
3DRaven в сообщении #1117835 писал(а):
Плюс еще один сплайн, где на одном конце вторая производная равна 0, а первая производная задана на другом.
Такие мелочи обычно не влияют на название сплайна, а относятся к граничным условиям, Вы назвали один из типов таких условий.

 Профиль  
                  
 
 Re: Помогите разобраться с кубической интерполяцией
Сообщение24.04.2016, 13:24 
Заслуженный участник


11/05/08
32166
3DRaven в сообщении #1117835 писал(а):
Условия минимизации энергии у естественного сплайна соблюдается,

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

 Профиль  
                  
 
 Re: Помогите разобраться с кубической интерполяцией
Сообщение24.04.2016, 14:56 
Заслуженный участник


09/05/12
25179
ewert в сообщении #1117903 писал(а):
Не знаю, что такое "естественный сплайн", но минимизации энергии отвечает нулевая вторая производная на обоих концах.
Это и есть определение естественного сплайна. :D

 Профиль  
                  
 
 Re: Помогите разобраться с кубической интерполяцией
Сообщение25.04.2016, 13:01 


15/06/06
41
В конечном итоге выплыл на использование полиномов 4 или 5 степени. Зависит от условий. Они могут спокойненько в стыках держать первые две производные непрерывными, имеют возможность задания начальной и конечной касательных для всего сплайна...в общем там достаточно неизвестных что бы хватило на удовлетворение 5 условий, в которые я укладываюсь. То, что мне и надо было. Правда ручками тащить все это чудо в java программу я еще десять раз подумаю. Мне потом еще и точки перегиба искать надо. Просто пока в wolfram на это дело полюбовался и успокоился, жду когда пойму надо ли оно мне :)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Gecko


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group