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

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

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

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

Ответ
 
Опции темы
Старый 12.03.2015, 23:42   #16
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Генерация террайнов

Сообщение от Igor Посмотреть сообщение
Мне кажется, куча обращений к массиву не имеет смысла.
Я бы предложил просто построить какую-нибудь хитрую функцию от трёх переменных.
например, при инициализации задавать параметры a и с, и пусть функция rand возвращает (a + c * (x ^ (x >> 5) ^ (y<<3-1) ^ (z >> 3 + z))) & 0xFF.
Если хочется, можно запихать в массив данные с нужным распределением (например, нормальным), и один раз читать оттуда по "рандомной" позиции.
Ну тут не только генератор белого шума, тут еще и градиентный, белый шум вот этой штукой отдается:
//выдает по координате значение из фэйкового бесконечного массива 
    
private static int rand(int xint yint z){ 
        
int x0 =(256+(x%256))%256
        
int y0 =(256+(y%256))%256
        
int z0 =(256+(z%256))%256;     
        return 
randDatax0 randDatay0 randDataz0 ] ] ];      
    } 
в х0,y0,z0 я как умею обрезаю любое число чтобы оно в 0...255 попало, защита от выхода за границы массива.
а три обращения к массиву на точку не такая уж и куча. Но я хз, я в функции не умею.
(Offline)
 
Ответить с цитированием
Старый 22.03.2015, 19:02   #17
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Генерация террайнов

Подскажите как делать карту высот своего города? Где гугл и прочие сервисы берут данные о высотах? Ну и как это потом запилить в jpg/png файл?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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