Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

Кто может объяснить кубические сплайны словами?   Найти похожие ветки 

 
Каникулы   (2007-07-22 02:52) [0]

Вот описание: http://mathworld.wolfram.com/CubicSpline.html
У нас пять точек, мы их плавно соединяем линией.

Кто может объяснить как из конкретных пяти точек вычисляются промежуточные точки, и почему именно так?


 
Однокамушкин   (2007-07-22 07:03) [1]

Всё очень просто: на каждом участке между парой последовательных точек функция задаётся многочленом третьей степени... Если у нас N точек, то таких многочленов будет N-1, в каждом по 4 неизвестных коэффициента, т.е. всего 4*(N-1) неизвестных... Во-первых, записываем условия, что на концах отрезков значения полиномиальных функций должны совпадать с заданными точками - это даёт нам 2*(N-1) уравнений... Потом записываем условия, что во всех точках, где сходятся два полинома, должны совпадать их первая и вторая производные... Таких точек N-2 (исключаются концевые), это даёт нам ещё 2*(N-2) уравнений, т.е. всего их будет 4*(N-1)-2... Оставшиеся два уравнения выбираем из условия, что вторая производная в самой левой и в самой правой точках равна нулю - получаем систему 4*(N-1) линейных уравнений с 4*(N-1) неизвестными, которую надо решить... Матрица этой системы будет трёхдиагональной, т.е. числа, отличные от 0, будут стоять только на главной диагонали и на соседних с ней диагональных линиях... Для таких систем существуют специальные методы решения, которые и дают коэффициенты многочленов


 
Каникулы   (2007-07-23 03:43) [2]


> Однокамушкин   (22.07.07 07:03) [1]


К сожалению, если человеку дали пять точек, то по такому объяснению он не сможет ничего построить.


 
Zeqfreed ©   (2007-07-23 07:22) [3]

Могу только подсказать, как построить кривую Безье по данным точкам.
На википедии все подробно в картинках расписано: http://en.wikipedia.org/wiki/Bézier_curve
У меня ушло где-то 10-15 минут, чтобы вывести через OpenGL кривую через четыре точки :)


 
Каникулы   (2007-07-23 07:46) [4]


> Zeqfreed ©   (23.07.07 07:22) [3]
>
> Могу только подсказать, как построить кривую Безье по данным
> точкам.
> На википедии все подробно в картинках расписано: http://en.
> wikipedia.org/wiki/Bézier_curve


А ты вообще не можешь отличить кубичиские сплайны от сплайнов Безье.
Позор!


 
Однокамушкин   (2007-07-23 08:25) [5]


> Каникулы   (23.07.07 03:43) [2]
> К сожалению, если человеку дали пять точек, то по такому
> объяснению он не сможет ничего построить.

От человека зависит... первый человек, который построил сплайн, вообще не имел даже такого объяснения - и ничего, справился... А вообще, найти информацию по сплайнам через яндекс - делать нечего, остаётся только удивляться, почему вы этого до сих пор не сделали...


 
Каникулы   (2007-08-01 01:20) [6]

Вот видишь объяснение?


> http://en.wikipedia.org/wiki/Bézier_curve


Картинки посмотрел и всё ясно. А ты, если нарисовать не можешь, то и сам не понимаешь того, что объясняешь.


 
Zeqfreed ©   (2007-08-01 01:28) [7]

> Каникулы

Феерически. Пора заканчивать каникулы.


 
Однокамушкин   (2007-08-01 09:02) [8]


> Каникулы   (01.08.07 01:20) [6]
> А ты, если нарисовать не
> можешь, то и сам не понимаешь того, что объясняешь.

Мог бы и нарисовать, просто возиться лень... По крайней мере, когда я сдавал сплайны в институте, у преподов не было сомнений, что я всё понял... А вот у тебя явно не хватило мозгов даже на то, чтобы понять, что сплайны и кривые Безье - это совершенно разные вещи...



Страницы: 1 вся ветка

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1186124889
dimaL
2007-08-03 11:08
2007.08.26
Закрытие дочерней формы


15-1185806075
DillerXX
2007-07-30 18:34
2007.08.26
Я может слишком жалостлив к людям, но...


15-1185521017
Knight
2007-07-27 11:23
2007.08.26
Книгу бы... по, не совсем основам, сети, но для чайника...


2-1185952855
denis24
2007-08-01 11:20
2007.08.26
postmessage на получение фокуса окном


15-1185719110
ProgRAMmer Dimonych
2007-07-29 18:25
2007.08.26
PHP+MySQL и SQL-Injection