Форум: "Прочее";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];
ВнизВопрос по сплайнам Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.055 c