2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Кубический сплайн
Сообщение20.07.2017, 13:03 


16/06/17
4
Здравствуйте.

Есть книга "Роджерс Д., Адамс Дж. Математические основы машинной графики. М.: Мир, 2001. 604 с.", ссылка на электронный вид http://sernam.ru/book_mm3d.php .
В 5-ой главе, раздел кубические сплайны описан метод построения сегментов сплайна.
Конечная формула для сегмента выглядит следующим образом:
$P(t)=P_1+P'_1 t+\frac{3 (P_2-P_1)}{t_2^2}-\frac{2 P'_1}{t_2}-\frac{P'_2}{t_2} t^2+\frac{2 (P_1-P_2)}{t_2^3}-\frac{P'_1}{t_2^2}-\frac{P'_2}{t_2^2} t^3$

Не понятно с касательными: они берутся произвольно или находим? Если находим , тогда как?

 Профиль  
                  
 
 Re: Кубический сплайн
Сообщение20.07.2017, 18:46 
Заслуженный участник
Аватара пользователя


01/08/06
3139
Уфа
В данной задаче касательные $P'_1$ и $P'_2$ заданы в условии.
Находим мы вектора-коэффициенты сплайна при степенях $t$.

-- Чт июл 20, 2017 20:49:27 --

Кстати, нужно ещё скобки поставить:
$$P(t)=P_1+P'_1 t+\left(\frac{3 (P_2-P_1)}{t_2^2}-\frac{2 P'_1}{t_2}-\frac{P'_2}{t_2}\right) t^2+\left(\frac{2 (P_1-P_2)}{t_2^3}-\frac{P'_1}{t_2^2}-\frac{P'_2}{t_2^2}\right) t^3$$

 Профиль  
                  
 
 Re: Кубический сплайн
Сообщение20.07.2017, 21:46 


16/06/17
4
Как их задали?
$P_1, P_2$ известны, t изменяется от 0 до 1 (допустим). А вот $P'_1, P'_2$ откуда берутся? Произвольно?

 Профиль  
                  
 
 Re: Кубический сплайн
Сообщение21.07.2017, 10:32 
Заслуженный участник
Аватара пользователя


01/08/06
3139
Уфа
Да, $P'_1$ и $P'_2$ задаются произвольно как нам надо.

$P_1$ и $P_2$ — это точки в пространстве (например, $P_1=(0,0,0)$ и $P_2=(1,1,1)$), которые мы хотим соединить плавной линией. Они задаются произвольно.
$P'_1$ и $P'_2$ — это направления, или, если хотите, векторы, начинающиеся в точках $P_1$ и $P_2$ соответственно. Например, можно задать $P'_1=(1,1,1)$ и $P'_2=(-1,-1,-1)$. В данном случае это будет означать, что из точки $P_1$ наша линия выстрелилась прямиком в направлении $P_2$, и в $P_2$ она попала прямиком с направления $P_1$. Это приведёт к тому, что сплайн будет отрезком $P_1P_2$ (по формуле не считал, но уверен в этом). Но можно задать наоборот, $P'_1=(-1,-1,-1)$ и $P'_2=(1,1,1)$. Это значит, что линия из $P_1$ выйдет в направлении, противоположном $P_2$, потом изогнётся, сделает какую-то петлю и придёт в $P_2$ с направления, противоположного $P_1$. Ну и вообще любые направления $P'_1$, $P'_2$ можно задать, кроме нулевого. Нулевой вектор не задаёт направления.

 Профиль  
                  
 
 Re: Кубический сплайн
Сообщение21.07.2017, 15:49 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
AMOH
Хорошо, если Вам приходилось работать с программами векторной графики типа CorelDraw или Adobe Illustrator. В них Вы можете нарисовать сегмент сплайна на плоскости, задавая вручную как раз $P_1, P_2, P'_1, P'_2$ (только они там так не называются; подписи мои). Сегмент в процессе редактирования выглядит примерно так (левая картинка):
Изображение
Голубые квадратики — опорные точки $P_1, P_2$, задают начало и конец кривой. Но, кроме опорных точек, есть ещё «рычажки» (красные квадратики), от их положения зависит форма кривой. Векторы с началом в голубом квадратике и концом в красном (пунктир) — это $P'_1$ и $P'_2$ (точнее, $-P'_2$).

Для примера: я подвёл мышку к красному квадратику (конец вектора $P'_1$) и из положения на левой картинке перетянул его в положение на правой картинке. Сразу изменилась форма кривой.

Имеет значение не только направление векторов $P'_1, P'_2$, но и длина: от длины зависит, насколько кривая стремится «прилипнуть» к касательной или, наоборот, оторваться от неё.

 Профиль  
                  
 
 Re: Кубический сплайн
Сообщение21.07.2017, 17:35 
Заслуженный участник


27/04/09
28128
В той книге, кстати, и про Безье есть, и про B-сплайны, и всё это в том же разделе, но дальше по тексту.

 Профиль  
                  
 
 Re: Кубический сплайн
Сообщение23.07.2017, 21:51 


16/06/17
4
worm2, svv
Спасибо!

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

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



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

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


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

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