PDA

Просмотр полной версии : Построение сплайна кривой Безье



Excalibur921
13.01.2014, 14:53
Во всех источниках даны формулы только для отрезков Безье...и ниодной формулы для стыковки отрезков в сплайн

Есть ли формула для связывания углами точек управления первого сплайна и второго?

...можно измерять углы и т.д.
но это уже программа будет а нет ли готовой формулы не изобретать же сплайн Безье ? ( а в 3д придется мерять тета и фи и радиус .. для сферических координат не удобно будет)

вот создал два отрезка Безье ( кривая второй степени) на с++ и OpenGL
без стыковки получается так ScreenShot00478.jpg
а должно быть так ScreenShot00479.jpg

somewhere
14.01.2014, 14:22
По моему на википедии все отлично описано, даны все формулы и даже общий случай в матричном виде для кривых 4-ой степени. Для 3Д по идее, то же самое, только дополнительный вектор появится.

Excalibur921
14.01.2014, 16:41
По моему на википедии все отлично описано, даны все формулы и даже общий случай в матричном виде для кривых 4-ой степени. Для 3Д по идее, то же самое, только дополнительный вектор появится.
отлично описано для математиков..
я в гугле ввел в поиск..
есть формула и 4 кординаты вершин..ввел работает

там только формулы для кривых безье но не для связи для получения сплайна безье
с угловой связью контрольных точек..
весь интернет только кривые безье но не формулы связи..
есть 5 типов связи как я понял для двух отрезков даже для кривой второй степени:
1)управляющие точки не связаны ( примитивно и не гладко )
2) управлющие сязаны по углу зеркально и радиусу( как я создал внизу анимация два квадратичных отрезка)
3)управляющие связаны по углу но не по радиусу ( в 3д это придется счиать сферическую систему кординат для каждой точки...)
4)связаны по углу и радиусу через масштаб
5) можно отключать как хочеш и изенять связи...

Я создал но примитвно с отзеркаливание кординат управляющих точек а хотелось бы незаивисимые радиусы управляющ точек но с угловой свзяью ( так удобней и гладко)
вот на анимации внизу два отрезка Безье соеденены контрольными точками
http://www.picshare.ru/uploads/140114/6ezHJq12y7.gif (http://www.picshare.ru/view/3663372/)

Excalibur921
14.01.2014, 17:55
По моему на википедии все отлично описано, даны все формулы и даже общий случай в матричном виде для кривых 4-ой степени. Для 3Д по идее, то же самое, только дополнительный вектор появится.
Просто там для математика..
А мне нужны формулы подставляешь и решаешь. В гугле вбил кривые Безье есть формула есть 4 числа ввел работает..

somewhere
15.01.2014, 12:23
То есть проблема решена?

Excalibur921
15.01.2014, 16:19
То есть проблема решена?
Нет не решена.Повсюду голая математика без фомул связи угловых точек, во многих источниках только создают отрезок Безье но не сплайн ( т.е состоящий из многих отрезков).Для себя я определили что есть 4 типа связи между контрольными точками и это даже для квадратичной кривой:
1)Нет связи(самый простой пример но не всегда гладкий и не удобный в работе)
Пример http://www.picshare.ru/view/3703230/

2)Связь зеркальная и угловая точки лежат на прямой через точку пример инструмент перо Photoshop CS или 3D Studio max
( как в моей анимации снизу 2 квадратичных отрезка соединены в сплайн сам придумал формулу)
http://www.picshare.ru/view/3703256/

3)Связь зеркальная угловая с индивидуальным радиусом каждой управляющей точки ( то что я хочу , удобная и гладкая но нет формул… а в 3D придется переходить к сферической системе координат неудобно в этом и проблема, все будет в 3д)
http://www.picshare.ru/view/3703257/
4)индивидуальные интерактивные настройки связи...очень гибко но избыточно( не все крутые редакторы знают этот метод)

Немогу добавить ссылку на анимацию..сообщение исчезает=( а если добавить как вложение то не работает GIF анимация которую я создал...

Naeel Maqsudov
22.01.2014, 01:57
Excalibur921, создайте сообщение со ссылками (или отредактируйте #6). Оно "исчезнет" как неодобренное, я его одобрю, и оно появится.

Это премодерация внешних ссылок.