2014 dxdy logo

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

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


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


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2, 3, 4, 5  След.
 
 Составные кривые Безье
Сообщение19.07.2008, 23:33 
Аватара пользователя


20/06/07
179
Пусть имеется составная кривая Безье, составленная из элементарных кривых Безье.
Элементарные кривые Безье строятся в промежутках между так называемыми опорными точками, т.е. как бы "опираются" на них (см. рисунок).
Подскажите, каким образом вычислить значение ординаты Yi у составной кривой Безье, если задать произвольное значение абсциссы Xi, не совпадающее с абсциссами опорных точек, на которых построена составная кривая Безье?
Изображение

 Профиль  
                  
 
 
Сообщение20.07.2008, 20:33 


29/09/06
4552
Полагаю, Ваш вопрос непонятен не мне одному. Что такое кривая Безье --- здесь знают очень многие, можно не объяснять. У Вас уже есть некая составная кривая, определяемая набором точек $A_1B_1C_1A_2B_2C_2A_3\ldots$, где $B_i,C_i$ --- контрольные точки, $A_2$ --- конец первого и начало второго куска. Возможно, имеется в виду гладкое сопряжение.
Вы что-то хотите как-то изменить? Из Вашего текста ничего не понятно, и более того, (мне) не удаётся угадать или предположить, что Вы имели в виду и не смогли ясно выразить (здесь это называют телепатией).

Добавлено спустя 6 минут 10 секунд:

А... понял! Смутило обозначение $Y_i$.Вопрос --- как по известной абсциссе $x$ вычислить ординату $y$? Если так --- почему сразу составные? На простой, одинокой кривой мы это сделать умеем? Кривые именно таковы, что их можно рассматривать как график ф-ции $y(x)$? Ибо, в общем случае эта Ваша поблажка ---
artful7 писал(а):
значение абсциссы Xi, не совпадающее с абсциссами опорных точек, на которых построена составная кривая Безье?
не спасает.

Не, если и понял, то очень мало.

 Профиль  
                  
 
 
Сообщение20.07.2008, 20:42 
Заслуженный участник


11/05/08
32166
Для "составных" кривых Безье гладкое сопряжение, безусловно, предполагается. Т.е. это, собственно, сплайн, но векторнозначный. Для ответа на вопрос нужно знать в первую очередь степень этого сплайна. Но и не только это.

То, что нарисовано у автора, больше всего похоже на обычный сплайн (как скалярная функция $y(x)$). Оговорки -- те же.

 Профиль  
                  
 
 
Сообщение21.07.2008, 20:31 
Аватара пользователя


20/06/07
179
Спасибо за Ваши отзывы на мою тему.
Попытаюсь объяснить, что имелось в виду.
Во-первых, сразу оговорюсь, что степень элементарных кривых Безье - третья (кубические кривые).

Цитата:
Если так --- почему сразу составные?

Выбор составных кривых - неслучаен. Суть в том, что мне требуется параметрически описать
непрерывную и априори неизвестную зависимость значения переменной Y от переменной Х, которая задана множеством точечных значений {Xi,Yi}. Назовем эту зависимость эталонной. Я решил, что из этого набора точек могу сформировать опорный каркас для последующего построения непрерывной кривой, проходящей через все его вершины. Две любые ближайшие друг к другу точки этого опорного каркаса можно рассматривать как основу для построения одной элементарной кубической кривой Безье - назовем ее сегментом. Таким образом, изменяя кривизну (форму) любого сегмента, можно точно подстроиться под исходную эталонную зависимость, почти не влияя на форму рядом стоящих сегментов.
Особенность (и одновременно упрощение проблемы) состоит в том, что исходная эталонная зависимость может не иметь непрерывной производной, т.е. может содержать "изломы" на некоторых участках кривой. Таким образом, обязательного обеспечения гладкости всей кривой не требуется. Но в целом эталонная зависимость обязательно будет непрерывной (НЕ по производной, а просто не будет иметь разрывов на графике).

Теперь поясню основной вопрос задачи.
Когда составная кривая, составленная из элементарных кривых Безье, будет построена и будут определены все параметры ее сегментов, влияющие на ее форму, тогда возникнет необходимость получения значения Y по заданному значению Х. Причем значение Х может не попадать на абсциссы опорного каркаса (и не обязано!). Вот тут и возникает вопрос: как получить значение Y при заданной координате Х ?

 Профиль  
                  
 
 
Сообщение21.07.2008, 20:36 
Заслуженный участник


11/05/08
32166
artful7 писал(а):
зависимость значения переменной Y от переменной Х, которая задана множеством точечных значений {Xi,Yi}.

Тогда вам нужны никакие не кривые Безье, а обычные сплайны. Если же даже и гладкость не нужна, то -- попросту кусочная интерполяция.

 Профиль  
                  
 
 
Сообщение21.07.2008, 20:57 
Аватара пользователя


20/06/07
179
Нет, мне желательно использовать кривые Безье, т.к. они удобнее с конструкторской точки зрения (управляемость) и не зависят от выбора вершин. Кроме того, они основываются на полиномах Бернштейна, которые удобны (и стабильны) в вычислительном плане.
И еще, ведь может возникнуть ситуация, когда между сегментами потребуется обеспечить гладкость С^2.

Добавлено спустя 6 минут 58 секунд:

ewert писал(а):
То, что нарисовано у автора, больше всего похоже на обычный сплайн
Просто так совпало.

 Профиль  
                  
 
 
Сообщение21.07.2008, 21:00 
Заслуженный участник


11/05/08
32166
artful7 писал(а):
Нет, мне желательно использовать кривые Безье, т.к. они удобнее с конструкторской точки зрения (управляемость).

Но тут проблема: в кривых Безье иксы и игреки равноправны. В то время как Вас интересует зависимость именно игреков от иксов. Кривые Безье такую ситуацию обслужить не могут, т.к. ни в коей мере не обеспечивают однозначность зависимости $y(x)$. Это уж даже не говоря о том, что они сложнее.

Что касается Бернштейна -- это некоторая аберрация. Описывать можно какими угодно многочленами, результаты будут эквивалентны. Многочлены Бернштейна эффективны лишь вычислительно и лишь при очень высоких степенях (да и то с очень большими оговорками). У вас же, как Вы говорите -- степень всего-навсего третья.

 Профиль  
                  
 
 
Сообщение21.07.2008, 21:07 
Аватара пользователя


20/06/07
179
Цитата:
Но тут проблема: в кривых Безье иксы и игреки равноправны
Понимаю.

Добавлено спустя 2 минуты 36 секунд:

ewert писал(а):
т.к. ни в коей мере не обеспечивают однозначность зависимости $y(x)$. Это уж даже не говоря о том, что они сложнее.
Почему? При одной координате $x$ разве мы получим интервальное значение $y(x)$???

 Профиль  
                  
 
 
Сообщение21.07.2008, 21:18 
Заслуженный участник


11/05/08
32166
Я не знаю, что такое интервальное значение. Но: при произвольном расположении точек на плоскости абсолютно не гарантировано, что полученная кривая будет описывать однозначную зависимость $y$ от $x$. Т.е. что каждому иксу будет отвечать только один игрек. Ну, если угодно: что каждая вертикальная прямая будет пересекать эту кривую только один раз. Это совершенно не гарантировано.

 Профиль  
                  
 
 
Сообщение21.07.2008, 21:26 
Аватара пользователя


20/06/07
179
ewert писал(а):
Ну, если угодно: что каждая вертикальная прямая будет пересекать эту кривую только один раз. Это совершенно не гарантировано.

Ну, я понял, понял. Т.е могут образовываться "петли" или "загибы" при определенных положениях точек опорного каркаса. Я опустил важный момент - координаты точек Xi из множества {Xi,Yi} образуют упорядоченную возрастающую последовательность. Это совсем другое дело.

 Профиль  
                  
 
 
Сообщение21.07.2008, 21:41 
Заслуженный участник


11/05/08
32166
artful7 писал(а):
Я опустил важный момент - координаты точек Xi из множества {Xi,Yi} образуют упорядоченную возрастающую последовательность. Это совсем другое дело.

Это совсем никакого значения не имеет. Представьте себе, например, два икса, которые хоть расположены в правильном порядке, но очень близки друг к другу. А соотв. игреки -- нет. Ну и как Вы избежите "загибов"?

 Профиль  
                  
 
 
Сообщение21.07.2008, 22:01 
Аватара пользователя


20/06/07
179
А "математически" можно наложить ограничения на кривую или ее параметры, чтобы не образовывались такие неоднозначности?

 Профиль  
                  
 
 
Сообщение21.07.2008, 22:04 
Заслуженный участник


11/05/08
32166
не знаю и, честно говоря, знать не хочу. Просто надо выбирать модель, адекватную задаче. Кривые Безье в данной задаче -- неадекватны.

 Профиль  
                  
 
 
Сообщение21.07.2008, 22:16 


29/09/06
4552
Отвечаю (в силу обстоятельств) скупо.
ewert писал(а):
Тогда вам нужны никакие не кривые Безье, а обычные сплайны. Если же даже и гладкость не нужна, то -- попросту кусочная интерполяция.

Обычные (кубические) сплайны всё равно будут состоять из (кубических) кривых Безье. И условие, что $y$ и $x$ "неравноправны" будет, видимо, автоматически выполнено по построению сплайна.
При других построениях навязать условие, что кривая есть график однозначной функции несложно, например, потребовав $x'_t\ge 0$ (или $x'_t>0$). (Активно поучаствовать в беседе сегодня вряд ли смогу.)

 Профиль  
                  
 
 
Сообщение21.07.2008, 22:22 
Заслуженный участник


11/05/08
32166
Алексей К. писал(а):
Обычные (кубические) сплайны всё равно будут состоять из (кубических) кривых Безье. И условие, что $y$ и $x$ "неравноправны" будет, видимо, автоматически выполнено по построению сплайна.

Это неверно. Если строить обычный сплайн, то однозначность обеспечивается просто по определению.

Знаки производных тут вообще не при чём.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 66 ]  На страницу 1, 2, 3, 4, 5  След.

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



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

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


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

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