Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #21  
Старый 10.01.2010, 12:25
Новичок

Отправить личное сообщение для Polza Посмотреть профиль Найти все сообщения от Polza
 
Регистрация: 09.01.2010
Адрес: Санкт-Петербург
Сообщений: 23

всё,поняла про составляющие.

а вы писали раньше в начале переписки "да, радиус кривизны зависит от параметра, но определить его при известных контрольных точках не проблема (хотя выражение и развесистое)" - что вы имели ввиду под этим?"его"-это вы говорили о радиусе или о параметре?
  #22  
Старый 10.01.2010, 12:35
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

о радиусе. Это было в ответ на
>сейчас я столкнулась с проблемой как определить радиус кривизны в любой точке кривой Безье, ведь он зависит от параметра t



собственно, нахождение кривизны - прямая задача, т.е. по известной кривой найти некие ее вторичные характеристики

А Вам в конечном счете, как я понимаю, нужна обратная задача - известна часть описания кривой (конечные точки) и несколько вторичных характеристик, задача в доопределении кривой (управл. точки)
  #23  
Старый 10.01.2010, 12:46
Новичок

Отправить личное сообщение для Polza Посмотреть профиль Найти все сообщения от Polza
 
Регистрация: 09.01.2010
Адрес: Санкт-Петербург
Сообщений: 23

Да,именно обратная задача,а я даже ума не приложу какую систему уравнений надо составить для решения ее
  #24  
Старый 10.01.2010, 13:38
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

> я даже ума не приложу какую систему уравнений надо составить
Это потому что не хватает данных.
Пример обратной задачи с достаточным количеством условий:
Даны конечные точки кривой, и координаты точек A и B, лежащих на кривой при параметрах t=0.25 и t = 0.75. Найти управляющие точки.
Составляется 4 уравнения типа
Ax = P0x*(1-0.25)^3 + 3*P1x*0.25*(1-0.25)^2 + 3 * P2x*0.25^2*(1-0.25)+P3x*0.25^3
и из данной системы (линейных в данном случае) уравнений ищутся неизвестные P1x, P1y, P2x, P2y
  #25  
Старый 10.01.2010, 14:40
Новичок

Отправить личное сообщение для Polza Посмотреть профиль Найти все сообщения от Polza
 
Регистрация: 09.01.2010
Адрес: Санкт-Петербург
Сообщений: 23

Правильно ли я поняла, что в моем случае постановки задачи (2 опорные точки+радиус) задача не решаема,так как не хватает условий.Допустим если рассматривать для координат х,то получим 2 уравнения для t=0 и t=1+1 уравнение радиуса кривизны,и в каждом из уравнений будет по два неизвестных P1x и P2x.Итого получается,что в з-х уравнениях будет 4 неизвестных,что не решаемо.
А вы предлагаете вариант - задать по 4 уравнения (при t=0,0.25,0.75,1) для координаты x (Ax) и y (например,By).ТО есь получим 2 системы по 4 уравнения,и в каждой ситеме на 4 уравнения будет по 2 неизвестных(P1x,P2x,P1y,P2y).И методом замены тогда можно решить эти уравнения и найти координаты управляющих точек. Верно?
  #26  
Старый 10.01.2010, 14:44
Новичок

Отправить личное сообщение для Polza Посмотреть профиль Найти все сообщения от Polza
 
Регистрация: 09.01.2010
Адрес: Санкт-Петербург
Сообщений: 23

в строчке "для t=0 и t=1+1" ошиблась, должно быть "для t=0 и t=1"
  #27  
Старый 10.01.2010, 15:30
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

Я другую задачу описал, просто как имеющую корректные исходные данные, без кривизны.

В вашей задаче можно было бы задавать кривизну при 4-х разных значениях параметра t (например, 0, 1/3, 2/3, 1), тогда система в принципе может иметь решение.
  #28  
Старый 10.01.2010, 15:37
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

да, вот еще - откуда взята ваша исходная задача?
может быть, все-таки еще какие-то условия есть, а мы тут воду в ступе толчем...
  #29  
Старый 10.01.2010, 15:45
Новичок

Отправить личное сообщение для Polza Посмотреть профиль Найти все сообщения от Polza
 
Регистрация: 09.01.2010
Адрес: Санкт-Петербург
Сообщений: 23

Сейчас попробую прикинуть систему.А почему значения t разбиты именно на 0,1/3,2/3,1,а не как в предыдущей задаче?или просто для примера?

Задача поставлена руководителем из организации,которая занимается проектирование автомобильных дорог.В их системе по заданным точкам строится линия дороги(с помощью кривой безье) и нужный радиус кривизны редактируется вручную с помощью "ручек".А они хотели бы,чтобы можно было задвать только опорные точки и радиус,а программа сама бы прорисовала линию дороги с заданным радиусом еще с учетом нормативных радиусов,т.е.есть лимит на значения минимального и максимального радиуса.
  #30  
Старый 10.01.2010, 17:11
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

>или просто для примера?
Да

>т.е.есть лимит на значения минимального и максимального радиуса.
Ага, теперь более понятно стало.
В данном случае, как я понимаю, есть прямые отрезки, которые нужно сочленять при помощи дуг (не дуг окружностей). Тогда есть естественные ограничения - заданы направления направляющих векторов в начальных и конечных точках, чтобы не было излома. На железной дороге, чтобы не было резкого изменения кривизны, используются специальные кривые - если не ошибаюсь, локсодромы.
Если прямых нет, то все равно отдельные кривые должны гладко сочленяться - согласовываться по первой, а лучше по второй производной. Со второй производной - это будут кубические сплайны, но для интерполяционных ограничение кривизны уже не ввести, а вот для сглаживающих сплайнов - можно (собственно, при их построении минимизируется кривизна), но они не будут проходить через заданные точки. Так что стоит посмотреть еще в сторону сплайнов - какие здесь подойдут. Возможно, с гладкостью первого порядка - Кэтмул-Рома и т.п. устроят. А после расчета сплайнов их можно перевести в форму кривых Безье (смена базиса)

Последний раз редактировалось MBo, 10.01.2010 в 17:14.
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поверхности Безье Sergios Математические алгоритмы 0 18.06.2009 16:17
Рунге-Кутт 4-го порядка на фортране 77 Рунге Математические алгоритмы (другое) 1 11.03.2008 17:20
Кривые Безье Яков Обработка изображений, звук, графика 1 04.01.2008 11:31
Поиск кривой Безье второго порядка AlDev Вычислительная геометрия 8 15.08.2007 00:46
уравнение 5го порядка Svet Математические алгоритмы 5 08.06.2007 18:19