Отчет
По лабораторной работе №2 часть 1
По дисциплине
“Объектно-ориентированное программирование”
« Основные проектные решения ».
Выполнил:
Лапин Р.Д..
Факультет ФКТИ
Группа № 9303
Преподаватель:
Смольянинов А. В.
г. Санкт-Петербург
Постановка задачи:
Задание № 12.01.
Объектно – ориентированный анализ.
Основным объектом, о котором идет речь в задании, является изображение «Уличный фонарь с креплением на стене» (рис. 1).
Данное изображение, согласно заданию, состоит из:
- «светящаяся часть» - равнобочная трапеция (рис. 2)
- «подвес» - отрезок прямой (рис. 3)
- «кронштейн» - соединенные под прямым углом равные отрезки прямой и вписанная в получившийся угол четверти дуги окружности (рис. 4)
Рис.1
Рис.2
Рис.3
Рис.4
Таким образом мы выделяем 3 основные объекта, с помощью которых будет строиться изображение:
- равнобочная трапеция;
- отрезок прямой;
- четверть дуги окружности.
У каждого объекта есть свои характерные точки, с помощью которых мы сможем определить их положение в пространстве, размеры и произвести «соединение» при построении изображения.
|
|
У дуги окружности есть дополнительный параметр радиус r для определения ее размера.
Для трапеции мы вводим дополнительный параметр высота h, ибо по заданию он зависит от длины отрезков прямой.
В итоге атрибутами объектов являются:
- равнобочной трапеции: точки Р1, Р2, Р3, Р4 и высота h;
- четверти дуги окружности: точка (центр) Р5 и радиус r;
- отрезка прямой: точки начала и конца отрезка, длина l.
Для соединения объектов и соблюдения пропорций при построении изображения необходимо, чтобы (рис. 5):
1. Точки Р7 и Р8 совпадают (отрезки, входящие в «кронштейн» образуют прямой угол).
2. Длины отрезков P6-P7 и P8-P9, P5-P6 и Р5-Р9 равны R (четверть дуги окружности соединяет точки концов отрезков).
3. Длина отрезка Р10-Р11 равна двум длинам отрезка Р6-Р7.
4. Точка P5 лежит на Р10-Р11 и является его серединой, т.е. длины отрезков Р5-Р6 и Р6-Р7 равны.
5. Длина меньшего основания трапеции (Р1-Р4) равна 1/3 отрезка Р6-Р7.
6. Так как в задании ничего не сказано о большем основании трапеции, полагаем Р2-З3 равным двум длинам Р1-Р4.
7. Точка Р10 лежит на меньшем основания трапеции (Р1-Р4) («подвес» соединяется со «светящейся частью»).
8. Точки Р11 и Р6 совпадают («кронштейн» соединяется с «подвесом»).
9. Высота h равна удвоенной длине «подвеса» Р10-Р11, но меньше отрезка P6-P7, входящего в «кронштейн»:
Обозначим длину P6-P7 как L. В условии задачи сказано, что длина Р10-Р11 в два раза больше Р5-Р6, то есть 2L. Согласно условию 9, h=2*2L и h<L. Так как это невозможно (h,L>0), выбираем условие h<L, так как это приблизит изображение «Уличный фонарь с креплением на стене» к пропорциям реально существующих уличных фонарей.
|
|
Рис.5
«Трапеция», «четверть дуги окружности» и три «отрезка прямой» определяют объект «изображение» (в соответствие с заданием). Также «изображение» представим линейным однонаправленным списком характерных точек (рис. 1.) Рn (n=1..13), задающих габариты «трапеции с параллелограммом и кругом внутри». Это представление поможет определить положение изображения в пространстве, выполнить соответствующие операции.
Операции с «изображением»:
- «перенос в заданную точку»;
- «перенос на dx, dy»;
- «построение симметричной фигуры».
«Перенос в заданную точку».
Мы определяем точку среди всех точек каждого объекта, дабы установить положение в пространстве этого объекта. Эти точки для объектов:
- Р2 – для «трапеции»;
- Р5 – для «четверть дуги окружности»;
- Р6 – для «отрезков» образующих «кронштейн» и «отрезка», образующего «подвес»;
Остальные точки объектов будут перенесены таким образом, что объекты сохранят свои размеры и угол наклона с осью абсцисс.
«Перенос на dx, dy»
Операция предполагает, что все входящие в состав «изображения» объекты будут перемещены на dx, dy в пространстве. Таким образом, само «изображение» переместится на dx, dy в пространстве.
«Построение симметричной фигуры»
Для всех объектов, входящих в состав «изображения», будет применена операция, построения симметричного объекта относительно заданной точки.
Совокупность «изображений» создаёт «набор изображений», который представлен экземпляром класса «линейный однонаправленный список», разработанного в лабораторной работе 1.
Таким образом мы можем выделить следующие объекты:
«Набор изображений»
«Изображение»
«Равнобедренная трапеция»
«Четверть дуги окружности»
«Отрезок прямой»
«Точка»