Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.051 c
2-1192974628
alex_ant
2007-10-21 17:50
2007.11.18
Почему освобождённые объекты не ссылаются на nil


2-1193118690
Quart
2007-10-23 09:51
2007.11.18
INSERT INTO


2-1193222683
Riply
2007-10-24 14:44
2007.11.18
Префикс ?? в файловых путях


15-1192448141
alshtam
2007-10-15 15:35
2007.11.18
прозрачная шифрация


15-1192084652
Azize
2007-10-11 10:37
2007.11.18
Microsoft vs Borland





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский