Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.18;
Скачать: CL | DM;

Вниз

Вопрос по сплайнам   Найти похожие ветки 

 
boa_kaa ©   (2007-10-14 23:12) [0]

Здрасте!

Кто-нибудь может подсказать тип сплайна, который бы подходил для сглаживания изолиний. Требование к нему одно: чтобы проходил через все заданные точки. Пока что приходится пользовать В-сплайн, т.к. он дает нормальное сглаживание и не выписывает обратные кренделя (петли). Устраивает полностью, но нужно бы еще и чтобы проходил через точки, а не описывал их.

Надежда возлагалась на Катмулла-Рома, но он при резких поворотах дает петли:
http://www.npoplz.ru/img/Isolines_points99_triangles160_CRSpline.tif (47.3 КБ)

А вот сглаживание уже В-сплайном:
http://www.npoplz.ru/img/Isolines_points99_triangles160_BSpline.tif (45.1 КБ)

До сглаживания было такое вот безобразие:
http://www.npoplz.ru/img/Isolines_points99_triangles160_no_smooth.tif (46.8 КБ)


 
TUser ©   (2007-10-14 23:35) [1]

Не шибко четко сформулирована задача, но, насколько я понял, тебе надо провенсти линию по точкам. Аппроксимируй их множеством крибых Безье, имхо.


 
boa_kaa ©   (2007-10-15 00:46) [2]


> TUser ©   (14.10.07 23:35) [1]

Трудно очень точки дополнительные рассчитать так, чтобы одна кривая на другую не лезла. Или я просто этих кошек не умею готовить.


 
MBo ©   (2007-10-15 05:16) [3]

>но нужно бы еще и чтобы проходил через точки, а не описывал их.
кратность узлов, через которые должен проходить B-сплайн, надо увеличить


 
ShaggyDoc ©   (2007-10-15 06:40) [4]

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


 
boa_kaa ©   (2007-10-15 12:16) [5]


> MBo ©   (15.10.07 05:16) [3]

Это приблизит сплайн к узлам, но не даст пройти через них все равно.
Мне просто хотелось бы иметь 3 альтернативы:
1. Построение несглаженных изолиний (реализовано).
2. Построение сглаженных В-сплайном (реализовано). Здесь тоже нужно пропеть дифирамбы, т.к. линейная интерполяция суть яд в некоторых случаях, т.к. учитывает расстояние только между соседними точками, не обращая внимание на ближайшее окружение. Данный вид сглаживания по-сути дает нелинейную интерполяцию.
3. Построение сглаженных изолиний, но уже сплайном, четко проходящим через точки.



Страницы: 1 вся ветка

Текущий архив: 2007.11.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
15-1192090157
botaniQ
2007-10-11 12:09
2007.11.18
Помогите найти алгоритм SHA-1


2-1193467708
VladimirK
2007-10-27 10:48
2007.11.18
Экспорт в MS Excel


15-1192238779
Dmitry S
2007-10-13 05:26
2007.11.18
В чем разница между Памятью и Виртю. памятью...


15-1192712579
фыва
2007-10-18 17:02
2007.11.18
FastReport


2-1193291606
Sergl
2007-10-25 09:53
2007.11.18
Как убрать перевод строки при работе с memo?