Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
Каникулы   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.041 c
2-1186316550
hahol
2007-08-05 16:22
2007.08.26
id3teg


9-1155485737
Kav
2006-08-13 20:15
2007.08.26
ODE составная геометрия


15-1185354885
Kerk
2007-07-25 13:14
2007.08.26
Федор Черенков


2-1185830237
_Anton
2007-07-31 01:17
2007.08.26
Узнать полезное пространство


2-1186099361
Riply
2007-08-03 04:02
2007.08.26
RtlDecompressBuffer - использование в цикле.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский