Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
98
Добавлен:
04.03.2014
Размер:
593.92 Кб
Скачать

Лабораторная работа №9

Объект, движущийся по некоторой кривой

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

1. Демонстрационный пример

Пример 9.1: Изобразить движение солнца на голубом небе в горизонтальной плоскости.

Program MySun;

Uses Crt, Graph;

Var driver, mode, i: integer;

Begin

Clrscr;

Driver := detect;

Initgraph (driver, mode, ‘’);

I :=0;

while i<=750 do

begin

SetColor(14); {задает цвет будущего изображения}

SetBkColor(3); {задает цвет фона}

SetFillStyle(1,14); {задает способ заполнения замкнутой области}

Circle(i,100,50); {рисует окружность R=50, с центром i и 100}

FloodFill(i,100,14); {заполняет замкнутую область, в которой находится точка i , 100}

Delay (200); {в течение 200 единиц}

SetFillStyle(1,3); {1 –сплошное заполнение, 3 – цвет голубой}

SetColor(3);

Circle(i,100,50);

FloodFill(i,100,3);

i := i +5

end;

Readln;

End.

2. Задачи, для самостоятельного решения

Задача 1. Изобразить, окружность диаметром d, перемещающуюся по вертикали через центр экрана.

Задача 2. Изобразить квадрат, со стороной а, перемещающийся по горизонтали на расстоянии 100 точек от начала координат.

Задача 3. Изобразить прямоугольник с основанием L и высотой H, перемещающийся по главной диагонали экрана.

Задача 4. Изобразить окружность радиуса R, перемещающуюся по синусоиде с амплитудой не более 100 пикселей.

Задача 5. Изобразить на экране гармонические колебания точки вдоль некоторого горизонтального отрезка. Если длина отрезка равна С, то расстояние от точки до левого конца в момент времени t можно считать равным: C ( 1 + cos(α t )) / 2 , где: α - частота колебаний.

Задача 6. Построить правильный пятиугольник, вписанный в окружность с координатами центра х11 и радиусом R. Через 10 секунд повернуть его на 4/.

Задача 7. Окружность радиуса R перемещается на экране справа налево, по достижении ею середины экрана слева направо начинает перемещаться по синусоиде длиной L.

Задача 8. Изобразить перемещение окружности по спирали из центра экрана по n виткам и внешнему радиусу R. Начальное направление спирали образует с осью ОХ угол t и задано уравнениями: х = R cos t, y = R sin t, шаг 2.

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

Задача 10. Проиллюстрировать законы Кеплера, согласно которым планеты движутся по эллипсам, в одном из фокусов которых находится солнце. Параметрические уравнения для траектории движения по эллипсу: х = R1 cos t, y = R2 sin t, в интервале [0, 2].

Задача 11. Изобразить движение шарика по синусоиде.

Задача 12. Изобразить треугольник, вращающийся вокруг точки пересечения его высот.

Задача 13. Изобразить на экране движение бильярдного шара без луз.

Задача 14. Построить на экране синусоиду. Не менее 10 раз изменить ее цвет.

Задача 15. Построить модель атомного ядра, бомбардируемого α-частицами. В центре экрана – ядро с вращающимся вокруг него тремя электронами. Параметрические уравнения для одного электрона таковы: х = R cos t, y = R sin t, в интервале [0, 2]. Из одного из углов экрана появляется α-частица в направлении ядра, для которой координата по оси ОУ моделируется датчиком случайных чисел. В случае столкновения с ядром или с одним из электронов происходит взрыв.

Задача 16. Разработать программу, которая демонстрирует на экране движение квадрата: квадрат улетает от нас (центра экрана) к некоторой точке горизонта, одновременно вращаясь вокруг свой оси. Раскрасить квадрат по диагоналям.

Задача 17. Разработать программу, обеспечивающую вывод «бегущей » строки с текстовой информацией «Внимание! Просим всех посетить нашу выставку достижении науки и техники! ». Окошко высвечивает до 10 символов/букв.

Задача 18. Создать программу, заполняющую экран в виде множества отрезков различной длины и цвета, исходящих из центра экрана и вращающихся против часовой стрелки.