Главная страница
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.016 c
15-1192004546
andreoman
2007-10-10 12:22
2007.11.18
прога для контроля инетовского трафика


2-1193308449
cvg
2007-10-25 14:34
2007.11.18
Как определить длину элемента структуры?


6-1174393701
Vlad Oshin
2007-03-20 15:28
2007.11.18
заполнение контролов в IE по принципу twebbrowser. AV, помему?


2-1193519796
Delpr
2007-10-28 01:16
2007.11.18
Вызов функции из запроса


2-1193495233
@!!ex
2007-10-27 18:27
2007.11.18
Перетаскивание элементов в TTreeView