Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gas / doc / OPISANIE1.DOC
Скачиваний:
19
Добавлен:
15.06.2014
Размер:
208.38 Кб
Скачать
  • исходное расположение сетчатки в плоскости аргументов данной функции яркости;

  • направление и скорость равномерного движения сетчатки в плоскости аргументов данной функции яркости;

  • скорость равномерного вращательного движения поля рецепторов относительно собственного центра;

  • интервал времени между соседними кадрами;

  • номер моделируемого кадра.

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

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

    Далее приводится описание вычислений координат неподвижной системы отсчета данной функции яркости, которые программно реализованы в процедуре «Movement». Обращение к данной процедуре осуществляется из процедуры формирования модели изображения очередного кадра строкой вида:

    Movement ( ArrayDataF’i [q’i, 1], ArrayDataF’i [q’i, 2], ArrayDataF’i [q’i, 3], ArrayDataF’i [q, 4], ArrayDataF’i [q’i, 5], ArrayDataF’i [q’i, 6], ArrayDataF’i [q’i, 7], ArgumentX, ArgumentY), ãäå:

    ArrayDataF’i - один из массивов параметров однотипных функций яркости «ArrayDataF1», «ArrayDataF2», ..., «ArrayDataF9».

    q’i - один из номеров однотипных функций яркости q1, q2, ..., q9, определяющий конкретную реализацию функции «ArrayDataF’i» среди множества однотипных функций яркости, участвующих в моделировании изображения.

    Соответственно строка описания процедуры «Movement» со списком формальных параметров имеет вид:

    Movement ( x0, y0, q0, v, vq, dx, dy : real;

    Var ArgumentX, ArgumentY : real).

    3.6.3.2. Описание идентификаторов и назначение переменных и массивов.

    3.6.3.2.1. Входные данные.

    LenthX,

    LenthY - числа рецепторов или ячеек по ширине и высоте поля наблюдения соответственно по осям 0X и 0Y.

    ScreenNumber - номер моделируемого кадра.

    TimeBetwenScreen - интервал времени между соседними кадрами.

    Примечание: описаные ниже идентификаторы и назначение формальных параметров (x0, y0, q0, v, vq, dx, dy) используются только при описании данной процедуры. Соответствующие им фактические входные параметры сведены в массивы параметров однотипных функций яркости «ArrayDataF1», «ArrayDataF2», ..., «ArrayDataF9», определенные для нескольких реализаций каждой из 9-ти типов функций яркости. Соответствие между формальным параметром и фактическим, записанным в ячейке с указанным номером в конкретной строке массива данной функции яркости, определено сразу для всех функций в скобках после описания формального параметра. Так, например, для формального параметра v фактическими параметрами будут являться 4-ые элементы массивов «ArrayDataF1», «ArrayDataF2», ..., «ArrayDataF9».

    x0,

    y0 - смещения сторон сетчатки при расположении их в исходном состоянии параллельно соответственно осям 0X и 0Yаргументов данной функции яркости (соответственно ArrayDataF’i [q’i, 1] и ArrayDataF’i [q’i, 2] ).

    q0 - угол между направлением движения сетчатки (когда осуществляется перенос ее сторон параллельно осям аргументов функции яркости) и положительным направлением оси аргумента 0Y данной функции яркости (ArrayDataF’i [qi, 3] ).

    v - скорость направленного прямолинейного равномерного движения сетчатки в плоскости аргументов данной функции яркости (ArrayDataF’i [q’i, 4] ).

    vq - угловая скорость равномерного вращения плоскости сетчатки относительно собственного центра, определенная для данной функции яркости (ArrayDataF’i [q’i, 5] ).

    dx,

    dy - интервалы дискретизации аргументов данной функции яркости при переходе от ячейки к ячейке сетчатки, стороны которой соответственно параллельны осям аргументов 0X и 0Y - масштабы аргументов данной функции яркости (соответственно ArrayDataF’i [q’i, 6] и ArrayDataF’i [q’i, 7] ).

    3.6.3.2.2. Вспомогательные переменные.

    ArgumentX,

    ArgumentY - координаты точки отсчета на плоскости поля наблюдения.

    y1 - время генерации очередного кадра;

    s - путь, пройденный сетчаткой в плоскости аргументов данной функции яркости;

    q1 - угол поворота плоскости сетчатки относительно собственного центра за время моделирования при определенной для данной функции яркости скорости равномерного вращения;

    x1 - расстояние от места очередного отсчета до центра плоскости сетчатки для данной функции яркости;

    q - угол между прямой, соединяющей координаты очередного отсчета с центром плоскости сетчатки и стороной 0Y сетчатки.

    3.6.3.2.3. Выходные данные.

    ArgumentX,

    ArgumentY - координаты отсчета в текущий момент на плоскости аргументов данной функции яркости (для одного и того же отсчета на плоскости сетчатки эти координаты различны для разных функций яркости.

    3.6.3.3. Описание логики.

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

    В начале процедуры вычисляются: время генерации очередного кадра (y1); путь сетчатки (s) и угол ее поворота относительно собственного центра (q1), пройденные на текущий момент с заданными для конкретной реализации данной функции яркости направлением и скоростью.

    Далее вычисляются координаты ArgumentX и ArgumentY точки очередного отсчета на плоскости поля наблюдения и одновременно преобразуются параллельным переносом осей координат в центр плоскости сетчатки. При этом учитываются следующие величины: номера i и j данного рецептора по ширине и высоте сетчатки; масштабы dx и dy аргументов данной функции яркости. Затем вычисляется расстояние между точкой отсчета и центром плоскости сетчатки (x1).

    После этого вычисляется значение угла между прямой, соединяющей точку отсчета и центр плоскости сетчатки, и стороной 0Y сетчатки. При этом во избежание деления на ноль предусмотрены операции для замены нулевых координат ArgumentX и ArgumentY на малую величину. Далее значение угла q изменяется на величину q1, которая определяет угол поворота плоскости поля наблюдения относительно собственного центра к данному моменту времени при ее вращении в плоскости аргументов данной функции яркости.

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

  • исходных смещений сторон сетчатки относительно осей аргументов данной функции яркости (x0, y0).

  • смещения из-за направленного прямолинейного равномерного движения, когда осуществляется перенос сторон сетчатки параллельно осям аргументов (s)в.

  • смещения из-за вращения плоскости сетчатки относительно собственного центра (q0).

    3.6.4. Описание функций яркости.

    3.6.4.1. Функциональное назначение.

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

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

    Описание алгоритмов вычислений значения яркости в определенной ячейке поля наблюдения для каждой конкретной реализации данной функции яркости приводятся ниже. Программно указанные алгоритмы реализованы в подпрограммах-функциях «Function1», «Function2», ..., «Function9». Обращение к функциям яркости осуществляется из процедуры формирования модели изображения очередного кадра. Вид обращения к каждой конкретной функции приводится ниже вместе с описанием данной функции яркости.

    3.6.4.2. Описание идентификаторов и назначения переменных.

    3.6.4.2.1. Входные данные.

    ArgumentX,

    ArgumentY - координаты отсчета на плоскости аргументов данной функции яркости (для одного и того же отсчета на плоскости сетчатки эти координаты различны для разных функций яркости и даже для различных реализация одной функции яркости).

    Так же фактическими входными параметрами для функций яркости «Function1», «Function2», ..., «Function9» будут являться соответствующие им массивы параметров однотипных функций яркости, используемых для моделирования изображения «ArrayDataF1», 2ArrayDataF2», ..., «ArrayDataF9», определенные соответственно для каждой из 9-ти функций яркости. Однако параметрами функций яркости являются формальные параметры, используемые при описании подпрограмм-функций. Соответствие между формальными и фактическими параметрами каждой конкретной функции яркости приводятся ниже в описании данной функции яркости.

    3.6.4.2.2. Выходные данные.

    Function1,

    Function2,

    Function3,

    Function4,

    Function5,

    Function6,

    Function7,

    Function8,

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

    3.6.4.3. Описание подпрограмм-функций. Функция яркости с поверхностью типа «плоскость».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumentY) согласно конкретной реализации (задаваемой параметром q1 в процедуре «Screen») функции яркости с поверхностью типа «плоскость».

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function1 (ArrayDataF1 [q1, 8], ArrayDataF1 [q1, 9], ArrayDataF1 [q1, 10], ArgumentX, ArgumnentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function1 (a, b, c, x, y : real) : real, ãäå:

    a, b, c - соответственно отрезки на осях координат поля наблюдения 0X и 0Y и по оси яркости, отсекаемые плоскость построения.

    Формальное описание данной функции яркости представлено в пункте «Приложение ¹ 1: Листинг программы».

    Функция яркости с поверхностью типа «усеченная плоскость».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumentY) согласно конкретной реализации (задаваемой параметром q2 в процедуре «Screen») функции яркости с поверхностью типа «усеченная плоскость». Усечение плоскости построения осуществляется другой плоскостью, перпендикулярной а плоскости поля наблюдения. Причем значения функции яркости за пределами усечения равны 0.

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function2 (ArrayDataF2 [q2, 8], ArrayDataF2 [q2, 9], ArrayDataF2 [q2, 10], ArrayDatF2 [q2, 11], ArrayDataF2 [q2, 12], ArgumentX, ArgumentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function2 (a, b, c, a1, b1, x, y : real) : real, ãäå:

    a, b, c - параметры, аналогичные формальным параметрам функции яркости с поверхность типа «плоскость» с соответствующими идентификаторами.

    a1, b1 - отрезки на осях координат 0X и 0Y поля наблюдения, отсекаемые плоскостью усечения, перпендикулярной плоскости поля наблюдения.

    Формальное описание данной функции яркости представлено в пункте «Приложение ¹ 1: Листинг программы».

    Функция яркости с поверхностью типа «дважды усеченная плоскость».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumentY) согласно конкретной реализации (задаваемой параметром q3 в процедуре «Screen») функции яркости с поверхность типа «дважды усеченная плоскость». Усечение плоскости построения осуществляется двумя другими параллельными плоскостями, расположенными перпендикулярно плоскости поля наблюдения. Расстояние между плоскостями усечения соответствует ширине дважды усеченной плоскости (формальный параметр d).

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function3 (ArrayDataF3 [q3, 8], ArrayDataF3 [q3, 9], ArrayDataF3 [q3, 10], ArrayDataF3 [q3, 11], ArrayDataF3 [q3, 12], ArrayDataF3 [q3, 13], ArgumentX, ArgumentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function3 (a, b, c, a1, b1, d, x, y : real) : real, ãäå:

    a, b, c - параметры, аналогичные формальным параметрам функции яркости с поверхностью типа «плоскость» с соответствующими идентификаторами.

    a1, b1 - параметры, аналогичные формальным параметрам функции яркости с поверхностью типа «усеченная плоскость» с соответствующими идентификаторами.

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

    Формальное описание данной цифровой модели представлено в пункте «Приложение ¹ 1: Листинг программы».

    Функция яркости с поверхностью типа «эллипсоид вращения».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumentY) согласно конкретной реализации (задаваемой параметром q4 в процедуре «Screen») функции яркости с поверхностью типа «эллипсоид вращения».

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function4 (ArrayDataF4 [q4, 8], ArrayDataF4 [q4, 9], ArrayDataF4 [q4, 10], ArgumentX, ArgumentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function4 (a, b, c, x, y : real) : real, ãäå:

    a, b, c - соответственно полуоси эллипсоида вращения на осях координат поля наблюдения 0X и 0Y и на оси яркости.

    Формальное описание данной функции яркости представлено в пункте «Приложение ¹ 1: Листинг программы».

    Функция яркости с поверхностью типа «эллиптический цилиндр».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumrntY) согласно конкретной реализации (задаваемой параметром q5 в процедуре «Screen») функции яркости с поверхностью типа «эллиптический цилиндр».

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function5 (ArrayDataF5 [q5, 8], ArrayDataF5 [q5, 9], ArrayDataF5 [q5, 10], ArgumentX, ArgumentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function5 (a, b, c, x, y : real) : real, ãäå:

    a, b, c - полуоси эллиптического цилиндра соответственно на осях 0X и 0Y поля наблюдения и на оси сркости.

    Формальное описание данной функции яркости представлено в пункте «Приложение ¹ 1: Листинг программы».

    Функция яркости с поверхностью типа «параболический цилиндр».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumentY) согласно конкретной реализации (задаваемой параметром q6 в процедуре «Screen») функции яркости с поверхностью типа «параболический цилиндр».

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function6 (ArrayDataF6 [q6, 8], ArrayDataF6 [q6, 9], ArgumentX, ArgumentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function6 (a, b, x, y : real) : real, ãäå:

    a, b - фокальные параметры параболического цилиндра соответственно на осях 0Xи 0Y поля наблюдения. Один из данных параметров должен быть равен 0.

    Формальное описание данной функции представлено в пункте «Приложение ¹ 1: Листинг программы».

    Функция яркости с поверхностью типа «однополостной гиперболоид».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumentY) согласно конкретной реализации (задаваемой параметром q7 в процедуре «Screen») функции яркости с поверхностью типа «однополостной гиперболоид».

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function7 (ArrayDataF7 [q7, 8], ArrayDataF7 [q7, 9], ArrayDataF7 [q7, 10], ArgumentX, ArgumentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function7 (a, b, c, x, y : real) : real, ãäå:

    a, b - действительные полуоси однополостного гиперболоида на осях 0X и 0Y поля наблюдения.

    c - мнимая полуось однополостного гиперболоида на оси яркости.

    Формальное описание данной функции яркости представлено в пункте «Приложение ¹ 1: Листинг программы.

    Функция яркости с поверхностью типа «гиперболический параболоид».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumentY) согласно конкретной реализации (задаваемой параметром q8 в процедуре «Screen») функции яркости с поверхностью типа «гиперболический параболоид».

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function8 (ArrayDataF8 [q8, 8], ArrayDataF8 [q8, 9], ArrayDataF8 [q8, 10], ArgumentX, ArgumentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function8 (a, b, c, x, y : real) : real, ãäå:

    a, b - фокальные параметры гиперболического параболоида для плоскостей, лежащих на осях 0X и 0Y поля наблюдения и перпендикулярных к нему.

    c - постоянная составляющая функции.

    Формальное описание данной функции яркости представлено в пункте «Приложени ¹ 1: Листинг программы».

    Функция яркости с поверхностью типа «волнистая поверхность».

    Данная функция предназначена для вычисления яркости в данной ячейке поля наблюдения (задаваемой дискретными координатами ArgumentX и ArgumentY) согласно конкретной реализации (задаваемой параметром q9 в процедуре «Screen») функции яркости с поверхностью типа «волнистая поверхность».

    Обращение к данной функции яркости из процедуры «Screen» осуществляется строкой вида:

  • Function9 (ArrayDataF9 [q9, 8], ArrayDataF9 [q9, 9], ArgumentY).

    Соответственно описание данной функции яркости со списком формальных параметров имеет вид:

  • Function9 (a, c, y : real) : real, ãäå:

    a - амплитуда волнистой поверхности.

    c - постоянная составляющая функции.

    Формальное описание данной функции яркости представлено в пункте «Приложение ¹ 1: Листинг программы».

    3.6.5. Процедура ввода параметров функций, участвующих в моделировании изображения.

    3.6.5.1. Функциональное назначение.

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

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

    Интегральная функция яркости может формироваться тремя различными способами:

  • аддитивно, то есть значение интегральной функции яркости в данной ячейке поля наблюдения равна сумме яркостей в этой же ячейке каждой функции яркости, участвующей в моделировании изображения.

  • по приоритету функций яркости, когда интегральная яркость на площади рецептора равняется положительному (и больше нуля) значению яркости на площади этого рецептора функции яркости с наивысшим приоритетом. Приоритетность функций задается по порядку их расположения в массиве, определяющем используемые функции яркости «ArrayFunction».

  • и, наконец, последний способ формирования интегральной функции яркости - по максимуму. В этом случае интегральная яркость на площади рецептора будет равняться значению функции яркости, имеющей на площади этого рецептора максимальную яркость.

    Описанные способы формирования интегральной функции яркости задаются логическими переменных PriznPrioritet и PriznSumBrightness, которые определяются в данной процедуре.

    Кроме признаков, определяющих способ формирования интегральной функции яркости, данная процедура позволяет так же задавать функции яркости, участвующие в формировании интегральной функции яркости. С этой целью в данной процедуре организовано определение пользователем массива «ArrayBrightness», содержащего в себе следующую информацию об используемых функциях яркости:

  • количество функций яркости, участвующих в моделировании сложного изображения - количество элементов массива.

  • типы используемых функций яркости, причем в моделировании изображения может принимать участие несколько функций яркости одного типа - значения элементов массива.

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

Далее в данной процедуре, исходя из определенного ранее массива функций яркости, участвующих в формировании интегральной функции яркости, вводятся параметры каждой конкретной реализации (применения) того или иного типа функции, то есть даже если в моделировании изображения принимают участие две и более функции яркости одного типа, то данная процедура позволяет задавать для каждой реализации данного типа функции яркости свои уникальные параметры. Эти параметры записываются в соответствующие типу функции яркости массивы «ArrayDataF1», «ArrayDataF2», ..., «ArrayDataF9» в строку, соответствующую конкретной реализации данной функции яркости. Из всех параметров функций яркости, хранящихся в этих массивах, можно выделить 7 параметров, присущих любому типу функции яркости:

  1. два параметра, характеризующих смещения сторон сетчатки при расположении их в исходном состоянии параллельно осям аргументов данной функции яркости.

  2. один параметр, задающий угол между направлением движения сетчатки (когда осуществляется перенос ее сторон параллельно осям аргументов функции яркости) и положительным направлением оси аргумента 0Y данной функции яркости.

  3. скорость направленного прямолинейного равномерного движения сетчатки в плоскости аргументов данной функции яркости.

  4. угловая скорость равномерного вращения плоскости сетчатки относительно собственного центра, определенная для данной функции яркости.

  5. два параметра, определяющих интервалы дискретизации данной функции яркости при переходе от ячейки к ячейке сетчатки, стороны которой параллельны осям аргументов 0X и 0Y - масштабы аргументов данной функции яркости.

Соседние файлы в папке doc