Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / ООП.Builder / Lab3C++.doc
Скачиваний:
17
Добавлен:
17.04.2013
Размер:
284.67 Кб
Скачать

Распределение задач по вариантам

В соответствии с таблицей необходимо выполнить по одной задаче из каждого блока задач. Например, варианту 24 соответствуют: задача 3 из блока 1, задача 1 из блока 2 и задача 2 из блока 3.

Задание состоит из трех задач, строго соответствующих личному варианту. Выполнение только первыхдвухзадач (блоки 1 и 2) ограничивает максимальную оценку при защите до уровня «хорошо». Выполнение всехтрехзадач из разных блоков смещает это ограничение до уровня «отлично».

Табл. Соответствие задач и вариантов

Вариант

Блок 1

Блок 2

Блок 3

Вариант

Блок 1

Блок 2

Блок 3

Вариант

Блок 1

Блок 2

Блок 3

1

2

3

2

10

1

3

3

19

1

2

2

2

2

3

3

11

2

1

3

20

3

2

1

3

3

3

2

12

2

2

2

21

2

1

1

4

1

1

3

13

3

2

2

22

1

1

1

5

2

2

1

14

3

2

3

23

1

2

1

6

2

1

2

15

2

3

1

24

3

1

2

7

1

1

2

16

2

2

3

25

3

3

3

8

3

3

1

17

1

3

1

26

1

2

3

9

1

3

2

18

3

1

3

27

3

1

1

Перечень задач по блокам

БЛОК 1. УПРАВЛЕНИЕ КЛАССОМ ИЗ БАЗОВОЙ ФОРМЫ ПРИЛОЖЕНИЯ.Создайте класс для отображения и динамического изменения параметров объекта.

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

Задача 1.2. Аналогична задаче 1.1. Каркас куба со сторонойa. Вращение в трех плоскостях.

Задача 1.3. Аналогична задаче 1.1. Вращение двух скрещенных эллипсов.

БЛОК 2. ВЗАИМОДЕЙСТВИЕ КЛАССОВ И ИСКЛЮЧЕНИЙ.Обеспечьте движение объекта по направляющей и в свободном полете с заданными начальной скоростью и ускорением (рис. 2.1). Наклон направляющей управляется пользователем. Свободный полет – по параболе. При попадании объекта в мишень осуществите выбрасывание исключения (throw) и его обработку (catch). Применение классов обязательно.

Параметры, задаваемые пользователем на главной форме приложения:

  • начальная скорость;

  • ускорение;

  • наклон направляющей (можно изменять и в процессе движения объекта);

  • скорость перемещения объекта по экрану;

  • необходимые параметры направляющей;

Рис. 2.1. Направляющая зафиксирована за левый край, ее наклон может быть изменен пользователем в процессе разгона объекта

Задача 2.1.Направляющая – дуга эллипса (рис. 2.1).

Задача 2.2.Направляющая – дуга окружности, центр вращения направляющей – центр окружности (рис. 2.2)

Рис. 2.2. Направляющая – разомкнутая окружность

Задача 2.3.Направляющая – отрезок прямой (рис. 2.3). Сила удара (начальная скорость) задается подпружиненной битой. Направляющая может перемещаться вверх-вниз. Объект стартует из крайнего правого положения диапазона движения биты.

Рис. 2.3. Горизонтальная направляющая, начальная скорость задается битой: при нажатии клавиши «пробел» бита отодвигается влево, при отпускании – ударяет по объекту

БЛОК 3. УПРАВЛЯЕМАЯ КРИВАЯ. Отобразите кривую и маркеры. Маркеры предназначены для управления формой кривой с помощью мыши. Стрелки и надписи поясняют возможные направления перемещения маркеров и их назначение. Применение классов обязательно.

Задача 3.1.Синусоида (рис. 3.1). Управление амплитудой и сжатием по горизонтали (частотой гармоники).

Рис 3.1. Управляемая синусоида

Задача 3.2.Кривая Безье (рис. 3.2). Три маркера определяют координаты точекP0,P1,P2. Кривая описывается уравнениями:

, (*)

при t=[0.0;1.0]. Для отображения кривой в цикле дляtнеобходимо вычислять координаты и отображать на экране отрезки кривой. Координаты для абсцисс и ординат рассчитываются отдельно. Например, для координатыx согласно выражению (*):

Pcur.x=(1-t)*(1-t)*P0.x+2.0*t*(1-t)*P1.x+t*t*P2.x;

Рис. 3.2. Управляемая кривая Безье

Задача 3.3.В-сплайн. Полностью аналогична задаче 3.2, однако форма кривой и ее уравнение отличаются:

.

Соседние файлы в папке ООП.Builder