На правах рукописи
Перцовский Станислав Леонидович
Онтологоориентированный подход
к разработке программных средств
поддержки процесса сочинения
последовательностей движений человека
05.13.11 – математическое и программное обеспечение
вычислительных машин, комплексов и
компьютерных сетей
Автореферат
диссертации на соискание ученой степени кандидата технических наук
Владивосток 2007
Работа выполнена в Отделе интеллектуальных систем Института автоматики и процессов управления ДВО РАН.
Научный руководитель: кандидат физико-математических наук, доцент Гаврилова Татьяна Леонидовна.
Официальные оппоненты: доктор технических наук, профессор Бобков Валерий Александрович, кандидат физико-математических наук, доцент Вольнов Игорь Николаевич.
Ведущая организация: Институт прикладной математики им. М.В. Келдыша РАН (г. Москва).
Защита состоится " 16 " февраля 2007 г. в 10 часов на заседании диссертационного совета Д 005.007.01 в Институте автоматики и процессов управления ДВО РАН по адресу: 690041, г. Владивосток, ул. Радио, 5.
С диссертацией можно ознакомиться в библиотеке ИАПУ ДВО РАН.
Автореферат разослан " 12 " января 2007 г.
Ученый секретарь диссертационного совета Д 005.007.01 А.В. Лебедев
-2
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы диссертационной работы определяется недостаточной разработкой методов создания программных средств автоматизации процессов, протекающих в слабо формализованных предметных областях (ПО). К числу таких процессов относятся, например, сочинение танцев, создание танцевальных композиций в гимнастике и фигурном катании, разработка комплексов лечебных упражнений для физиотерапевтического лечения больных и т.п. В этих процессах автор (хореограф, врачфизиотерапевт и др.) создаёт (сочиняет) сценарий движения человека на протяжении некоторого конечного промежутка времени, как правило, в соответствии с определённым ритмическим рисунком.
В настоящее время компьютерных средств, помогающих, например, хореографам создавать новые танцы, известно немного. Можно привести примеры нескольких программ, помогающих хореографам в сочинении балетных танцев (DanceForms, Web3D Dance Composer), но для современных сольных танцев (ССТ) таких программ нет. Основная причина этого состоит в том, что все существующие программы для балетных хореографов базируются на устоявшихся знаниях о классическом балете – зафиксированном конечном множестве записей общеизвестных позиций, поз и движений танцора классического балета (записях Лабана). Подобные знания о ССТ не формализованы, сведения об этих танцах зачастую противоречивы, а способов записи таких танцев (кроме видеозаписи) нет. При сочинении новых ССТ какого-либо стиля хореограф не только сам решает, какие позы, позиции и движения, характерные для выбранного стиля, он будет использовать, но и сочиняет новые позы, позиции и движения, опираясь на собственные представления о стиле и о возможностях танцоров таких танцев.
Поиски программных средств, пригодных для оказания помощи авторам в других ПО при сочинении соответствующих последовательностей движений, к успеху не привели: существующие программные средства анимации движений человека рассчитаны на пользователей-программистов и/или базируются на фиксированном наборе возможных движений человекоподобной модели (например, Life Forms Studio или Poser).
Сегодня для практического использования требуются программные средства, помогающие авторам в сочинении и современных танцев, и вольных упражнений в спортивной гимнастике, и различных композиций в художественной гимнастике, и комплексов лечебных упражнений, и т.д. При этом пользователями этих программных средств всегда предполагаются сами авторы сочинений – непрофессионалы в программировании, но хорошие специалисты в своих областях.
При создании таких средств следует в первую очередь исследовать эту слабо формализованную ПО и построить её математическую модель. Это можно сделать в рамках онтологоориентированного подхода к разработке -3программных систем (Клещев А.С., Артемьева И.Л., Guarino N.). Под онтологией предметной области здесь понимается множество определений терминов этой предметной области и описание связей между ними. При онтологоориентированном подходе к разработке программного средства на первом шаге процесса моделирования соответствующей ПО необходимо описать её онтологию, а на втором – построить математическую модель этой онтологии. На модели этой онтологии ставится (и решается) задача разработки программного средства.
Актуальность задачи применения онтологоориентированного подхода к разработке программных средств, пригодных для автоматизации творческого процесса сочинения последовательностей движений человека, протекающего в слабо формализованной ПО, определила выбор цели диссертационной работы.
Цель диссертационной работы – разработка с использованием онтологоориентированного подхода и исследование моделей и методов создания программного средства, поддерживающего процесс сочинения последовательностей движений человека и ведущего диалог с автором сочинения в системе понятий этого автора.
В качестве объекта исследования рассматривается процесс сочинения хореографом ССТ стиля "Фанк" (ССТФ) как пример сочинения последовательности движений человека по авторскому сценарию.
Для достижения поставленной цели в диссертационной работе необходимо решить следующие задачи:
построение онтологии ПО;
построение модели этой онтологии;
разработка методов создания интерактивной компоненты программного средства поддержки процесса сочинения последовательностей движений человека на основе построенной модели онтологии;
разработка методов создания ядра программного средства поддержки процесса сочинения последовательностей движений человека на основе построенной модели онтологии;
экспериментальное исследование предложенных моделей и методов – разработка и применение на практике экспериментальной версии программного средства поддержки процесса сочинения последовательностей движений человека в ПО "Хореография ССТФ".
Методы исследования. Для решения указанных задач использовались:
существующие виды записи танцев, методы построения, анимации и текстурирования трехмерной модели человека и методы построения человекоподобных роботов; методы построения онтологий предметных областей и их математических моделей; методы построения интерфейсов; элементы теории искусственных языков; методы построения трансляторов; методы объектноориентированной разработки программных средств; алгоритмы трехмерной графики (технология DirectX); методы системного программирования.
разработаны принципы построения онтологии ПО "Процесс сочинения последовательностей движений человека" и на их основе построены онтология и её модель для ПО "Хореография ССТФ";
разработаны принципы построения на основе онтологии ПО интерактивного компонента программного средства поддержки процесса сочинения последовательностей движений человека;
разработаны онтологоориентированные методы создания ядра программного средства поддержки процесса сочинения последовательностей движений человека;
Практическая ценность работы состоит в следующем:
разработаны язык диалога хореографа с программным средством поддержки процесса сочинения ССТФ и интерпретатор этого языка;
создана программа "Dancer" – экспериментальная версия программного средства поддержки процесса сочинения ССТФ;
результаты работы нашли применение в учебном процессе:
в Дальневосточном государственном университете: материалы 2-ой главы диссертации используются в курсе лекций по дисциплине "Интеллектуальные системы" специальности "Математическое обеспечение и администрирование информационных систем", во Владивостокском государственном университете экономики и сервиса: онтология ПО "Хореография ССТФ" и программа "Dancer" используется при подготовке и проведении уроков хореографии;
программное средство "Dancer_M1" (макетная версия программы "Dancer") зарегистрировано в Реестре программ для ЭВМ 5 сентября г. (Свидетельство Федеральной службы по интеллектуальной собственности, патентам и товарным знакам об официальной регистрации программы для ЭВМ № 2006613128).
Апробация работы. Основные положения диссертации докладывались и обсуждались на Всероссийском научно-техническом фестивале молодежи "Мобильные роботы" (Москва, 2002), Дальневосточных математических школах-семинарах имени академика Е.В. Золотова (Владивосток, 2003, 2006;
Хабаровск, 2005), Международных конкурсах компьютерных программ студентов, аспирантов и молодых специалистов (Владивосток, 2004, 2006), Научной конференции студентов и аспирантов ДВГУ (Владивосток, 2004), Международной мульти-конференции по систематике, кибернетике и информатике (Орландо, США, 2005), Международной научно-технической конференции "Интеллектуальные и многопроцессорные системы" (Дивноморск, 2005), а также на Объединённых семинарах Отдела интеллектуальных систем ИАПУ ДВО РАН и кафедры программного обеспечения ЭВМ Дальневосточного государственного университета.
Проводимые исследования поддерживались грантами на проект "Теоретические основы интеллектуальных систем, основанных на онтологиях, для интеллектуальной поддержки научных исследований" по программе № фундаментальных исследований Президиума РАН и на проект Президиума ДВО РАН 06-III-Г-01-021.
Структура и объем работы. Диссертация состоит из введения, пяти глав, заключения, списка литературы и трех приложений. Основная часть работы изложена на 150 страниц текста, содержит 20 таблиц и 63 рисунка. Список литературы содержит 128 наименований.
СОДЕРЖАНИЕ РАБОТЫ
Во введении обосновывается актуальность выполненных в диссертации исследований, формулируется цель работы, рассматривается научная и практическая значимость результатов, приводятся сведения об апробации и реализации основных положений диссертации.
Первая глава диссертации состоит из трех частей. В первой части рассматриваются различные программные продукты, позволяющие оказать определённую помощь в творческой деятельности человека, в том числе и в процессах сочинения последовательностей движений человека. Один из таких процессов – сочинение ССТ, в ходе которого хореограф придумывает танцевальные движения и выстраивает из них танцевальные фрагменты в соответствии с определенным музыкальным ритмом. В процессе сочинения танца хореограф нуждается в средствах фиксации придуманных им танцевальных движений и фрагментов и в исполнителе танца (танцоре). Во второй части рассматриваются известные к настоящему времени способы сочинения и записи танцев хореографами, в том числе и с использованием компьютера.
Отмечается практически полное отсутствие средств компьютерной поддержки процесса сочинения ССТ. В третьей части рассматриваются различные виды графических моделей человека и выделяются такие, которые могут быть использованы в качестве моделей танцора; здесь же анализируются существующие методы построения и анимации этих моделей.
Во второй главе излагаются принципы построения онтологии ПО "Процесс сочинения последовательностей движений человека", описывается созданная на основе этих принципов онтология ПО "Хореография ССТФ" и строится её математическая модель.
Основными объектами ПО "Процесс сочинения последовательностей движений человека" являются последовательность движений, развивающаяся во времени, её сочинитель и её исполнитель. Поэтому в основу построения онтологии этой ПО положены следующие принципы:
1. Разделение онтологии ПО на три составные части:
описывающие: множество видов элементов последовательности движений (с детальным описанием поз и позиций), структуру последовательности, взаимосвязь её элементов и ритмический рисунок;
онтология исполнителя, в которую входят термины, описывающие: части тела человека, существенные при описании движений, поз и позиций; ограничения на движения, позы и позиции (из множества, описанного в онтологии последовательности движений), накладываемые анатомией человека, и связь этих ограничений с элементами последовательности движений;
онтология сочинителя, в которую входят термины, связанные с процессом сочинения последовательности: формирования всей последовательности, её части, отдельного движения, позы или позиции.
2. Однозначность толкования терминов этих частей онтологии: термин, используемый в разных частях онтологии, имеет один и тот же смысл.
В данной работе онтологоориентированный подход применяется для разработки программного средства поддержки процесса сочинения ССТФ. В соответствии с вышеуказанными принципами выделяются три составляющие онтологии ПО "Хореография ССТФ" (см. рис. 1).
Общие термины танца Поз. стиля “Фанк” Термины танца, исполняемого в ритме музыки доли (полу-доли) При описании онтологии танца стиля "Фанк" выделены три группы терминов: общие термины танца, термины танцевального ритма и термины танца, исполняемого в этом ритме. В онтологии выделены 37 вариантов позицию стиля "Фанк" можно представить некоторым описанием с фиксированными значениями характеристик. В онтологии танца описано также вариантов общепринятых для этого стиля движений различных частей тела.
Онтология танцора. Тело танцора – это совокупность всех деталей частей тела танцора, соединенных между собой в соответствии с анатомией человека. Элементарное танцевальное движение под музыку, исполняемое танцором, называется кинетотактом. Полный кинетотакт – совокупность всех кинетотактов, исполняемых в течение доли музыкального такта. Каждый кинетотакт имеет атрибуты – параметры кинетотакта: угол движения детали части тела, угол вращения всего тела, угол поворота всего тела и высота прыжка. Ограничение на совместные движения – это указание на невозможность совместных движений некоторых деталей частей тела и/или всего тела стиля танца "Фанк", обусловленную анатомией человека.
Онтология процесса сочинения. Сочиняя танец, хореограф обычно многократно сам исполняет этот танец (или его части) перед зеркалом, выбирая и запоминая понравившиеся ему движения и отказываясь от "неудачных" движений – хореограф формирует танец. Отдельным шагом этого процесса может быть формирование восьмерок и выстраивание их в последовательность, просмотр сформированного на данный момент фрагмента танца, удаление какой-либо восьмерки из него, добавление новой восьмерки или запись сочинённого танца. Аналогично описываются процессы формирования восьмерки, полного кинетотакта и т.д.
Построенная онтология ПО "Хореография ССТФ" удовлетворяет принципу однозначности терминов. Термины всех трёх онтологий связаны между собой естественным образом иерархией понятий.
Математическая модель онтологии состоит из моделей терминов и моделей отношений между ними.
Модель танца fDance всегда состоит из некоторого количества моделей восьмерок Eight и исполняется в течение одной музыкальной композиции fMusic (рис. 2). Таким образом, для того, чтобы создать танец, нужно последовательно создавать восьмерки. Восьмерка исполняется в течение одного такта T. Каждая восьмерка представляет собой либо последовательность, состоящую из восьми моделей танцевальных движений доли fMoveD, либо последовательность, состоящую из нескольких (от девяти до шестнадцати) моделей танцевальных движений долей fMoveD и полу-долей fMoveHD (каждую долю D музыки стиля "Фанк" можно разделить на две полу-доли HalfD и HalfD2). Модель танцевального движения доли fMoveD представляет собой либо множество моделей танцевальных движений частей тела fPMoveoD, исполняемых в течение этой доли, либо модель танцевального движения всего тела fBMoveD. Аналогично для fMoveHD.
Модель танцевального движения части тела fPMoveoD – это fPMove, исполняемое в течение D, а fBMoveD – это fBMove, исполняемое в течение D.
некоторой части тела fPPose. Каждая такая модель принадлежит множеству моделей существующих позиций этой части тела – fPPoses. Аналогично для fBMove – эта модель движения представляет собой конечную последовательность моделей поз всего тела – fBPose. Эта модель описывает положение всех частей тела танцора и, соответственно, представляет собой множество моделей позиций всех частей тела танцора.
Рис. 2. Графическая иллюстрация математической модели танца Совокупность названий всех 18 деталей тела танцора – множество nBodyParts. Body – модель тела танцора: множество всех XPart, где XnBodyParts.
В свою очередь, XPart – это последовательность параметров геометрического тела. fKt является моделью полного кинетотакта: последовательность упорядоченных пар (fPMoveoDi, XiKtPar) или одна пара (fBMoveD, KtPar), где XiKtPar – модель параметра кинетотакта для i-ой части тела, а KtPar – модель параметра кинетотакта для всего тела. fKts – множество всех возможных fKt. JointM(a, b) – модель ограничений на одновременность движений a и b: булевское значение, равное 0, если a и b можно выполнять одновременно, и равное 1 в противном случае. JointMs – множество всех JointM при различных возможных значениях a и b. Таким образом, fDancer – модель танцора стиля "Фанк", fDancer def (Body, fKts, JointMs).
При построении моделей терминов процесса сочинения танца использованы общепринятые способы описания процессов: приводятся начальное состояние процесса, алгоритм преобразования текущего состояния процесса на очередном шаге в следующее и условие завершение процесса. Например, математическая модель процесса формирования танца из восьмёрок построена следующим образом:
1. Начальное состояние: пустая последовательность моделей восьмёрок.
2. Шаг процесса. Текущее состояние: конечная последовательность EB1, …, EBK моделей восьмёрок (быть может, пустая).
Преобразование – альтернатива:
Просмотр хореографом последовательности восьмёрок; новое (следующее) текущее состояние – та же последовательность EB1, …, EBK.
Формирование хореографом новой восьмёрки EN, выбор им места вставки i в последовательность и вставка восьмерки в выбранное место;
новое текущее состояние EB1, …, EBi-1, EN, EBi, …, EBK.
Выбор хореографом j-й восьмёрки в последовательности и удаление её;
новое текущее состояние EB1, …, EBj-1, EBj+1, …, EBK.
3. Заключительное состояние процесса: конечная последовательность E 1, …, E N моделей восьмёрок (быть может, пустая).
Связь терминов моделей всех трех онтологий устанавливается аналогично тому, как это сделано на рис. 1.
Используя математическую модель онтологии предметной области, можно сформулировать задачи, которые должно решать программное средство поддержки процесса сочинения последовательностей движений человека. С помощью программного средства сочинитель должен иметь возможность использовать графическое отображение записи сочиняемой последовательности, трехмерную модель исполнителя, язык диалога, включающий профессиональную терминологию сочинителя. Результат каждого из своих действий сочинитель должен видеть на экране монитора: графическое отображение записи последовательности должно обновляться при редактировании этой записи, модель исполнителя должна принимать задаваемые новые позы, выполнять указываемые сочинителем движения, должны отображаться информативные сообщения и т.д. В работе приведён полный перечень требований к разрабатываемому программному средству.
В третьей главе сформулированы принципы разработки интерактивного компонента программного средства поддержки процесса сочинения последовательностей движений человека на основе модели онтологии ПО:
1. Язык диалога пользователей с программным средством строится как язык последовательностей команд, причём прагматика языка описывается с помощью терминов онтологии сочинителя в виде диаграммы прецедентов не только для сочинителя, формирующего новую последовательность, но и для пользователя, изучающего созданные ранее последовательности движений;
семантика языка описывается с использованием диаграммы прецедентов: для каждого прецедента на естественном языке, включающем профессиональную терминологию сочинителя, описываются те действия, которые выполняет программное средство поддержки процесса сочинения последовательностей движений по команде (или по последовательности команд) пользователей;
описание синтаксиса языка состоит из двух частей: графического описания возможных последовательностей команд, задаваемых пользователем, и формального описания команд с помощью расширенной формы Бэкуса-Наура.
2. В состав интерактивного компонента входит интерпретатор команд.
Прагматика языка диалога пользователей (хореографа и его ученика) с программным средством поддержки процесса сочинения ССТФ, в частности, описывает то множество задач, которые пользователь хочет решить, используя этот язык (рис. 3).
Задача семантики – указать, какой смысл приписывается предложениям языка. В данном случае предложения языка – это команды пользователей, которые выполняет интерпретатор языка. Описание семантики языка выполнено в работе также с использованием диаграммы прецедентов (рис. 3).
Рис. 3. Диаграмма прецедентов для пользователя – хореографа Например, описание прецедента "удаление танцевального движения" выглядит так: если текущее танцевальное движение – последнее в восьмерке, то удаляются все элементарные движения, в него входящие; в противном случае текущее танцевальное движение удаляется из восьмерки, и текущим становится следующее танцевальное движение (при этом первая поза в следующем танцевальном движении заменяется на последнюю позу в текущем танцевальном движении). Удаление невозможно, если в его результате танцевальное движение полу-доли "встанет" на первое место в восьмерке, или в восьмерке появятся два танцевальных движений полу-доли, "стоящих" вместе.
Пользователь программного средства поддержки сочинения ССТФ задает команду или нажатием мыши на меню (список), на изображение модели танцора, на бегунок или вводом символов с клавиатуры (рис. 4). Синтаксис языка описывает ту последовательность команд, которую должен задать пользователь для достижения нужной ему цели.
В формальном описании синтаксиса языка команд пользователя множество терминальных символов – это имена команд меню, имена движений и позиций, характеристики позиций и движений, значения координат курсора мыши, алфавит для задания имен танцев и движений и т.п.; аксиома – нетерминал ; множество правил грамматики, записанных в расширенной форме Бэкуса-Наура, содержит около 120 правил.
Удаление танцевального Добавление танцевального Интерпретатор команд обрабатывает команды пользователя программного средства поддержки процесса сочинения ССТФ. Интерпретатор команд состоит из восьми модулей: модуль инициализации средств управления, модуль ожидания команд пользователя, модуль обработки команд мыши и т.п.
В четвертой главе описываются предлагаемые в работе методы разработки программного средства поддержки процесса сочинения последовательностей движений человека. Создание такого программного средства при онтологоориентированном подходе проходит четыре этапа (рис. 5). Методы, использованные в работе на первых двух этапах, являются известными методами формализации ПО. При создании любой программной системы непосредственное использование математических моделей терминов онтологии невозможно, поэтому в данной работе для разработки программных средств, в которых пользователь управляет движениями человекоподобной модели, определяя сценарий её поведения, предложен онтологоориентированный метод разработки ядер этих средств как совокупностей объектов в некотором объектно-ориентированном языке программирования.
Рис. 5. Этапы разработки программного средства при использовании онтологоориентированного подхода к её разработке процесса сочинения последовательностей движений человека состоит в построении компьютерных моделей (КМ) терминов онтологии ПО – ядра разрабатываемого программного средства. На четвертом этапе к ядру добавляется интерпретатор команд, интерфейс и другие программные компоненты.
В качестве онтологоориентированного метода разработки ядра программного средства поддержки процесса сочинения последовательностей движений человека предлагается сопоставление каждой модели термина в модели онтологии ПО – его компьютерной модели. В данной работе для создания ядра программного средства использовались конструкции языка C++.
Приведённые ниже примеры правил сопоставления определяются особенностями модели онтологии ПО "Хореография ССТФ": в ней используются только пять видов математических объектов (множество имён, кортеж элементов, множество кортежей, альтернативная конструкция и конечная последовательность, моделирующая процесс, состоящий из конечного числа шагов). Знак "" в тексте этих правил читается как "сопоставляется".
Множеству имен N в математической модели онтологии сопоставляется перечислимое множество _N:
где b1, …, bN – имена в математической модели.
Кортежу элементов S в математической модели онтологии сопоставляется класс _S:
где q1, …, qK – элементы кортежа, _q1, …, _qN – переменные класса _S типа T1, …, TN (N может быть равно K), соответственно, m1, …, mH – методы класса _S. Методы класса используются в том случае, когда значения переменных задаются непосредственно (пользователем) или с помощью других классов.
Множествам кортежей и альтернативных конструкций в математической модели онтологии также сопоставляются классы, элементами которых являются объекты других классов.
Процессу формирования в математической модели онтологии P сопоставляется функция _P, телом которой является цикл обработки команд хореографа:
здесь STEP1, …., STEPG – шаги процесса формирования, if (…) – условный оператор выбора команд хореографа.
Анализ структуры модели онтологии ПО "Хореография ССТФ" показал, что для создания ядра программного средства поддержки процесса сочинения ССТФ необходимо построить: КМ записи танца, КМ реалистичного изображения тела танцора, КМ анимации танцора и КМ процесса сочинения. Эти четыре компьютерные модели в совокупности образуют КМ танца, которая и служит ядром программного средства поддержки процесса сочинения ССТФ.
- 13 Метод создания КМ записи танца, по существу, заключается в том, чтобы описать некоторое множество классов для терминов онтологии танца.
Ниже приведен список этих классов, после имени класса указаны его члены.
"описание позиции": имя части тела, имя позиции, параметры позиции;
"позиция": идентификатор (указатель на) объект класса описания позиции, значения параметров позиции, функция (метод класса) для получения от пользователя-хореографа значений параметров позиции;
"поза": массив объектов класса "позиция" для всех частей тела;
"движение": количество позиций (или поз) из которых состоит движение, массив объектов класса "позиция" (или объектов класса "поза");
"общепринятое движение": имя части тела (в случае движения части тела), имя движения, значения характеристик движения, объект класса "движение";
"движение, исполняемое в течение доли (полу-доли)": значение, показывающее, исполняется движение в течение доли или полу-доли, номера начальной и конечной "музыкальных точек" на музыкальной дорожке, объект класса "движение";
"восьмерка": номер восьмерки в последовательности восьмерок, массив объектов класса "движение, исполняемое в течение доли (полу-доли)";
"танец стиля "Фанк": количество восьмерок в танце, момент времени начала танца, протяженность музыкальной доли во времени, массив объектов класса "восьмерка".
Для отображения созданной КМ записи танца в работе предлагается графический элемент "лента" (рис. 6).
Рис. 6. Пример фрагмента ленты – отображение восьмерки. 1 – лента музыкального ритма, 2 – лента танцора, 3 – лента отображения "ключей" Построение КМ изображения тела танцора проводится в три этапа. Сначала строится КМ ограничений на движения частей тела – если не задать этих ограничений, модель сможет "совершать" нереальные движения. Следующий этап – построение КМ иерархического скелета модели танцора (с помощью метода скелетной анимации). Имея эту модель, затем нужно строить КМ изображения тела танцора. Ниже приведен список классов КМ изображения тела танцора.
"часть скелета": имя части тела (скелета), идентификатор "родительской" части скелета (указатель на неё), значения углов поворота части скелета относительно "родительской" части тела;
объект "весь скелет", массив значений координат точек поверхности, массив объектов, описывающий механизм "прикрепления" вершин поверхности к частям скелета, а также идентификатор файла, где хранится текстура поверхности.
КМ анимации танцора состоит из двух частей: КМ анимации частей тела танцора и КМ анимации всего тела, т.к. движения могут совершать как части тела танцора, так и все тело в целом. В качестве метода создания КМ анимации танцора предлагается разработка некоторого множества функций. Важнейшие из них – функции для вычислений положений частей тела (функции интерполяции) в любой момент времени и функции для вычисления положения всего тела (ходьба по опорным следам, перемещение таза) в любой момент времени.
КМ процесса сочинения. После построения КМ записи танца, КМ тела танцора и КМ анимации танцора можно определить, с помощью каких объектов хореограф, используя эти модели, управляет процессом создания танца, и описать методы построения модели процесса сочинения танца. КМ процесса формирования танца является основной и единственной КМ процесса сочинения: в любой момент процесса формирования танца хореограф может перейти к формированию восьмерки, к формированию позиции некоторой части тела, к удалению некоторого движения и т.д. Поэтому выделение более "мелких" моделей не является необходимым.
Ядро программного средства поддержки процесса сочинения ССТФ состоит из пяти модулей: инициализации ядра, формирования позы танцора в любой момент времени, работы с лентой, обработки команд, отображения, – а также трёх пополняемых библиотек: позиций, движений и танцев.
Пятая глава посвящена экспериментальному исследованию эффективности использования разработанного программного средства поддержки процесса сочинения ССТФ – программы Dancer. Экспериментатор – практикующий хореограф – сочинял различные танцы стиля "Фанк" и их фрагменты с использованием программы "Dancer". Цель проведения таких экспериментов – оценить удобство и целесообразность использования программного средства, построенного на основе онтологоориентированного подхода, в творческой деятельности хореографа и его ученика (при создании танца и обучении танцу). Для оценки результатов проведения экспериментов хореограф выделил важные для него характеристики процессов сочинения танцев и обучения танцам и ввёл для каждой из них относительную временную шкалу:
на ней временная характеристика процесса сочинения с использованием программы "Dancer" сравнивалась с одноименными характеристиками других процессов сочинения танцев (протекающих без применения компьютера).
Диаграмма со шкалой для всех характеристик представлена на рис. 7. Далее приводятся эти характеристики и их сравнительная оценка, данные хореографом после проведения всех экспериментов с программой "Dancer".
- 15 Время обучения танцам. При классическом обучении хореограф последовательно показывает движения танца ученикам; сложные движения показывает более детально, в замедленном темпе. При таком обучении ученики хорошо усваивают материал и, соответственно, общее время обучения танцам существенно уменьшается. Это же можно сделать, используя программы "Dancer": при просмотре ученик может уменьшить скорость показа и детально рассмотреть позы, составляющее движение.
2. Время подготовки хореографом материала для обучения танцам. При обучении танцам, когда один хореограф занимается с группой из нескольких учеников, как и при создании видеозаписи урока, хореографу необходимо предварительно самому выучить танец, чтобы показать его ученикам. Для обучения всех учеников группы даже небольшому фрагменту танца хореографы иногда тратят долгие часы. При использовании программы "Dancer" хореограф может практически мгновенно записать танец или его фрагмент в библиотеку, чтобы передать эту запись сразу всем своим ученикам для самообучения, например, используя Интернет.
Время подготовки материала для обучения танцам Время обучения навыкам просмотра танца Время обучения навыкам формирования (для непрофессионального хореографа) Время обучения навыкам формирования (для Рис. 7. Сравнительная оценка временных характеристик процесса сочинения танцев с использованием программы "Dancer" и без неё 3. Время редактирования записи танца. Предварительно изучив запись Лабана, можно было бы, вообще говоря, прочитать запись танца и изменить её. Но, как было указано выше, эта запись для современных танцев практически не используется. Для изменения видеозаписи танца нужно было бы заново исполнить танец (или его фрагмент). В программе "Dancer" можно легко вернуться к любому движению, удалить его из последовательности, сформировать позы нового движения, используя графическую модель танцора, и добавить это движение в последовательность.
видеокамеры записать исполнение танца, хореограф вынужден тратить много времени и усилий на многократное исполнение перед камерой сочинённого им танца, добиваясь его "идеального" исполнения. С помощью программы "Dancer" легко создать и сразу же записать практически "идеальное" движение. В программе "Dancer" сочиняемый танец на каждом шаге процесса сочинения запоминается в памяти компьютера, а с помощью команд этот танец можно записать в библиотеку.
5. Время формирования танца хореографом, предварительно изучившим язык диалога с программой "Dancer". И при непосредственном формировании танца, и при использовании видеоаппаратуры хореографу нужно самому неоднократно исполнять танец; естественно, хореограф при этом устаёт физически. Использование программы "Dancer" существенно ускоряет процесс формирования танца (к тому же, при этом хореограф не устает).
6. Время обучения навыкам просмотра танца. При просмотре и "живого" исполнения танца танцором, и видеозаписи предварительно изучать что-либо не нужно: при просмотре видеозаписи достаточно установить соответствующий носитель на устройство и включить аппаратуру. И при использовании программы "Dancer" хореографу достаточно сначала дать команду меню загрузить танец из библиотеки танцев, а затем дать команду меню "проиграть" его.
7. Время обучения навыкам формирования и записи танцев (для непрофессионального хореографа). Если танец возьмётся формировать непрофессиональный хореограф, то ещё до начала формирования ему придётся изучить стиль, позы и движения этого танца, а также профессиональные термины хореографов. В составе программы "Dancer" находятся библиотеки позиций и движений танцев этого стиля, которые непрофессиональный хореограф сможет использовать без предварительного обучения.
8. Время обучения навыкам формирования и записи танца (для профессионального хореографа). Запись Лабана очень сложна, любому хореографу нужно потратить очень большое количество времени для её изучения. Если же профессиональный хореограф формирует танец непосредственно перед зеркалом и запоминает его, изучать технику записи танца ему не нужно.
Время обучения использованию программы "Dancer" сведено к минимуму – в программе используются наглядные графические образы и профессиональная терминология хореографа.
Основные выводы хореографа по результатам экспериментов.
Программа ”Dancer” - программное средство поддержки процесса сочинения ССТФ - позволяет хореографу быстро просмотреть сформированное танцевальное движение, отказаться от него или изменить некоторые позы движения. Способ создания отдельных движений и всего танца с помощью программного средства прост и понятен. В процессе сочинения танца хореографу не нужно самому исполнять танцевальные движения, и версии программы невозможно показать ученику, какие мышцы надо напрячь, какие расслабить и т.п.
Программа ”Dancer” позволяет выполнять все виды деятельности, перечисленные выше: обучение навыкам формирования и просмотра танца, формирование и мгновенную запись танца, подготовку и использование обучающих материалов (например, при преподавании дисциплины "Искусство балетмейстера").
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
1. Разработан онтологоориентированный подход к созданию программных средств поддержки процесса сочинения последовательностей движений человека по авторскому сценарию;2. Разработаны принципы построения онтологии ПО "Процесс сочинения последовательностей движений человека", и на их основе построена онтология ПО "Хореография ССТФ", в составе которой три компонента: онтология танца, онтология танцора и онтология процесса сочинения танца стиля "Фанк". Разработаны математические и компьютерные модели построенной онтологии.
3. Разработаны принципы построения интерактивного компонента программного средства поддержки процесса сочинения последовательностей движений человека; на их основе разработан язык диалога хореографа с программным средством поддержки сочинения ССТФ и интерпретатор этого языка.
4. Разработаны методы создания ядра программного средства поддержки процесса сочинения последовательностей движений человека, базирующиеся на онтологии ПО.
5. С использованием этих методов создана интерактивная программа "Dancer" – экспериментальная версия программного средства поддержки процесса сочинения хореографом ССТФ.
ОПУБЛИКОВАННЫЕ РАБОТЫ ПО ТЕМЕ ДИССЕРТАЦИИ
1. Перцовский С.Л. Модели танца и танцора в программном средстве для создания и изучения танцев. Тез. докл. // Дальневосточная математическая школа-семинар имени акад. Е.В. Золотова. Владивосток, 2003. С. 89–90.2. Перцовский С.Л. Моделирование предметной области "Хореография" // Информатика и системы управления. 2003. № 2 (6). С. 22–31.
3. Перцовский С.Л. DANCER_M1 – макетная версия системы автоматизированного проектирования для создания и воспроизведения современного сольного танца. Тез. докл. // Международный конкурс компьютерных программ студентов, аспирантов и молодых специалистов "Программист 2004".
Владивосток, 2004. С.22–25.
4. Перцовский С.Л. DANCER_M1 – макетная версия системы автоматизированного проектирования для создания и воспроизведения современного сольного танца. Мат. докл. // Научная конференция студентов и аспирантов ДВГУ. Владивосток, 2004. С. 118–120.
5. Pertsovskiy S.L. Computer Simulation of Dance Designing // Proceedings of the 9th World Multi-Conference on Systemics, Cybernetics and Informatics. Orlando, Florida, USA, July 10-13, 2005. P. 324–329.
6. Перцовский С.Л. Система автоматизированного проектирования сольного танца: онтологии предметной области и их модели. Тез. докл. // XXX Дальневосточная математическая школа-семинар имени академика Е.В. Золотова.
Хабаровск, 2005. С. 193–194.
7. Перцовский С.Л. Моделирование процесса проектирования современного сольного танца: онтологии предметной области и их модели. Тез. докл. // Интеллектуальные и многопроцессорные системы (ИМС'2005). Дивноморск, Сентябрь 2005. С. 412–416.
8. Перцовский С.Л. САПР современного сольного танца, основанная на онтологиях. Сборник докладов // Открытый дальневосточный конкурс программных средств студентов, аспирантов и молодых специалистов "Программист 2006".
Владивосток, Апрель 2006. С. 81–84.
9. Перцовский С.Л. Построение САПР современного сольного танца. Обзор литературы. Владивосток: ИАПУ ДВО РАН, 2006. 64 с.
10. Перцовский С.Л., Варнина А.С. Разработка интеллектуальной САПР современного сольного танца на основе онтологий // Вестник ДВО РАН.
2006. № 3 (127). С. 163-169.
11. Перцовский С.Л., Онтологоориентированный подход к разработке САПР современного сольного танца // Информатика и системы управления. 2006. № 1(11). С. 52–61.
12. Перцовский С.Л. Язык пользователя САПР современного сольного танца.
Тез. докл. // XXXI Дальневосточная математическая школа-семинар имени академика Е.В. Золотова. Владивосток, 2006. С. 179–180.
13. Гаврилова Т.Л., Перцовский С.Л. Dancer_M1 – программа для создания танца стиля "Фанк". Макетная версия. Свидетельство Федеральной службы по интеллектуальной собственности, патентам и товарным знакам об официальной регистрации программы для ЭВМ № 2006613128. Зарегистрировано в Реестре программ для ЭВМ 5 сентября 2006 г.
Личный вклад автора. Все результаты, составляющие основное содержание диссертации, получены автором самостоятельно. В работе [10] автором построены онтология и модель онтологии предметной области. В работе [13] автором разработана программа “Dancer_M1”.
ОНТОЛОГООРИЕНТИРОВАННЫЙ ПОДХОД
К РАЗРАБОТКЕ ПРОГРАММНЫХ СРЕДСТВ
ПОДДЕРЖКИ ПРОЦЕССА СОЧИНЕНИЯ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ ДВИЖЕНИЙ ЧЕЛОВЕКА
Подписано к печати 11.01.2007 Усл.п.л. 1,0 Уч.-изд.л. 0, Издано ИАПУ ДВО РАН. Владивосток, Радио, 5.Отпечатано участком оперативной печати ИАПУ ДВО РАН.
Владивосток, Радио, 5.