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
3057
Уфа
В данной задаче касательные $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
3057
Уфа
Да, $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
10688
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 ] 

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



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

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


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

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