Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
15-1192433128
31512
2007-10-15 11:25
2007.11.18
Тестирование программного обеспечения


2-1193585241
NikitaVer
2007-10-28 18:27
2007.11.18
Помогите создать прокрутку файла...


15-1192118907
Kolan
2007-10-11 20:08
2007.11.18
Еще раз вопрос про BugTracking, старая ветка пропала&#133


4-1172489914
Oleg_teacher
2007-02-26 14:38
2007.11.18
Stringgrid + прокрутка


2-1193065535
@!!ex
2007-10-22 19:05
2007.11.18
Float To Str & Decimal Separator




   Наверх