double arrow

Задания к лабораторной работе №2

Перед выдачей заданий, студентов необходимо поделить на пары. Если количество студентов нечетное, то оставшемуся без пары студенту предлагается выполнять вариант №1.

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

Необходимое преобразование задавайте матрицей 3х3. Матрицу преобразования, являющегося комбинацией нескольких преобразований, формируйте путем последовательных перемножений матриц соответствующих преобразований.

Следует программировать задачу в общем виде, используя параметры (угол поворота, величину перемещения, коэффициент масштабирования) и предполагая произвольную фигуру, но отлаживать программу на примере, указанном в задаче в скобках!

На рисунках, приведенных в вариантах заданий, жирными линиями изображено первоначальное положение фигуры.

Включив в программу необходимые задержки (используйте таймер), добейтесь желаемой скорости смены – изображений. В конце некоторых заданий есть дополнения. Их необходимо выполнять только после того, как будет готова программа, для базового задания.

Вариант №1

Поворачивать любую фигуру, образованную замкнутой ломаной линией (секундную стрелку), вокруг одной из ее вершин (оси вращения) на небольшой угол r по часовой стрелке (соот­ветствующий секунде) рис.2.3. Совершить n поворотов.

Рис. 2.3. Секундная стрелка

Дополнение:

На основе полученной программы создайте часы - будильник, звонящие по достижении задан­ного времени. К рисунку добавьте часовую, минутную стрелки и стрелку будильника.

Вариант №2

Поворачивать любую фигуру, образованную отрезками прямых (велосипедное колесо), и расположенную у левого края экрана, вокруг заданной точки фигуры (оси колеса), на угол r по часовой стрелке (на половину угла между со­седними спицам), сдвигая, фигуру, по горизон­тали вправо на величину t. Фигуру перемещать до правого края экрана. Один, из отрезков (спицу колеса) изобразить контрастным цветом. Величину t рассчитайте так, чтобы создавалось впечатление катящегося колеса, и проведите пунктирную горизонталь, через точки вращения рис. 2.4.

Рис. 2.4. Колесо.

Дополнение:

Создайте картину движущегося по экрану велосипеда.

Вариант №3

Задана любая фигура двумя замкнутыми ломаными линиями (треугольник внутри квадрата). Требуется поворачивать фигуру вокруг заданной точки z (центра квадрата) на угол r (15 градусов) по часовой стрелке, незначительно уменьшая относительно точки и часть фигуры, образованную первой ломаной линией (треугольник), и во столько же раз увеличивая другую часть фигуры (квадрат). Преобразования повторять, пока уменьшающаяся часть не превратится в точку.

Картина должна напоминать "вертушку", со­стоящую из удаляющегося при вращении треуголь­ника и приближающегося квадрата рис. 2.5. Затем повторить процесс, только уменьшать вторую часть фигуры и увеличивать первую. Повторять чередование, пока пользователь не завершит работу программы.

Рис. 2.5. Вертушка.

Вариант №4

Поворачивать любую фигуру, образованную отрезками прямых (маятник в крайнем левом положении, отклоненный, на 45 градусов от вертикали), вокруг точки в центре верхней половины экрана (оси маятника) на небольшой угол r (5 градусов) против часовой стрелки. Совершить k поворотов (достигнув крайнего правого положения). Затем, аналогично, выполнить
k поворотов по часовой стрелке (до крайнего левого положения). Выполнить
колебания фигуры, пока пользователь не завершит работу программы.

Процесс должен напоминать колебание маятника рис. 2.6.

Рис. 2.6. Маятник.



Дополнение:

Изменяйте скорость поворота маятника в соответствии с гармоническим законом колебаний. Создайте программу часов с маятником.

Вариант №5

Поворачивать любую фигуру, образованную отрезками прямых (лист дерева) и находящуюся в правой половине экрана, вокруг точки Р, лежащей в центре верхнего края экрана, на угол r (10 градусов) по часовой стрелке, каждый раз незначительно увеличивая фигуру относительно точки P. Повороты выполнять до тех пор, пока фигура не займет примерно симметричное первоначальному положение в левой половине экрана. Затем, аналогично, поворачивать фигуру против часовой стрелки вокруг той же точки P. Чередовать такие колебания фигуры, пока она остается в пределах экрана.

Картина должна напоминать падение осен­него листа, сорвавшегося с дерева рис. 2.7.

Рис. 2.7. Падение листа.


Вариант №6

Задана любая фигура, состоящая из отрезков (треугольник и прямоугольник с общей стороной, напоминающие кабину колеса обозрения); одна из точек фигуры особо выделена (точка подвески кабины). Поворачивать фигуру так, чтобы особая точка поворачивалась вокруг центра экрана на угол r (15 градусов) против часовой стрелки при каждом повороте. Совершать полные обороты фигуры вокруг центра экрана, пока пользователь не завершит работу программы. Картина должна напоминать вращение кабины колеса обозрения рис. 2.8.

Рис. 2.8. Колесо обозрения.

Дополнение:

Создайте полную картину вращающегося колеса обозрения с шестью кабинами.

Вариант №7

Поворачивать любую фигуру, заданную зам­кнутой ломаной линией с яркой точкой на фигуре (многоугольник, похожий на круг, с ярким "пятном" на окружности), вокруг центра фигуры на угол r (30 градусов) по часовой стрелке, сдвигая фигуру так, чтобы она перемещалась по диагонали экрана, и незначительно увеличивая размеры фигуры в а раз (1.2 раза) относительно своего центра, но так, чтобы пятно, вращаясь вместе с фи­гурой, оставалось на прежнем расстоянии от ее центра. Картина должна напоминать катящийся с горы нарастающий снежный ком, а пятно напоминать о первоначальных размерах кома. Нарисовать гору и остановить ком в углу экрана рис. 2.9.

Рис. 2.9. Снежный ком.

Вариант №8

Задана любая фигура замкнутой ломаной линией (квадрат). Поворачивать фигуру вокруг своего центра на угол r (35 градусов) против часовой стрелки и одновременно вокруг центра экрана на угол s (20 градусов) по часовой стрелке. Одну из сторон фигуры выделить другим цветом. Со­вершать полные обороты фигуры вокруг центра экрана, пока пользователь не завершит работу программы. Картина должна напоминать карусель с вращающейся кабиной рис. 2.10.

Рис. 2.10. Карусель с вращающейся кабиной.

Дополнение:

Создайте полную картину карусели с четырьмя вращающимися кабинами.

Вариант №9

Поворачивать любую фигуру, заданную замкну­той ломаной линией (вытянутый прямоугольник, стоящий у левого края экрана на наклонной линии), на угол r (90 градусов) по часовой стрелке вокруг первой вершины фигуры, затем на тот же угол вокруг второй вершины и т. д. k раз (каждый раз в качестве точки поворота выбирать нижний правый угол очередного прямо­угольника, Одну из сторон фигуры (короткую) выделить другим цветом
рис. 2.11.

Рис. 2.11. Кувырок.

Дополнение:

Добейтесь того, чтобы прямоугольник стоял на выделенной стороне дольше, чем на остальных, и докувыркался до правого края экрана.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: