2011 год

Алгоритм выбора точек матрицы высот

Задача построения зон видимости основывается на данных матрицы рельефа. Чтобы построить зону, под нее нужно выбрать данные. Задается радиус зоны видимости, от заданной точки расположения локатора выбирается квадратная матрица NxN данных, с размером стороны равным двойному радиусу видимости (рис.). Такой алгоритм реализуется двумя простыми вложенными циклами. При этом количество точек до крайнего угла равно количеству точек до стороны. Такое свойство позволяет запускать цикл расчетов одинаковой по всем направлениям длины. Лишние точки не отображаются в конечной отрисовке.

Алгоритм расчета видимости точек

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

 

Рис. Схематично матрица высот и проверка на видимость точек

При формировании луча видимости точки проверяются на видимость с учетом распространения радиоволн.

Алгоритм вычисления на GPU

Особенностью вычисления на GPU является одновременная обработка массива данных, загруженных в память видеокарты. Таким образом, в память видеокарты целиком загружается выбранная матрица высот для расчета зоны видимости. При запуске ядра используются  следующие параметры: 32 исполняющих потока, линейная структура данных (используется специальный тип трехмерный массив, можно использовать из него одно). Например видеокарта GeForce 8600GTS 256МБ обладает 32мя шейдерами, 32Мб памяти на регистры, 16Мб кэш памяти для переменных. Один луч помещается целиком в кэш память, на каждый поток исполнения выделяется кэш память, запускается одновременно 32 луча для вычисления. Вычисления лучей видимости повторяются 4xN раз, что равно количеству точек по периметру матрицы данных. Для определения точек видимости на каждом цикле применяется директива #pragma unroll, что позволяет все точки луча проверять одновременно. В результате составляется матрица видимых точек. Некоторые точки проверяются в матрице несколько раз. Конечное значение точке присвается по операции логического ИЛИ.

Алгоритм радиолокационной видимости

Вычисление точек видимости производятся по пути распространения радиоволн.

На распространение электромагнитной волны вблизи земной поверхности влияет атмосферная (тропосферная) рефракция.

            Все виды тропосферной рефракции разбивают на три группы: отрицательная рефракция, отсутствие рефракции и положительная рефракция.

            Отрицательной называют те виды рефракции, при которых индекс М (оптическая плотность) возрастает с высотой: dM/dz>0. Из формул следует, что при этом ρ<0, то есть траектории лучей обращены выпуклостью вниз. Радиоволна при этом удаляется от поверхности Земли. В этом случае эффективный радиус Земли меньше истинного rэ<r0. Такой вариант возможен, например, во время снегопада, когда с высотой температура убывает значительно быстрее, а влажность – значительно медленнее, чем при нормальной рефракции.

            Если метеорологические условия складываются таким образом, что в некотором интервале высот M=const, то рефракция отсутствует, и траектория луча является прямолинейной. В этом случае rэ=r0.

            Если  dM/dz<0, рефракция считается положительной. Радиоволна при этом прижимается к поверхности Земли. Различают: пониженную положительную тропосферную рефракцию, когда искривление луча меньше, чем при нормальной рефракции; нормальную, когда rэ=1.33*r0; повышенную, когда искривление луча больше, чем при нормальной рефракции; критическую, при которой радиус кривизны траектории равен радиусу Земли (rэ=∞) и луч параллелен земной поверхности; сверхрефракцию, при которой лучи искривляются сильнее, чем при критической рефракции, а rэ<0, то есть земная поверхность становится вогнутой. Пониженная рефракция имеет место, когда с высотой температура убывает быстрее, а влажность – медленнее, чем при нормальной рефракции ( во время дождя). Нормальная рефракция наблюдается в пасмурную погоду, когда слои воздуха хорошо перемешиваются. Повышенная рефракция имеет место, когда температура с высотой убывает медленнее, а влажность – быстрее, чем при нормальной рефракции. Такая ситуация бывает в хорошую ясную погоду, после захода солнца, когда слои воздуха, примыкающие к поверхности Земли, успевают охладиться, в то время как более высокие слои остаются еще теплым. Искривление лучей для различных видов атмосферной рефракции показано на рис.

 

Рис. Рефракция волн вблизи поверхности земли.

Истинную высоту цели, т.е. минимальное расстояние от цели до земной поверхности, определяют с помощью РЛС по результатам измерения наклонной дальности цели R и ее угла места β, используя соотношение:

          (1),

где  -  приведенная высота;  - высота подъема антенны РЛС над земной поверхностью;  - эффективный радиус Земли.

Приведенная высота  - высота цели над горизонтальной плоскостью, проходящей через антенну. Последний член в формуле для определения H учитывает кривизну поверхности  и рефракцию радиоволн в атмосфере с помощью введения эффективного радиуса Земли , который рассчитывается по формуле:

       (2),

где =6370000м – радиус Земли;  - градиент коэффициента преломления радиоволн в атмосфере [10]. Для стандартной атмосферы в программе использовать

 и .

В общем случае .

Дальность видимого горизонта зависит от высоты расположения наблюдателя над окружающей местностью. Чем выше точка наблюдения, тем больше дальность видимости.

            Для равнинных и слабо всхолмленных районов, а также при наблюдении в сторону моря в приморских районах дальность видимого горизонта определяют по следующей приближенной формуле:

     

где Д – дальность видимого горизонта в километрах, h – высота наблюдателя над окружающей местностью (в приморском районе – над уровнем моря) в метрах.

            Объекты, возвышающиеся над поверхностью земли (моря), обнаруживаются на большем расстоянии, чем дальность видимого горизонта. В этом случае дальность видимости объектов на горизонте определяются по формуле

    

где H – высота наблюдаемого объекта в метрах.

 

Варианты заданий (* отмечены задачи повышенной сложности)

  1. Реализация алгоритма Брезенхайма

  2. Построение зоны геометрической видимости

  3. Построение зоны радиолокационной видимости

  4. Построение зоны затопления

  5. Расчет подвода тепла при постоянном объеме

  6. Решить задачу газодинамики

  • Нет меток