Россия, Абакан, ХГУ им. Н. Ф. Катанова |
Основы трёхмерного "живого" моделирования
Вид его странен. Шерсть осталась только на голове, на подбородке и на груди. В остальном он лыс, с дрябловатой кожей. В области половых органов – формирующийся мужчина. Череп увеличился значительно, лоб скошен и низок.
М.А. Булгаков. Собачье сердце
Какую задачу мы хотим решить?
Работа многих автоматизированных сложных систем в производстве, энергетике, авиации и т.д. контролируется диспетчерами и операторами с помощью пультов, мониторов и других средств визуализации. По сложившейся ситуации они принимают решение.
Для подавления "человеческого фактора" могут быть использованы реагирующие объекты. На них выводятся основные параметры состояния сложной системы, а также тенденция (дрейф) их изменения. Своим поведением, отображающим реакцию на ситуацию, реагирующий объект может не только предупредить о нештатной ситуации, но и произвести предварительную диагностику. Таким образом, он является посредником между системой и диспетчером, помогая ему своевременно принять решение.
Во всех предыдущих лекциях в качестве примеров возможного применения обсуждается построение систем с элементами искусственного интеллекта, которые можно отнести к области искусства и развлечений. Фантазия легко связывает создание монстров, объектов компьютерных игр, имитацию их реакции на внешнюю среду или другие предлагаемые им объекты и ситуации с такими "мероприятиями", как парк фантасмагорий, Disney-lend, цирк марионеток, распознавание "свой – чужой", сетевые зрелищно-рекламные демонстрации и т.д. Такие системы могут представлять как искусство, так и бизнес.
Существуют два направления реализации указанных систем ИИ: натурное и компьютерное.
В современном парке (культуры и отдыха) можно в натуральном виде встретить не одно существо, мало отличающееся от живого и совершающее действия и движения по заложенной программе. Технологии их построения можно считать отработанными, имитация движений, включая работу "мышечного" аппарата, вполне совершенна. Отсутствие элементов ИИ, предполагающих непредсказуемость реакции, — основной недостаток таких объектов.
Компьютерная реализация сегодня ограничена мультимедийными средствами двумерной и трёхмерной графики. Возможности создаваемых этими средствами систем и образов огромны. Однако основной недостаток всех известных систем кроется в априорном знании возможных сцен, сглаживание перехода через которые в реальном времени имитирует движение. Это подобно табличному заданию огромного количества значений функции многих переменных при игнорировании непосредственного расчёта.
Непредсказуемость сцен, возникающая при имитации реакции моделируемого объекта на внешние воздействия, может потребовать огромного, практически нереализуемого, числа предполагаемых возможных сцен. Основная сложность при создании таких объектов заключается в том, что управляться они должны, т.е. принимать решение о производимых движениях и действиях, в реальном масштабе времени!
В этом случае желательно при построении объекта (монстра, человека и др.) снабжать его управляемыми органами движения (модификации, деформации, имитирующей улыбку, движение руки и т.д.), подобными мышцам и костям. Их необходимо соединить с управляющим элементом – программой. Такая программа должна производить анализ ситуации или внешних воздействий. Это уже напрямую требует применения аппарата логических нейронных сетей, одновременно и в разной степени реализующих ряд отношений вида "если – то", что наиболее близко к поведению живого существа.
Таким образом, построение реального объекта в памяти компьютера, а не его математического образа, задание ряда рычагов – "мышц" и "костей", которые способны деформировать или видоизменять объект в соответствии с формируемыми извне командами, использующими коэффициент сжатия, позволяют имитировать любое, в том числе непредсказуемое, движение объекта. (Ниже будет отмечена необходимость механизмов перемещения и вращения.)
Видны новые широкие возможности создания кинофильмов, сценических постановок и других видео сценариев.
Построение реальных объектов требует имитации объёмной, трёхмерной памяти и введения основных процедур её преобразования.
Заметим, что проблемы компьютерной реализации "живого" моделирования целиком исключают проблемы натурного моделирования, оставляя ему лишь проблемы химического, технологического и электротехнического (возврат к релейно-контактным схемам?) свойства, что, как сказано выше, сейчас успешно решается.
Основной задачей современной компьютерной графики, предназначенной для анимации, является отображение объёмных объектов на плоском экране. Применяемые эффекты создают впечатление с ограниченного ракурса: решаются проблемы видимости и скрытости элементов изображения, демонстрации перспективы и освещения. Как правило, анимация использует заранее известные сцены, весьма ограничивая альтернативное развитие сюжета, и практически не допускает динамического, оперативного вторжения в развитие сценария.
Поэтому, как указывалось выше, когда ставится задача создания средств поддержки "живого" моделирования, то первой и главной задачей является возможность сопряжения моделируемых объектов со средствами оперативного влияния на их поведение, на их адекватную реакцию.
Однако не менее важной задачей является визуализация. Если смело поставить задачу объёмной визуализации, визуализации в трёх измерениях, то немедленно возникнет необходимость создания объектов в памяти компьютера в трёх измерениях, т.е. в модели трёхмерной памяти. Объёмная визуализация существенно продвинула бы применение компьютерной графики не только в области "живого" моделирования и производственного отображения с первичной диагностикой, но и в областях сценических действий, культурно-исторических реконструкций, электронного зодчества и ваяния, бизнеса туризма и развлечений и др.
Предложения по созданию динамически управляемых с помощью логической нейронной сети трёхмерных компьютерных объектов "живого" моделирования представлены в [19, 20, 21].
Создание графических объектов в модели трёхмерной памяти
Модель трёхмерной памяти. При построении объекта (монстра, человека и др.) необходимо снабжать его управляемыми органами движения (модификации, деформации, имитирующей улыбку, движение руки и т.д.), подобными мышцам и костям. Их необходимо соединить с управляющим элементом – программой. Программа должна производить анализ внешней (для объекта) ситуации или внешних воздействий. Это требует применения аппарата логических нейронных сетей, одновременно и в разной степени реализующих ряд отношений вида "если – то", что наиболее близко к поведению живого существа.
Таким образом, построение реального управляемого объекта, а не его математического образа, в памяти компьютера позволяют имитировать любое, в том числе непредсказуемое, движение объекта. Такое представление упрощает визуализацию при наличии трёхмерного экрана.
Назовём ячейку, занятую минимальным элементом объекта, точкой этого объекта. Точка должна содержать информацию о цвете (пиксель) и коэффициент освещённости.
Пусть адресное пространство компьютера, отведённое для модели трёхмерной памяти, при сквозной линейной адресации ячеек с нуля определяется N разрядами. Адрес разбивается на три части (рис. 18.1).
Здесь x, y, z — координаты точки в трёхмерной памяти.
Трёхмерная память (в данном случае – кубическая) в виртуальной линейной памяти компьютера задаётся массивом M[0:N; 0:N; 0:N] переменных m[x, y, z]. Линейный адрес точки объекта находится:
< m[x, y, z]> = C + x + yN + zN2,
где С – базовый адрес массива.
Тогда задача имитации движения - деформации или перемещения объектов - превращается в задачу нахождения новых значений индексов- координат для каждой переменной, являющейся точкой объекта.
Процедуры преобразования. Создание реальных объектов требует введения основных процедур преобразования трёхмерной памяти. Такие процедуры создаются на основе следующих построений.
Пусть объект в трёхмерном пространстве задан своей оболочкой. Каждый элемент оболочки является точкой. Оболочка формируется при создании объекта. В общем случае, объект может быть заполнен значащей информацией и внутри, если его вид в разрезе интересует пользователя.
Пользователем – разработчиком задаются "мышцы" (далее кавычки опустим) как рычаги управления деформацией объекта в центральной системе координат. Мышца задаётся координатами начала и конца, а также точкой неподвижности, относительно которой возможно сокращение мышцы. Точка неподвижности может совпадать с началом или концом мышцы. По умолчанию точка неподвижности является серединой мышцы. Мышца не обязательно связывает точки оболочки. В общем случае она может располагаться внутри и даже вне объекта, принадлежа ему и влияя на его деформацию.
Мышцы объекта являются невидимыми, входящими в список мышц данного объекта и допускающими реакцию на приказы извне.
Взаимодействие мышцы с объектом осуществляется с учётом его свойств. Ведь сокращаясь, мышца должна увлекать точки объекта или только его оболочку, имитируя сокращение всего объекта.
Сокращение твёрдого тела определяется коэффициентом сжатия (растяжения) объекта.
Вязкое тело, внутри которого сокращается мышца, характеризуется "затуханием" величины смещения точки объекта с увеличением её расстояния до мышцы.
Сокращение вязкой и упругой среды, такой, как резина, губка, упитанные щёки и др., обычно сопровождается явлением, которое можно назвать попыткой сохранения объёма в результате выпучивания. При сокращении мышцы это означает, что перенос клеток объекта вдоль мышцы обретает перпендикулярную составляющую, тем меньшую, чем больше расстояние до мышцы.
Для имитации вращательных движений используются шарниры. Координаты шарнира задаются точкой внутри объекта. Задаётся мышца, связывающая лучи (элементы скелета), исходящие из центра шарнира. Сокращение мышцы должно вызывать видимость движений, характерных при ходьбе, движении рук и т.д. Это требует таких деформаций объектов, при которых его клетки, облегающие эти лучи, или только клетки оболочки, несущие в себе данные лучи, сближаются вместе с лучами, не приводя к дополнительной деформации.
Взаимодействие многих объектов требует наличия центральной системы координат, в которой происходят все перемещения объектов относительно друг друга, и систем координат, связанных с каждым объектом – объектовых систем координат. Объект создаётся в его объектовой системе координат. Его движения "относительно себя" — сокращение мышц, повороты, вращение – удобнее наблюдать в связанной с ним объектовой системе координат. Таким образом, центральная система координат должна быть связана со многими объектовыми системами матрицами пересчёта.
Внешнее воздействие. Необходимость внешнего воздействия на объект обусловлена не только взаимодействием различных объектов, но и созданием инструментов формирования, "ваяния" объекта. Идея такого ваяния заключается в следующем.
Первоначально формируется некоторая заготовка, имеющая наиболее близкую форму для желаемого объекта. (Например, шар, — для формирования головы.) Приближая к заготовке объект-"инструмент", например, молоток, необходимо потребовать, чтобы при угрозе прикосновения к объекту, ближайшие его клетки отступали, и оболочка, продавливаясь, принимала форму проникающего инструмента. Эта операция напоминает ковку или штамповку. Таким многократным воздействием с разных сторон можно добиться любой формы объекта.
Можно допустить не только вдавливание инструмента в объект, но и вытягивания близлежащей области, подобно нарыву. В этом случае после соприкосновения с объектом следует отводить инструмент от него. Близкая область оболочки должна вытягиваться вслед за инструментом.
Если не деформировать оболочку, а позволить инструменту проникать в объект, то подобное действие сравнимо с действием ножа. Так от объекта могут отсекаться части, — для последующего уничтожения или для создания новых объектов.
Построение объектов. Для построения объектов целесообразно воспользоваться тремя координатными проекциями, подобно 3D-MAX. Сначала в одной из проекций рисуется пока неточный, предполагаемый разрез объекта. На других проекциях автоматически сформируются отрезки – боковые проекции этого разреза. На разрезе определяется точка для дальнейшей деформации объекта в двух других проекциях. Проекция этой точки высвечивается на двух других проекциях.
Подведя мышь к одной из проекций точки, следует повести её (мышь) вверх или вниз, формируя выпуклость вслед за этим движением так, чтобы первоначально заданная плоская поверхность образовала выпуклость. Так сформируется объёмное изображение. Если при этом придерживать клавишу control (или другим способом), плоская поверхность сохранится для замкнутости объёма или для последующей аналогичной деформации в ту или другую сторону.
Повороты получившейся объёмной фигуры позволяют производить указанным способом различные деформации.
Командно-программное управление объектами. Необходимо помнить, что объекты в трёхмерной памяти создаются для их визуального восприятия. Система визуализации может базироваться на проецировании видимой поверхности всех объектов, включая фон, на плоскость z = zmax в центральной системе координат. Эта плоскость и представляет экран. Значит, каждая прямая, исходящая из точки (xi, yi, zmax ) и перпендикулярная экрану, продолжается (здесь рассматриваем только прозрачную среду) до первого пересечения с одним из объектов или с фоном. Полученная точка обеспечивает изображение в данной текущей точке экрана.
Для получения различных (томографических) срезов экран может формироваться и в других плоскостях вида .
Введение мышц, шарниров, объектовых систем координат позволяет программировать действия объектов и их взаимное расположение. Программа создаётся на базе командного языка, содержащего инструкции вида:
<сократить мышцу т с l = 0,8>; <повернуть объект Р по матрице преобразования S>; <приблизить объект Р>; <перенести объект Р>; <показать срез z = 5> и т.д.
Таким образом, могут планироваться и исполняться сцены, основанные на имитации движения объектов, их мимики, преобразования и т.д.
При программировании поведения объектов учитывается длительность выполнения действий, их инерционность, предшествующие команды управления.
Все построения для трёхмерной управляемой анимации, в упрощенном варианте пригодны и для "плоской" анимации. Связанные с этим проблемы также рассмотрены в [16]. На рис. 18.2 показано возможное выделение мышц для некоторых простых движений как "плоского", так и объёмного объекта. Вне объекта обозначены невидимые мышцы. На рис. 18.3 показан достаточный набор мышц для эмоциональных выражений на "плоском" лице.
увеличить изображение
Рис. 18.3. Выделение мышц для выражения эмоций на "плоском" лице (разрез ограничивает область деформации нижней губы)
Логические нейронные сети в основе управления трёхмерными компьютерными объектами
Занимаясь "живым" моделированием на основе компьютерных и информационных технологий, следует быть приверженным точным наукам, в которых любые построения начинаются с исчерпывающих, непротиворечивых определений.
Что есть жизнь? Какое существо можно назвать живым?
- Живое существо адекватно реагирует на внешние раздражители.
- Адекватность реакции живого существа подчиняется критерию "хорошо – плохо".
В качестве комментариев отметим, что даже внутренние болезни имеют внешние причины: экологические, политические, наследственные, бактериологические и т.д. В то же время философски уместно говорить о жизни существа не в абсолютном аспекте, а в аспекте моделирования: вся жизнь представляет собой игровую модель, а задачей любого моделирования является минимизация целевой функции, в конечном итоге отделяющей понятие "хорошо" от понятия "плохо". К сожалению, для каждого индивидуума эти понятия различны и на нейросетевом (мозговом) уровне обусловлены обучением – генетическим или практическим.
Посчитаем достаточными положения 1 и 2 для настоящего уровня решения задачи "живого" моделирования. Однако мы понимаем, что достичь такого уровня обучения, когда система сама начинает осознавать, что хорошо, а что плохо, на основе индуктивного и дедуктивного мышления, вряд ли сейчас возможно практически. Мы вынуждены решать задачу-минимум, требуя, в основном для культурно-развлекательных целей, адекватности реакции. Степень этой адекватности в соответствии с означенным критерием мы уж предусмотрим сами.
Например, можно научить объект улыбаться, если он видит картинку с преобладанием розовых тонов, но гневаться, если на картинке превалирует коричневый цвет и т.д.
Таким образом, ближайшей практической задачей является закладка инструментальных основ. Позволим проблеме развиваться на базе нейросетевых технологий более глобально в дальнейшем.
Пусть сотворённый объект (рис. 18.2, 18.3) в компьютерном или материальном воплощении наделён некоторым фоновым поведением, реализуемым программно. Например, такое поведение может быть аналогичным поведению зверя в клетке, нервно дефилирующего вдоль решётки. Целесообразно в программе использовать и элементы случайности на основе ДСЧ – датчика случайных чисел. Это может ввести разнообразие в фоновое поведение объекта: внезапный поворот головы, смена направления движения и т.д. Такое поведение уже само по себе является занимательным для зрителя.
Однако представим себе, что фоновая программа предусматривает периодическое прерывание для включения "внимания" объекта к внешней обстановке – к "картинке", циклически вводимой в его память с помощью видео ввода.
Включается программа анализа "картинки", питающая рецепторный слой нейросети. Алгоритмы такого анализа, как подготовительного этапа решения задачи распознавания, представляют собой отдельное направление исследований. На этом этапе "картинка" отображается в пространстве признаков, обоснованных для распознавания и принятия решений. На самом простом практическом уровне может производиться подсчёт различных оттенков цветов в элементарном квадрате "картинки", обнаружение резких цветовых границ, наличие линий, кругов определённого цвета и т.д.
Ограничиваясь только цветом, можно, в терминах алгебры высказываний, представить следующий пример алгоритма реакции объекта.
!["В квадрате i, j преобладает зелёный цвет" \land "отсутствуют резкие переходы в оттенках" \to "Запустить программу умиротворения";
"В квадрате i, j преобладает зелёный цвет" \land "наблюдаются резкие переходы в оттенках" \to "Запустить программу тоски по лесным далям";
"В квадрате i, j преобладает голубой цвет" \land "наблюдаются тёмные вкрапления" \to "Запустить программу приветствия";
"В квадрате i, j преобладает красный цвет" \to "Запустить программу повторного обзора квадрата" \land "Запустить программу гнева";
"В квадрате i, j обнаружен круг с преобладанием телесного цвета" \to "Запустить программу приветствия";
"В квадрате i, j преобладает коричневый цвет" \to "Запустить программу презрения";
"В квадрате i, j преобладает жёлто-оранжевый цвет" \to "Запустить программу радостного возбуждения" и т.д.](/sites/default/files/tex_cache/70c4d8cd54eedcb9ba9819982eb3578b.png)
Тогда обученная для реализации данного алгоритма однослойная логическая нейронная сеть представлена на рис. 16.4. Логическая нейронная сеть составлена по методике, обоснованной ранее. Это определило единичные значения весов синапсических связей, не указанных на рисунке.
Здесь нейрон-рецептор 1 принимает значение достоверности высказывания "В квадрате преобладает зелёный цвет" как величину возбуждения.
Рецептору 2 сообщается значение достоверности высказывания "Отсутствуют резкие переходы в оттенках ".
Рецептор 3 принимает значение достоверности высказывания "Наблюдаются резкие переходы в оттенках".
Рецептор 4 возбуждается на величину достоверности высказывания "В квадрате преобладает голубой цвет".
Рецептор 5 принимает значение достоверности высказывания о похожести на полёт птиц.
Рецептор 6 возбуждается на преобладание красного цвета.
Рецептор 7 возбуждается на величину достоверности обнаружения круга телесного цвета.
Рецептор 8 принимает значение достоверности преобладания коричневого цвета.
Рецептор 9 принимает значение достоверности преобладания жёлто-оранжевого цвета.
И так далее, – по расширяемому на основе бесконечного совершенствования количеству используемых факторов.
Нейросеть строится обученной. При её построении и в процессе её развития с добавлением новых рецепторов и нейронов выходного слоя, ответственных за реакцию, вводятся связи на основе эталонных ситуаций. Это означает, что возбуждение связываемых при этом рецепторов равно единице. Иначе говоря, в логическом описании создаваемой системы исходные высказывания имеют значение ИСТИНА. Переход от булевых переменных к действительным (к достоверности высказываний) соответствует модели ассоциативного мышления.
Практически за эту достоверность можно принимать частоту появления или "удельный вес" определённого цвета (соответствующих пикселей) в анализируемом квадрате. Подавая значения достоверности на рецепторный слой, с помощью функции активации находим величины возбуждения нейронов выходного слоя. Эти величины служат параметрами запускаемых программ.
Рекомендуемая функция активации имеет вид
![V_\text{Вых}=\xi (\sum_{v}\omega_v V_v -h)](/sites/default/files/tex_cache/35c4ddcbe7c885ec88d590f6a6d80c68.png)
![\xi(s)=\left\{\begin{matrix}
s, \text{ при s }\geq 0\\
0, \text{ при s }< 0
\end{matrix}\right.](/sites/default/files/tex_cache/1d1a3fc39bdf2adb3410f014331d5bf8.png)
Порог h целесообразно выбрать достаточно высоким, например, положим h = 0,5, чтобы объект не выглядел слишком "нервным", возбуждаясь понапрасну из-за малой причины возбуждения.
Таким образом, "живое" моделирование – это экспериментальное направление, позволяющее проверить и осуществить все достижения на пути развития технологий искусственного интеллекта. Это реальный путь воплощения новых направлений в искусстве, в шоу-бизнесе, в учебной, игровой и развлекательной деятельности.
Создание стереоэффекта с помощью системы прозрачных мониторов
Проектирование объёмного изображения на плоский экран для визуализации осуществляется "на всю толщину" изображения, то есть на весь диапазон изменения . А что, если [19] "нарезать" отображаемый объект или всё пространство по оси z, направленной на зрителя, на слои "толщиной"
(рис. 18.5), и каждый такой слой проектировать на свой "передний" срез, как на отдельный экран, а экраны расположить друг за другом, как показано на рис. 18.6? Ведь прозрачные мониторы уже поступили в продажу!
увеличить изображение
Рис. 18.6. Отображение объёмного изображения на нескольких прозрачных мониторах
Изображения на разных экранах, в зависимости от угла наблюдения, оказываются смещёнными относительно общей требуемой картины: с одной стороны образуются пустые зазоры, с другой изображения наползают друг на друга. Для получения стереоэффекта зрителю необходимо находиться строго напротив экранов, как показано на рисунке.
На рис. 18.7 отображена попытка экспериментального воспроизведения объёмного экрана с помощью бытовой полихлорвиниловой плёнки. Рисунок назван "Всплывающая черепаха", так как недостаточная прозрачность плёнки, уложенной в 18 слоёв, не позволяет разглядеть концы лап на дне водоёма. В то же время такое замутнение свидетельствует о наличии объёма в данном эксперименте. К сожалению, при ручной работе видна некоторая нестыковка слоёв, а также видны границы между послойным разрезом бумажного изображения. Становятся очевидными задачи дальнейших исследований в области "прозрачных" мониторов: достижение максимальной прозрачности при минимальной толщине плёнок – для возможности их сборки в достаточно "толстые" пакеты.
А если потребовать условного выполнения требования ? Технически и технологически это требует значительного роста количества используемых прозрачных экранов на основе достижений "прозрачной электроники". Становится оправданной разработка экранных плёнок с предельной толщиной "в одну точку", чтобы "нарезка" выродилась в представление множества срезов. Собранные (склеенные) на их основе пакеты должны представлять объёмное (трёхмерное) экранное пространство.
В многочисленных сообщениях о достижениях в области "прозрачной электроники" пока нет ссылок на исчерпывающие научные публикации. Следует привести лишь факт результативности проводимых исследований.
Прямоугольное экранное пространство
Современные плоские экраны используются с весьма ограниченным ракурсом. Поэтому мы и размещаем телевизор где-то в сторонке, в углу. Возможно, что и столь дорогое кубическое или прямоугольное экранное пространство обречено на ограниченный угол обзора для создания должного впечатления. В этом случае прямоугольный трёхмерный экран также достоин размещения где-то в углу помещения (рис. 18.8).
Следует отметить, что экранное пространство образует некоторую среду, в которой действуют законы оптики. Например, не оказывается ли демонстрируемый объект погружённым в сосуд с жидкостью, подобно рыбке в аквариуме?
Более того, возможно, что взгляд сбоку, со стороны торцов экранных плёнок, может встретиться с эффектом существенного отличия изображения от получаемого при взгляде спереди.
Это также может ограничить применение экрана на основе пакета плоских плёнок. Однако его применение может быть вполне оправдано и даже целесообразно в случае создания реагирующего объекта для интеллектуального отображения производственного процесса, предсказания погоды или социального напряжения, для сценических постановок.
Сферическое экранное пространство
Даже при бытовом применении объёмного экрана возникает желание кругового обзора с одинаковым качеством изображения. Необходимо рассмотреть возможность экранизации в сферической системе координат. В ней каждая точка характеризуется расстоянием r и двумя углами: азимутом и углом места
. Пересчёт из декартовой системы производится по формулам
![r=\sqrt{x^2+y^2+z^2}, \varphi =arctg\frac{x}{z}, \theta =arctg\frac{y}{r}](/sites/default/files/tex_cache/8fe4a73bedc8e177f803f04251dc58af.png)
Применение сферической системы координат определяет форму объёмного экрана: он становится полусферой (рис. 15.9). Центр системы координат совпадает с центром основания прямоугольника.
Однако важным отличием является то, что сами экранные плёнки должны быть сферическими. Вместо нарезки на , становится актуальной нарезка на
. Центр полусферы также выродится в сферическую плёнку "на одну точку".
В компьютерной модели трёхмерной памяти весь обозримый объём представляет собой прямоугольник, а, скорее всего, – куб. При преобразовании в сферическую систему координат возникает вопрос: вписать этот куб в полусферу или вписать полусферу в куб? В первом случае нет потери информации, что важно, например, при отображении сценических действий. Однако при этом не используется существенная часть экранного пространства. Во втором случае теряется информация, но увеличивается масштаб представляемого объекта при его центральном размещении. Это важно при построении реагирующих объектов для интеллектуальных систем отображения работы предприятий.
Заметим, что в первом случае "лишнюю" часть сферического экрана можно просто срезать. Получится экран – куб, со сферическим расположением экранных плёнок, использующий сферическую систему координат. Торцевой эффект, если такой существует, будет значительно снижен.
При круговом обзоре экранного пространства важно не допустить, чтобы свечение внешней поверхности экранной плёнки было видно с другой её стороны. Это испортило бы общее впечатление. По-видимому, следует затенять с другой стороны каждую светящуюся точку. Это может потребовать перемежения экранных и затеняющих плёнок или нанесения двух слоёв "прозрачной электроники" на каждую экранную плёнку. И то и другое, несомненно, будет отрицательно влиять на прозрачность и разрешающую способность сферического объёмного экрана.
Теоретически возможно выполнение модели трёхмерной компьютерной памяти в сферической системе координат. Однако "математика" анимации представляется весьма сложной. Вряд ли это следует считать целесообразным. Ведь со временем экранные пространства, вбирающие лавинные достижения нано-технологий, будут дешеветь. Да и в массовом применении вряд ли привычная сцена превратится в полусферу.
Применение сферических экранных плёнок позволяет не только создавать экранные пространства для внешнего наблюдения, но и для "внутреннего" расположения зрителей, для которых этот экран становится "внешним", как показано на рис. 18.10. Можно легко себе представить разнообразные применения такого экрана в области туризма и развлечений.
Цилиндрическое экранное пространство
Технология изготовления сферического экрана представляется весьма сложной. Во многих случаях не только достаточен, но даже целесообразен лишь круговой обзор моделируемого объекта. В этом случае можно использовать цилиндрическую систему координат . Пересчет в неё из декартовой системы производится по формулам
![r=\sqrt{x^2+z^2}, \varphi =arctg\frac{x}{z}, h=y](/sites/default/files/tex_cache/a6dfc65aed7d47d4b60c7d38553e8d7c.png)
На рис. 18.11 показано примерное изображение кувшина (слева) в цилиндрическом объёмном экране, составленном всего лишь из шести вложенных прозрачных мониторов. Попытка натурного воспроизведения с помощью плёнки натолкнулась на столь высокое замутнение, что шейка кувшина погрузилась в туман. Другая технология изготовления, например, с помощью плотно вложенных хрустальных цилиндров с наклеенными срезами изображения на тончайшей бумаге, дорога и недоступна.
Для возможности кругового обзора цилиндры-мониторы должны быть двусторонними – для показа "обратной" стороны некоторых элементов. Для исключения искажений при наложении двух разных изображений каждый слой должен содержать изображение только с одной стороны. Это учтено на рисунке некоторым разворотом кувшина так, чтобы показать внутренний вид достаточно "толстой" ручки. На рисунке слева пронумерованы разрезы, справа пронумерованы соответствующие им слои – цилиндры экрана.
Следует предположить возможность предельного перехода изображения кувшина справа к изображению слева при "бесконечном" возрастании количества слоёв объёмного экрана. Достаточно большое количество слоёв должно обеспечить стерео эффект.
Вычислительные средства управления объёмным экраном
Очевидно, что лишь высокопараллельная архитектура, подобная мозгу, может эффективно исполнять функции видео-нейрокомпьютера. Актуальна постановка задачи разработки специальной параллельной приставки к персональному компьютеру (рабочей станции) – видео-нейрокомпьютера, "врезанного" в современные популярные операционные системы. Наконец, широкое привлечение сетевых технологий позволит создавать значительные распределённые сюжеты с коллективным участием многих взаимно влияющих "живых" объектов.
Реализация трёхмерной памяти, при которой моделируемые объекты оказываются воплощёнными не с помощью своего математического образа, а пространственно, также ставит новые технические задачи. Одна из них заключается в отображении содержимого памяти в некоторой экранной трёхмерной среде. Это явилось бы новым решением задачи формирования стереоизображений. Возникает проблема обеспечения высокой производительности вычислительных средств, управляющих работой объёмного экрана. Ведь каждый слой управляется отдельным процессором. Процессоры работают синхронно (рис. 18.12), каждый обрабатывает свой срез изображения. То есть, процессоры выполняют копии одной программы, независимо обрабатывая свои данные. Такая обработка в многопроцессорной вычислительной системе (ВС) соответствует SPMD-технологии, Single Program – Multiple Data [15].
Смежные процессоры обладают каналами быстрого обмена для обеспечения преемственности данных при движении объекта.
Возможность применения реагирующего объекта для прогноза погоды
Работа реагирующего объекта, как и каждой управляющей системы, тактируется. Поведение объекта (например, танцора) делится на циклы, в течение которых он совершает действия и возвращается в некоторое состояние, адекватное ситуации. Поскольку ситуация динамически меняется, то и указанное состояние меняется. При программировании такое действо выражается термином "цикл в цикле".
Пусть визуальная, красивая и радостная система прогноза погоды, выставленная на центральной площади населённого пункта, реализована в виде робота (рис. 18.13, слева) или с помощью объёмного цилиндрического экрана (на том же рисунке справа).
Периодически, скажем, через каждые полчаса, из Гидрометцентра поступают уточнённые данные об ожидаемой погоде: температура, давление, влажность, направление и сила ветра, вероятность дождя, штормовое предупреждение и пр. С помощью логической нейронной сети объекту указываются его циклические действия, соответствующие сложившемуся вектору – ситуации. Например, при резкой смене ситуации он может даже на мгновение исчезнуть и появиться вновь в галошах и с зонтиком, он может вместе со срывающимся зонтиком поворачиваться и отклоняться, он может дрожать от холода и т.д. Цикл его действий может заканчиваться некоторым успокоением для данной ситуации и начинаться вновь. Так – до нового уточнения данных Гидрометцентра, по которым производится резкий или плавный переход к новым действиям.
Видны значительные возможности объёмного экранирования по сравнению с возможностями робототехники. Ведь робот может просто свалиться с пьедестала при попытке совершить столь сложные движения.
Возникает вопрос об уточнении данных Гидрометцентра с требуемой частотой. Мы уже упоминали, что впечатляет та система дифференциальных и интегральных уравнений, которую необходимо оперативно решать.
Здесь-то как раз и следует воспользоваться методом ассоциативных вычислений. Для большого количества векторов - значений факторов факторного пространства по точным алгоритмам рассчитываются вектора - результаты. Так для большого количества экспериментов создаётся база (опытных) знаний, для активизации которой формируется логическая нейронная сеть. Рецепторный слой строится на основе ранее использованных значений факторов. Рецепторы связываются с нейронами единственного выходного слоя, реализуя отношения вида . Связи могут обладать весами в соответствии со значимостью фактора или его значения, определяемой опытом эксплуатации.
Выборка по логической нейронной сети производится ассоциативно (голосованием) с помощью рассмотренной выше несложной пороговой функции активации. Результат определяется максимально возбудившимся нейроном, однако он может получаться на основе усреднения величины возбуждения нескольких нейронов. Задание текущей ситуации, т.е. достоверность высказывания о принадлежности данных, на рецепторах для каждого фактора задаётся отдельно, обратно пропорциональным "расстоянию" распределением единицы между двумя "близкими" рецепторами, как было указано ранее.
Напомним, что логическая нейронная сеть представляется матрицей связей. Она легко расширяется, уточняется, модифицируется. Это делается вне рабочего режима - в автоматическом режиме самообучения, если существует обратная связь на основе оперативной оценки точности прогноза. Таким образом, в рабочем режиме прогнозирование производится с помощью "быстрых" ассоциативных вычислений по базе знаний, что может быть вполне достаточно для наглядного информирования населения.
В заключение отметим, что приведённые рассуждения напоминают фантастический сюжет. Однако даже наивная фантастика всегда предшествовала серьёзным разработкам. Фантастика ставит задачи. Их реальность основана на текущем уровне знаний. Технология прозрачных мониторов и гибких прозрачных электронных схем подсказывает реализуемый, в сегодняшнем представлении, путь создания средств объёмного отображения. Предстоят ещё значительные усилия по достижению достаточной прозрачности пакета экранных плёнок, и объекты могут казаться, словно выплывающими из мрака. Не следует забывать о создаваемой при этом особой оптической среде со специфическими свойствами и т.д.
Так что вполне возможно, что объёмный экран на основе пакета экранных плёнок может оказаться временным достижением. Временным, - до открытия той среды, по координатам точек которой будут доставляться кванты энергии, несущие пиксели свечения.
Краткие итоги
- Большое количество показателей современных управляющих и производственных систем затрудняет оперативный мониторинг, проводимый операторами-диспетчерами. Для снижения отрицательной роли человеческого фактора требуется создание автоматического посредника, осуществляющего своевременную реакцию на результаты контроля текущего состояния системы. Такая реакция может учитывать первичную диагностику.
- Компьютерные технологии мониторинга требуют воплощения реагирующих объектов на базе графического "живого" моделирования.
- Объёмное воплощение и отображение требуют преобразования линейной адресуемой памяти компьютера в трёхмерное отображение.
- Для объектов, размещённых в трёхмерной памяти, формируются "мышечные" и "костные" процедуры деформации и движения. Выполнение этих процедур сопрягается с органами управления вне моделируемого объекта.
- Управление трёхмерным объектом осуществляется с помощью логической нейронной сети. Она воспринимает "ситуацию" и преобразует её в приказы по параметризованному запуску процедур движения для адекватной реакции объекта.
- На основе применения сферических пакетов экранных плёнок возможно создание объёмных экранов как для внешнего, так и для внутреннего расположения зрителя.
Вопросы
- Что понимается под термином "жизнь" в информационно-техническом аспекте?
- Как строится модель адресуемой трёхмерной памяти?
- Каковы принципы построения трёхмерной графики в модели трёхмерной памяти?
- Как, на принципиальном уровне, формируются процедуры перемещения точек в трёхмерной памяти, имитирующие деформации, движения и повороты?
- Как логическая нейронная сеть осуществляет реагирование на текущие значения параметров сложной системы? Возможна ли при этом первичная диагностика?
- Как осуществляется трёхмерная экранизация "живых" моделей на основе достижений "прозрачной" электроники?