среда, 18 января 2012 г.

Генерация аналитических поверхностей карт

Введение

Возникла однажды интересная задача: организовать возможность работы программы с трехмерными изображениями земной поверхности больших размеров. После изучения множества литературы и различных источников, стало ясно, что эффективных подходов в общем доступе не найти. Есть либо сложная математика, которую еще надо адекватно перенести на исходный код, либо закрытые коммерческие продукты. Игровые алгоритмы для этой задачи подходят мало, потому что требуется высокая точность и достоверность получаемых результатов.

Генерация аналитических поверхностей карт

Введение

Обладая данными с неравномерной сеткой, важнейшим этапом в ее обработке является преобразование в равномерную. Данное преобразование необходимо для компьютерного моделирования в реальном масштабе времени или его приближении. Получение высоты непосредственно из неравномерной сетки является ресурсоемкой операцией. В этой части будет рассмотрен алгоритм преобразования неравномерной сетки в равномерную с достаточно хорошим качеством получаемого результата.

Генерация аналитических поверхностей карт

Введение

Точное физическое моделирование требует высокополигональных карт. Чем выше точность карты, тем больший объем памяти она занимает и тем больше приходится обрабатывать данных, чтобы получить высоту. Сплайновая интерполяция позволяет получить сетку любого разрешения, с любым, удобным в данный момент, шагом по широте и долготе.

Оптимизация ошибок

Введение

Меня до глубины души задело заявление моего коллеги, что использовать исключения - это неправильно. А далее последовала череда объяснений: это медленно, это некрасиво, это неэффективно, это неудобно. Чтобы структурировать мнение Хабра-пользователей по этому поводу, был опубликовал небольшой опрос на тему использования исключений. Хочу сразу сказать, что этот топик не претендует на полноту изложения материала об исключениях, он лишь затрагивает область их использования. Из заявления следует, что во время разработки идет оптимизация ошибок, или в более общем смысле преждевременная оптимизация. Многие знают, что преждевременная оптимизация вредна. Но оптимизация ошибок ведет к возникновению новых ошибок, усложняет код и дестабилизирует весь код.