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
10908
Crna Gora
Интересно, какой сплайн Вы выбрали. Я не специалист, но, навскидку, условие минимальности длины не очень хорошее (и физически неестественное, и математически). А лучше минимизировать что-то вроде энергии изгиба кривой (интеграл от квадрата кривизны по длине).
3DRaven в сообщении #1117739 писал(а):
Если спроецировать сплайн на две ортогональные плоскости (вид сверху и спереди какие то выберем), то касательные к проекциям будут касательными к кривой, если их суммировать как вектора то получим касательную к сплайну?
В эту сторону — нет, а наоборот — да: проекции касательных векторов к кривой будут касательными векторами к проекции кривой.

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


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

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

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

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


23/07/08
10908
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 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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