Самойленко Анатолий Петрович - Южный федеральный университет; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: +78634371637; кафедра радиотехнических и телекоммуникационных систем; доцент.
Панычев Сергей Андреевич - e-mail: [email protected]; кафедра вычислительной техники; аспирант.
Панычев Андрей Иванович - e-mail: [email protected]; тел.: +78634371733; кафедра антенн и радиопередающих устройств; доцент.
Samojlenko Anatoly Petrovich - Southern Federal University; e-mail: [email protected]; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +78634371637; the department of radio engineering and telecommunication systems, associate professor.
Panychev Sergey Andreevich - e-mail: [email protected]; the department of computer engineering; postgraduate student.
Panychev Andrey Ivanivich - e-mail: [email protected]; phone: +78634371733; the department of antennas and radio transmitters; associate professor.
УДК 519.688
А.В. Комар
МОДЕЛИРОВАНИЯ РЕЛЬЕФА МЕСТНОСТИ С ПРИМЕНЕНИЕМ КАРТЫ
ВЫСОТ
Рассмотрена проблема синтеза трехмерной модели рельефа местности. В ходе работы бъти проанализированы различные методы построения поверхности и способы увеличения степени детализации сцены. На основе проведенного исследования быгли выявлены проблемы, связанные с представлением входных данных реализацией модели освещения и форматом хранения полученным данных Для решения указанным проблем быт предложен алгоритм построения рельефа местности с использованием карты высот, полученной из изображения, кодированного с помощью битовой карты. Данный метод позволяет создавать точные модели рельефа любого типа. При визуализации трехмерной сцены быта применена модель освещения с учетом затухания сигнала в атмосфере. Для расчета затухания и внутреннего рассеяния был разработан пиксельный шейдер, в котором с помощью коррекции света сцены на значения затухания формируется результирующее освещение сцены. Особое внимание в исследовании уделено методам повышения качества, построенной модели рельефа. Для придания большей реалистичности отображаемому рельефу местности быт использован механизм отображения неровностей. Этот механизм включает в себя применение текстур рельефа. Вывод неровностей осуществляет пиксельный шейдер, который сначала переносит вектор, характеризующий свет, в пространство текстуры вершинного шейдера, а затем рассчитывает скалярное произведение этого вектора с нормалью к поверхности, хранящейся в текстуре. Далее скалярное значение, рассчитанное для каждого пиксела, применяется для коррекции количества света, попадающего на тот или иной пиксел. Алгоритм быт реализован на языке С++ с использованием графической библиотеки OpenGL и языка описания шейдеров GLSL.
Моделирование ландшафта; моделирование рельефа; полигональная сетка; карта высот.
A.V. Komar
MODELLING OF TERRAIN USING A HEIGHT MAP
The article describes the problem of the synthesis of three-dimensional terrain model. During the analyzed various methods of building surfaces and ways to increase the level of detail of the scene. Based on the survey identified the problems associated with the representation of the input data,
the implementation of the lighting model and format for storing the data. To solve these problems has been proposed an algorithm for constructing, using terrain height map derived from the image, coded by the bit map. This method allows to create accurate models of any type of terrain. When visualizing the three-dimensional scene lighting model was applied taking into account the attenuation in the atmosphere. To calculate the attenuation and scattering was developed pixel shader, which by adjusting the light scene on the attenuation values formed the resulting scene lighting. Particular attention is paid to the study of how to improve the quality of the constructed model of the terrain. To give more realism displayed terrain was used display mechanism irregularities. This mechanism involves applying a relief texture. Conclusion irregularities performs a pixel shader, which first carries vector characterizing the light in texture space vertex shader, and then calculates the inner product of the vector normal to the surface stored in the texture. Next, the scalar value, calculatedfor each pixel is used to correct the amount of light falling on a given pixel. The algorithm was implemented in C ++ using the OpenGL graphics library and language shaders GLSL.
Terrain modeling; relief modeling; polygonal mesh; levels of detail; height map.
Введение. Проблематика моделирования элементов рельефа местности обусловлена необходимостью решения ряда научных и прикладных задач, затрагивающих вопросы рационального землепользования, экологической и продовольственной безопасности. Цифровые модели рельефа также используются для автоматизированной укладки трасс линейных сооружений (магистральный трубопровод, линии электропередач и т.д.). Наряду с этим на основе полученных моделей осуществляется: прогнозирование естественных и техногенных стоков, кадастровый учет зданий и сооружений, проектирование площадей под промышленное и гражданское строительство, плановая подготовка лесных насаждений. В области автоматизированного проектирования транспортных магистралей на данный момент широко используются цифровые и математические модели рельефа, вопросу разработки различных типов которых посвящено большое количество исследований.
Представление цифровой модели рельефа в трёхмерном виде решает следующие важные задачи:
♦ определение любых геометрических параметров рельефа;
♦ построение горизонталей рельефа, профилей и сечений;
♦ оценка безопасности строительства технических сооружений;
♦ оценка изменения рельефа и растительности;
♦ моделирование радиовидимости и др.
Анализ известных типов цифровых моделей рельефа по различным показателям (в частности, по точности моделирования поверхности) показывает, что для наилучшего представления поверхностей с различным типом рельефа существуют различные типы моделей. Таким образом, можно говорить о том, что универсальной модели рельефа местности, подходящей для всех типов рельефа не существует.
Анализ методов моделирования рельефа местности.
Рельефом местности называется совокупность неровностей земной поверхности. Геометрия поверхности может быть представлена макро- и микрорельефом. К макрорельефу принадлежат горы, котловины, хребты, лощины и т.п. Микрорельеф представляет более подробное описание макрорельефа.
Подавляющее количество регулярных и нерегулярных цифровых моделей рельефа предполагает при математическом моделировании линейную интерполяцию высот между смежными точками моделей. В настоящее время широко используются цифровые модели рельефов, полученные из векторизованных горизонталей. Распространенность использования этих моделей определяет большое количество аналогических карт, из которых векторизуются горизонтали. Существенным недостатком этих моделей является то, что если значения высот слишком далеки от своих соседей, результирующий ландшафт будет сдержать глубокие впадины и высокие пики.
Другим популярным подходом к решению задачи моделирования является сплайновый метод, при котором математическая модель рельефа рассматривается как составная поверхность. Основная идея данного метода заключается в том, что сплайновые поверхности и кривые однозначно определяются массивом точек (опорным массивом), причем расположение самих точек в пространстве и их нумерация, как правило, не связаны; изменение одной из вершин влечет за собой изменение только 16 фрагментов поверхности, в определении которых участвует эта точка. Основные трудности использования сплайн-поверхностей связаны с отсутствием четко выраженной математической модели, и, следовательно, невозможностью задания параметрических преобразований объекта.
В отличие от перечисленных методов, построение рельефа местности с помощью карт высот лишено указанных недостатков. Данный метод позволяет создавать точные модели рельефа любого типа. Весь рельеф отображается на самом высоком уровне детального представления. Все описанные выше методы имеют еще один недостаток - артефакты "растрескивания". Они возникают, когда в той или иной зоне рельефа происходит смена уровня замощения, что вызывает видимую "трещину" на сетке рельефа.
В данной работе использован метод для устранения этого артефакта - временной морфинг изменений [1], наблюдаемых на границе различных участков рельефа местности. Этот метод позволяет делать переходы между более или менее детально представленными зонами сетки намного более гладкими. Метод временного морфинга заключается в следующем: по мере движения наблюдателя медленно интерполируются значения, лежащие между этими исходными точками и истинным положением. Со временем вершины переместятся со своих прежних позиций по высоте в нужные точки, указанные сеткой высот, что устранит эффект трещин при резкой смене детализации.
Постановка задачи. Необходимо разработать метод моделирования рельефа местности, обеспечивающий отображения участка площадью 5 км2 за 10-15 мс на серийных персональных компьютерах. Входными данными является массив точек поверхности, заданных тремя пространственными координатами.
Моделирование рельефа местности в реальном масштабе времени. Решение поставленной задачи можно разбить на несколько этапов:
1. Представление входных данных;
2. Построения элементарных фрагментов поверхности;
3. Расчет освещения сцены;
4. Визуализация сцены.
Представление входных данных. Простейшей и самой распространенной схемой организации входных данных о геометрии рельефа является карта высот. Она представляет собой двухмерный массив значений высот, вписанных в регулярную сетку. Для каждой позиции (х,у) на сетке хранится значение высоты ландшафта в точке.
Высотные точки должны быть достаточной плотности. Их должно быть достаточно не только для построения модели рельефа, но и для контролирования точности.
Для уменьшения объема данных, высоту предлагается хранить в байтах без знака, при этом 0 обозначает самую малую, а 255 - самую большую высоту рельефа. Таким образом, все это образует сетку ландшафтных данных, лежащих в диапазоне [0,255]. Преимуществом такого представления является то, что двухмерный массив, состоящий из байтов, соответствует битовой карте в оттенках серого. Выбор битовых карт в оттенках серого как метода хранения данных о рельефе дает возможность визуализировать рельеф как битовую карту.
Рис. 1. Битовая карта
Использование битовых карт (см. рис. 1) как входных данных дает возможность в качестве средств построения рельефа использовать программы рисования и данные геологических служб, для доступа к которым можно воспользоваться открытыми программами преобразования.
Для построения рельефа сначала необходимо перенести из карты высот в оттенках серого цвета в массив вершин. Для этого представим карту высот как сетку высотных значений. Эта сетка будет напрямую преобразована в массив вершин: х-и >>-координаты каждого элемента карты соответствуют х- и >>-координатам вершин сетки. Значение цвета, занесенное в каждый пиксель, станет г-координатой вершины. Далее считанные значения серого в диапазоне [0,255] масштабируются до максимального желаемого значения высоты рельефа. Так же преобразуются (х,>>)-координаты вершин [2].
Поверхность рельефа можно описать при помощи полигонов, элементарных участков, представленных треугольниками. Каждое 2x2 множество пикселов организует 2х2-множество вершин, образуя 2 треугольника. Данные о вершине заносим в массив вершин. Множество из 3-х индексов массива вершин, описывающий каждый треугольник, заносим в массив индексов. Затем, с помощью, полученных массивов вершин и индексов строится рельеф местности.
Следующий шаг при построении рельефа - нахождение нормалей к каждому треугольнику поверхности. Для создания более гладкой модели освещения нужно вычислить нормаль к каждой вершине как среднее значение нормалей, построенных к смежным к ней граням. Нормали граней, которым принадлежит каждая из вершин, должны быть усреднены и нормированы повторно [3].
Таким образом, совокупность массивов вершин, индексов и нормалей позволяет нам визуализировать рельеф. Поскольку для отображения рельефа требуется большое количество треугольников, отрисовка всего множества треугольников является неэффективной, так как поверхность может выходить далеко за пределы видимости во всех направлениях. Для решения данной проблемы всю поверхность необходимо разбить на поддающиеся контролю участки.
При отображении более подробно геометрии вблизи камеры и менее детально - на расстоянии уменьшается общее количество обрабатываемых данных и увеличивается скорость отображения.
Также для повышения качества построенной модели рельефа местности был использован механизм отображения неровностей. Этот механизм включает в себя применение текстур рельефа, который содержат векторы нормалей к поверхностям. Эти нормали заносятся в текстуру так, что значения их x-, у- и z-составляющих количественно соответствует значениям красного, синего и зеленого цвета. Вывод неровностей осуществляет пиксельный шейдер, который сначала переносит вектор, характеризующий свет, в пространство текстуры вершинного шейдера, а затем рассчитывает скалярное произведение этого вектора с нормалью к поверхности, хранящейся в текстуре рельефа (шейдер - это программа, выполняемая на стороне видеокарты или другого аппаратного или программного устройства визуализации, используемая для определения окончательных параметров объекта, вершинные шей-деры модифицируют данные о вершинах, пиксельные шейдеры рассчитывают цвета, которые служат для отрисовки на экране объекта). Итогом этого становится скалярное значение, найденное для каждого пиксела и применяемое для коррекции количества света, попадающего на тот или иной пиксел.
Модель освещения, проходящего сквозь атмосферу. Свет проходя через атмосферу, испытывает на себе влияние двух процессов. По мере того как свет от изображаемой вершины преодолевает атмосферу, его оттенок меняется. Это означает потерю цвета с расстоянием - явление, называемое затуханием. Кроме этого на цвет вершины влияет свет, рассеянный в атмосфере. Он дополнительно окрашивает изображаемую точку и называется внутренние рассеяние. Затухание это способ представить свет, который теряется из-за наличия в воздухе твердых частиц, поглощающих либо рассеивающих его, по пути к наблюдателю.
Для расчета затухания и внутреннего рассеяния будем использовать пиксельный шейдер, который с помощью коррекции света сцены на значения затухания и прибавлением к результату света, полученного путем внутреннего рассеяния (см. формулу 1).
Итоговой выходной цвет зависит от расстояния и угла между наблюдаемой точкой и солнцем. Исходный цвет (Ьисх) умножается на результат функции затухания. Затем к произведению добавляется внутренне рассеянный свет, что и дает окончательный цвет лучей света.
Полное рассеяние представлено в уравнении (2). В этой формуле s - расстояние от наблюдателя до данной точки. вз и Д - два коэффициента, которые описывают степень светорассеяния в атмосфере. Они характеризуют две модели представления рассеяния света, известные как рассеяние Релея и рассеяние Ми. Рассеяние Релея описывает эффект рассеяния на самых мелких, а модель Ми - на более крупных, шарообразных частицах. В предложенном методе будем использовать заранее найденные константы коэффициентов Релея и Ми и добавим возможность их масштабировать для получения разных атмосферных эффектов.
Анализ результатов. Все описанные в статье методы реализованы в программе MapViewer3D.exe (рис. 2), программа написана на языке С++ с использованием графической библиотеки OpenGL и языка описания шейдеров GLSL.
В следующей таблице представлены характеристики отображаемой сцены и результаты производительности.
¿(s, 6J = L^F. (s]
(1)
(2)
Таблица 1
Видеокарта ATI Radeon HD 5600 Series
Версия OpenGL 4. 0
Количество треугольников 181 324
Время формирования сцены 5 мс
Скорость отображения сцены 65 кадров/с
Рис. 2. Реализация алгоритма моделирования рельефа местности с применением
карты высот
Заключение. Были определены основные особенности визуализации рельефа местности. Предложенный алгоритм позволяет создавать точные модели рельефа местности любого типа. Дальнейшее исследование должно выяснить границы его применения.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Снук ЛСоздание 3D-ландшафтов в реальном времени с использованием C++ и DirectX9: Пер. с англ. - М.: КУДИЦ-ОБРАЗ, 2007. - 368 с.
2. Арманд Д.Л. Наука о ландшафте (Основы теории и логико-математические методы).
- М.: Мысль, 1975. - 288 с.
3. Бурдаков С.Ф., Мирошник И.В., Стельмаков Р.Э. Системы управления движением колесных роботов // Серия «Анализ и синтез нелинейных систем». - СПб: Наука, 2001.
- 227 с.
4. Яковлева А.Н. Модель пространственной структуры растительности территории Верхнеуссурийского стационара // Экология. - 2010. - № 4. - C. 271-280.
5. Кошелев С.В., Макаров К.В., Захаров А.А. Подсистема анализа данных ГИС городского
водоканала // Сборник научных статей "Компьютерные технологии обработки и анализа данных". - Ташкент: НПО «Кибернетика» АН Руз, 2000. - C. 38-42.
6. Михайлова В.А. Моделирование поля температур объектов в условиях естественного освещения // "ГЕО - Сибирь-2011". -Т. 5, ч. 1. - 2011. - C. 52-55.
7. Стадник В.В., Псаломщикова Л.М., Трофимова О.В. Поступление суммарной солнечной радиации на приемные поверхности гелиоустановок на территории России // Труды ГГО. Вып. 561, 2010. - C. 124-137.
8. Стадник В.В., Разгоняев Ю.В. Оценка суточного прихода суммарной радиации, поступающей на наклонные поверхности // Труды ГГО. - 2008. Вып. 557. - C. 67-84.
9. Матвеев Л.Т. Физика атмосферы. - 3-е изд. - СПб: Гидрометеоиздат, 2000. - 777 с.
10. Policarpo F., Oliveira M., Joao L. Real-time relief mapping on arbitrary polygonal surfaces. -ACM SIGGRAPH -2005. - P. 644-663.
11. Bakirci K. Models of solar radiation with hours of bright sunshine: A review // Renewable and Sustainable Energy Reviews. - 2009. - Vol. 13, № 9. - P. 2580-2588.
12. Хабутдинов Ю.Г., Шанталинский К.М., Николаев А.А. Учение об атмосфере: учеб. пособие. - Казань: Изд-во Казан. ун-та, 2010. - 245 с.
13. Симанков В.С., Шопин А.В., Бучацкий П.Ю. Моделирование инсоляции при управлении фотоветроэнергетическими системами // Тр. ФОРА. - 2000. - № 5. - C. 67-71.
14. Benghanem M, Mellit A., Alamri S.N. ANN-based modeling and estimation of daily global solar radiation data // Energy Conversion and Management. - 2009. - Vol. 50, № 7. - P. 1644-1655.
15. Хриган А.Х. Физика атмосферы (в 2-х т.). - Л.: Гидрометеоиздат, 1978. - 645 c.
16. Арманд Д.Л. Наука о ландшафте (Основы теории и логико-математические методы).
- М.: Мысль, 1975. - 288 c.
17. Canny J.A. Computational Approach to Edge Detection // IEEE Transactions on Pattern Analysis and Machine Intelligence. - 1985. - Vol. PAMI-8, № 6. - P. 55-67.
18. Menter F.R., KuntzM., Langtry R. Ten years of industrial experience with the SST turbulence model // Turbulence, Heat and Mass Transfer 4 / Ed. by K. Hanjalic, Y. Nagano, M. Tummers.
- Begell House, Inc., 2003. - P. 395-401.
19. Toro Е. Riemann Solvers and Numerical Methods for Fluid Dynamics, A Practical Introduction, Springer, 2009. - P. 719-724.
20. Павлова А.И. Морфометрический анализ рельефа с помощью ГИС // Интерэкспо ГеоСибирь - 2013 IX Междунар. науч. Конгресс (16-26 апреля 2013 г., Новосибирск): Сб. матер в 4 т. Т. 4. - Новосибирск: СГГА, 2013. - C. 166-170.
21. Флоринский И.В. Точный метод расчета локальных характеристик рельефа // Геодезия и картография. -2009. - № 4. - C. 19-23.
22. Rodríguez E., Morris C.S., Belz J.E. An assessment of The SRTM Topographic Product, JPL, NASA. - P. 7-22.
23. Karwel A.K., Ewiak I. Estimation of the accuracy of the SRTM terrain model on the area of Poland, The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. - Vol. XXXVII. Part B7. Beijing 2008. - P. 169-172.
24. Шлей М.Д. Методы и алгоритмы распознавания объектов сельских поселений на цифровой карте // Математические методы распознавания образов (ММРО-15): Материалы Всероссийской науч.-практ. конф. (11-17 сент. 2011 г.). - М., 2011. - C. 571-574.
25. Шлей МД. Разработка математической модели для расчета продолжительности инсоляции построек и ее компьютерная реализация // Ученые зап. Петрозавод. гос. ун-та. Серия: Естеств. и техн. науки. - 2011. - № 6. - C. 87-90.
Статью рекомендовать к опубликованию д.т.н., профессор В.В. Тютиков.
Комар Анна Викторовна - НКБ моделирующих и управляющих систем Южного Федерального университета (НКБ "МИУС" ЮФУ); е-mail: [email protected]; 347900, г. Таганрог, ул. Петровская, 81; инженер-программист.
Komar Anna Viktorovna - Southern Federal University Scientific and Design Bureau of Modelling and Controlling Systems "MIUS"; e-mail: [email protected]; 81, Petrovskaya street, Taganrog, 347930, Russia; software engineer.