Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сглаживание кривых 
:(
    Опции темы
podval
Дата 13.5.2002, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



А почему по Паскалю? Тут разговор шел за алгоритм. Может обсудим в соотв. разделе насчет ФАКа по алгоритмам?
PM WWW ICQ   Вверх
Vit
Дата 13.5.2002, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Цитата(podval @ 13.5.2002, 06:28)
А почему по Паскалю? Тут разговор шел за алгоритм. Может обсудим в соотв. разделе насчет ФАКа по алгоритмам?

Нет FAQ по алгоритмам, и в ближайшее время не будет, раздел не очень популярный - только 16 сообщений, пока не из чего FAQ делать. Если тебя так волнует куда, ну можно в дополнение положить и в FAQ по С++.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
podval
Дата 13.5.2002, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата(Vit @ 13.5.2002, 16:00)
Если тебя так волнует куда, ну можно в дополнение положить и в FAQ по С++.

А черт его знает! Тут как в песне: "Жираф большой - ему видней" :)
PM WWW ICQ   Вверх
val
Дата 23.11.2004, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Мне кажется, что помогут специальные алгоритмы для рисования линий: смотреть по этой ссылке http://www.lasource.r2.ru/sources/graphics.html
Добавлено @ 13:07
Эти алгоритмы сглаживают неровности при рисовании простых линий. Так и аппроксимируй кривые пользователя маленькими, но красивыми прямыми... smile

Это сообщение отредактировал(а) val - 23.11.2004, 13:03


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
agens
Дата 26.5.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.5.2007

Репутация: нет
Всего: нет



Не знаю, чем тогда кончилось. 
В идеале, наверное, нужно было бы не всю траекторию апроксимировать кривой, но пытаться определить участки, приближающиеся к прямой достаточно хорошо, и заменять их именно прямыми. 
И - определять углы - если пользователь меняет направление движения курсора очень резко..  

PM MAIL   Вверх
Isaev
Дата 1.4.2013, 03:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 8.11.2007
Где: Germany

Репутация: нет
Всего: нет



Тоже столкнулся с данной проблемой.

в моём случае график всегда более менее равномерный без резких скачков, заданый 4-7 точками, т.к. точек мало получается жёсткая ломаная... Нужно его отобразить не ломаной, а чем-то бонее сглаженным, но обязательно проходящим через заданные точки

После долгого поиска и изучения матчасти, нашёл компонентик http://delphi.icm.edu.pl/ftp/d10free/bsplines.zip
в общем результат именно тот, что надо, но очень громозко!
Возможно потому, что сделан в виде компонента(не понятно только зачем) и излишняя реализация для 3D координат.
Может у кого есть менее "ёмкое" решение или можете оптимизировать это для 2D? наличие Z запутало для меня алгоритм, как его оттуда вырезать не пердставляю

PS: а в идеале мне нужен конечно не кубический сплайн, а Сплайн Алкимы это я понял из картинки отсюда http://alglib.sources.ru/interpolation/spline3.php но реализации на Delphi его вообще не встречал, а цеплять alglib для столь скромной задачи совсем не хочется

Это сообщение отредактировал(а) Isaev - 1.4.2013, 04:09
PM MAIL ICQ   Вверх
baldina
Дата 1.4.2013, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 4
Всего: 101



PM MAIL   Вверх
Excalibur921
Дата 22.10.2014, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.10.2013

Репутация: нет
Всего: нет



Цитата(Isaev @  1.4.2013,  03:30 Найти цитируемый пост)
а чем-то бонее сглаженным, но обязательно проходящим через заданные точки

Это называется интерполяционные кривые. Гуглить b-spline, cutmul-rom,akima spline квадратичная кривая, кубическая кривая, есть интерполяции параболой еще.Примеры работы многих есть на сайте GeoGebra tube, прога бесплатная, можно и потаскать и посмотреть как сглаживают. Если  эти алгоритмы медленные нужно взять рекурсивную формулу Костельжо для  кривых Безье.
Точка находиться через 1 сдвиг и сложение, круче пока не найдено.Есть еще какойто NURMS но найти немогу формулу. Пример кода  кривой akima spline  есть на джава скрипте на сайте геогебра  туб в примерах.Есть и на С++ гдето в инете.

PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1116 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.