сплайн

Сообщение №456 от Игорь 04 августа 2001 г. 21:32
Тема: сплайн

Как построить сплайн по заданным точкам (кривой) ?


Отклики на это сообщение:

> Как построить сплайн по заданным точкам (кривой) ?

www.google.com
"spline interpolation" - 34,700 hits


> > Как построить сплайн по заданным точкам (кривой) ?

> www.google.com
> "spline interpolation" - 34,700 hits

>> Плохо понимаю по английски


> > > Как построить сплайн по заданным точкам (кривой) ?

> > www.google.com
> > "spline interpolation" - 34,700 hits

> >> Плохо понимаю по английски

Надо учить

http://www.riis.ru/PS/vvm/theme_9/theory.html


> > > > Как построить сплайн по заданным точкам (кривой) ?

> > > www.google.com
> > > "spline interpolation" - 34,700 hits

> > >> Плохо понимаю по английски

> Надо учить

> http://www.riis.ru/PS/vvm/theme_9/theory.html

посмотрел также там
http://www.riis.ru/PS/vvm/theme_9/example.html
во первых там одна ошибка есть :
b1=b2, a b1=-2 b2=4
во вторых сколько не решал систему ничего не получись
может кто знает готовую ФОРМУЛУ !
в третьих как быть с большим количеством точек ?



А в чем проблема-то? Пишешь в общем виде кусок интерполирующей кривой той степени, которая нужна, входящие в уравнение этого куска постоянные находишь из условий сшивания в заданных точках вместе с производными до соответствующего порядка. Формулы получаются довольно длинные, но смысл совершенно простой. Потом, если не ощибаюсь, должно быть немерянное количество готовых пакетов (мож, в том же маткаде?).
Кстати, когда один мой однокурсник работал над дипломной задачей (что-то там статистическое про распределение магнонов), он попробовал свои точки проинтерполировать сплайном.. Увиденная картина до того его потрясла, что он зарекся когда-нибудь еще эти сплайны использовать..

ЗЫ А, кстати, кто-нибудь знает, есть ли какое-то обобщение сплайнов на функции 2 и более переменных, и если есть, то как оно устроено?


Дело в том что я полный дуб в математике.Подставить данные (координаты точек) в формулу я еще смогу но больше...!


> ЗЫ А, кстати, кто-нибудь знает, есть ли какое-то обобщение сплайнов на функции 2 и более переменных, и если есть, то как оно устроено?

Точно ответить не могу, но лет 10 назад знал одного чудака, который занимался "интерлинацией"(термин его), т.е. линейной многомерной интерполяцией. В терминах сплайнов это самый низкий порядок. Если учесть, что он на этом деле защитился, то , видимо, эта тематика очень слабо развита.


> > ЗЫ А, кстати, кто-нибудь знает, есть ли какое-то обобщение сплайнов на функции 2 и более переменных, и если есть, то как оно устроено?

> Точно ответить не могу, но лет 10 назад знал одного чудака, который занимался "интерлинацией"(термин его), т.е. линейной многомерной интерполяцией. В терминах сплайнов это самый низкий порядок. Если учесть, что он на этом деле защитился, то , видимо, эта тематика очень слабо развита.

Например, B сплайны для плоскости, как произведения одномерных B сплайнов -
используются для решения бигармонического уравнения.

В общем случае необходимо знать степень гладкости решения и
использовать соответствующий сплайн. Т.е сплайн получается из
условий задачи, а не из-за желания "сделать красиво"


> Дело в том что я полный дуб в математике.Подставить данные (координаты точек) в формулу я еще смогу но больше...!

...использовать готовые пакеты. Вот например цитата из справки к Математике 4.0:
Graphics`Spline`
This package takes the functions from NumericalMath`SplineFit` and adapts them to a graphics primitive. Currently, three types of splines are supported: Cubic, Bezier, and CompositeBezier. See the documentation for the NumericalMath`SplineFit` package for more information about the various types of splines.
Думаю, что таких пакетов полно.


Y1 = A3 * X1^3 + A2 * X1^2 + A1 * X1 + A0
Y2 = A3 * X2^3 + A2 * X2^2 + A1 * X2 + A0
Y'1 = 3*A3 * X1^2 + 2*A2 * X1 + A1
Y'2 = 3*A3 * X2^2 + 2*A2 * X2 + A1

Как найти A3,A2,A1,A0 ?


Я только заменил Y'1 и Y'2 на Z1 и Z2 соответственно, а то математика ' не так понимает..


Слушай клянусь забыл Y'1 и Y'2 тоже как-то вычислить надо вместе с A3,A2,A1,A0.
Если есть желание пришли сразу туда bred24@rambler.ru

Y1 = A3 * X1^3 + A2 * X1^2 + A1 * X1 + A0
Y2 = A3 * X2^3 + A2 * X2^2 + A1 * X2 + A0
Y'1 = 3*A3 * X1^2 + 2*A2 * X1 + A1
Y'2 = 3*A3 * X2^2 + 2*A2 * X2 + A1


> Слушай клянусь забыл Y'1 и Y'2 тоже как-то вычислить надо вместе с A3,A2,A1,A0.
> Если есть желание пришли сразу туда bred24@rambler.ru

> Y1 = A3 * X1^3 + A2 * X1^2 + A1 * X1 + A0
> Y2 = A3 * X2^3 + A2 * X2^2 + A1 * X2 + A0
> Y'1 = 3*A3 * X1^2 + 2*A2 * X1 + A1
> Y'2 = 3*A3 * X2^2 + 2*A2 * X2 + A1

Тогда система недоопределенная. Приравнивай Y'1,Y'2 чему угодно, а A3,A2,A1,A0 - из формул в предыдущем сообщении.

ЗЫ Слушай, если у тебя ТАКАЯ система вызывает трудности, на фига тебе нужны сплайны?


Научусь.Одни b-сплайны я уже начертил.


Сообщение от Denis , 31 января 2003 г. 01:46:

Я как-то читал одну очень умную книжку по сплайн-функциям. Там рассказывалось, как задать функцию, которая совпадет со стальной линейкой, если ее закрепить в указанных точках. Там даже жесткость линейки фигурировала. Но то ли книжка была слишком умная, то ли я совсем отупел, но так особо из нее я ничего не понял. Может скажет кто мне как ее задать, скажем, при таких условиях:
{Xi,F(Xi)} i=1...n - конечная последовательность значений F(x). Как в соответствии с вышеописанным найти F(x)? Заранее спасибо =)


Физика в анимациях - Купить диск - Тесты по физике - Графики on-line

Реклама:
Rambler's Top100