Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСОВИК ПРОГРАММИРОВАНИЕ.docx
Скачиваний:
1
Добавлен:
27.10.2018
Размер:
1.61 Mб
Скачать

Задание.

  • Создать компоненту, реализующую модель движущегося человека

Анализ предметной области. Выявление состава, структуры, и возможных состояний объекта.

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

К вращающимся частям тела относятся Руки, состоящие из плеч и предплечий, и Ног состоящие соответственно из бедер и голеней. Они представляют собой отрезки с заданным началом (центром вращения), углом и длиной (более подробное описание составляющих встретится ниже). Так же в тело человека входят Голова, представленная окружностью, и туловище, отображаемое как прямая линия. (см. рис 1).

Анализ характерного поведения.

Класс Вращающаяся часть тела

Вращающаяся часть тела, как говорилось ранние, представляет собой отрезок, положение которого задается углом, начальной точкой и длиной. Но для вращения так же характерно направление «положительного» движения: почасовой или против часовой стрелки(под «положительным» движение понимается движение, при котором конечная точка отрезка станет выше предыдущего положения()). Это необходимо для того, чтобы при команде такой как «Поднять_часть_тела_вверх», части тела, принадлежащие левой стороне двигались по часовой стрелке (т.е. увеличивая угол α), а принадлежащие правой стороне, соответственно против часовой (т.е. уменьшая угол β) (см. рис. 2)

y

x

правая часть тела

α

β

Рис 2. – Вращение правой и левой частей тела при «подъеме вверх»

левая часть тела

Любая вращающаяся часть тела имеет предельные углы: начальный и конечный, выход за которые не допустим. При этом учитывается направление «положительного» вращения. Иными словами, допустимый диапазон углов может быть разный при одинаковых начальном и конечном углах, но при разных направлениях. (см. рис. 3)

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

Основываясь на выше сказанном, класс должен иметь следующее:

Поля:

  1. Начальный точка (центр вращения)

  2. Текущий угол

  3. Длина

  4. Начальный угол

  5. Конечный угол

  6. Угловая скорость (общее поле для всех экземпляров)

  7. Направление движения

  8. Связанная часть тела (экз. такого же класса)

Свойства:

  1. Чтение/Изменение начального угла

  2. Чтение/Изменение конечного угла

  3. Чтение/Изменение текущего угла (при изменении проверяется допустимый диапазон углов, а так же угол приводится к виду когда он всегда положительный (>= 0 и <=360))

  4. Чтение начальной точки

  5. Чтение/Изменение координат начальной точки

  6. Чтение конечной точки (расчет на основе угла и длины)

  7. Чтение/Изменение угловой скорости

Функции:

  1. Обновление координат связанной части тела

  2. Проверка принадлежности угла допустимому диапазону

  3. РРисоРисования части тела

  4. Задание диапазона углов

  5. Вращать по направлению «положительного» вращения

  6. Вращать против направления «положительного» вращения