Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 25.11.2012, 14:26   #1
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Сглаживание карты высот

Есть карта высот (heightmap). Вот пример:
Нажмите на изображение для увеличения
Название: Снимок экрана от 2012-11-25 13:19:35.png
Просмотров: 1155
Размер:	94.2 Кб
ID:	18133
На первый взгляд всё хорошо. Но если карту затопить, то на берегах видны очень неестественные неровности:
Нажмите на изображение для увеличения
Название: Снимок экрана от 2012-11-25 13:19:23.png
Просмотров: 1247
Размер:	99.6 Кб
ID:	18132
В реале они исчезли бы в результате водной эрозии. Поэтому надо всю карту сгладить. Но алгоритмов сглаживания много, поэтому прошу подсказать наиболее подходящий
(Offline)
 
Ответить с цитированием
Старый 25.11.2012, 15:34   #2
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Сглаживание карты высот

Пока что сделал примитивным способом: вокруг каждого пикселя строим квадрат, находим среднее значение на нём, и приравниваем пикселю. В данном случае размер квадрата 8:
Нажмите на изображение для увеличения
Название: Снимок экрана от 2012-11-25 14:32:04.png
Просмотров: 1879
Размер:	71.2 Кб
ID:	18134
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (25.11.2012)
Старый 25.11.2012, 17:09   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Сглаживание карты высот

Медианный фильтр
Нужный эффект может дать (хотя он имеет иное назначение) Фильтр Гаусса (его использование можно глянуть здесь)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (25.11.2012)
Старый 25.11.2012, 17:59   #4
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Сглаживание карты высот

Сообщение от Den Посмотреть сообщение
Пока что сделал примитивным способом: вокруг каждого пикселя строим квадрат, находим среднее значение на нём, и приравниваем пикселю. В данном случае размер квадрата 8:
Вложение 18134
Норм, я тут так же делал: http://forum.boolean.name/showthread.php?t=14561
Вроде вышла вкусная пица.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (25.11.2012)
Старый 25.11.2012, 18:05   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Сглаживание карты высот

Вы бы хоть по ссылке прошли: медианный фильтр это и есть вариация вашего велосипеда. Т.к. среднее, вообще говоря, можно считать по-разному (в зависимсоти от задачи).
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 14.12.2012, 19:40   #6
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Сглаживание карты высот

Можно считать шум не для каждого пикселя, а для каждого четвертого, а между ними делать интерполяцию.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 02:55.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com