Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика Шафеева.doc
Скачиваний:
32
Добавлен:
30.03.2015
Размер:
1.09 Mб
Скачать

Графика

Цель работы: знакомство с графическими процедурами и функциями.

Пример: Пусть необходимо построить график циклоиды. Зададим ее математи­ческое описание:

x = a t - b sin t, y = a - b cos t,

при b<a циклоида получается укороченной, при b>a - удлиненной, b = a да­ет обычную циклоиду.

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

Поскольку в графическом режиме работы дисплея верхняя левая точка экрана имеет координаты (0,0), сместим ось 0Х на середину экрана, а ось 0У - на 10 пикселей вправо. Для наглядности увеличим график путем использования масштабных коэффициентов по каждой оси координат. Кроме того, нужно помнить, что координаты точки в графическом режиме могут быть только целого типа.

С учетом вышесказанного программа построения циклоиды имеет вид

#include <graphics.h>

#include <conio.h>

#include <math.h>

void main()

{

int a = DETECT, b, k;

float x, y, t;

initgraph(&a,&b,"C:\\TC\\BGI\0");

setgraphmode(2);

setbkcolor(0);

setcolor(4);

moveto(0, 240);

linerel(625, 0);

getch();

setcolor(2);

line(10, 0, 10, 478);

setcolor(5);

getch();

moveto(10, 240);

t=0.0; // текущее значение параметра t из задания

for ( k =0; k<200; ++k )

{

x = 0.4 * t - 0.5*sin(t);

y = 0.4 - 0.5*cos(t);

lineto(100*x + 10, 100*y + 240);

t = t + M_PI/32;

}

getch();

settextstyle(0, 0, 3);

outtextxy(50, 440, "График циклоиды");

getch();

closegraph();

}

Поскольку вычисляемые в программе координаты являются веществен­ными, то для их преобразования к целым значениям использована функция TRUNC().

При разработке графических программ необходимо следить, чтобы значения координат не выходили за пределы экрана. Для этого рекоменду­ется рассчитывать коэффициенты увеличения или уменьшения, а также па­раметры смещения изображения.

Задание 1 (программа 15_1)

Начертить графики функций F1(x) и F2(x) для результатов, получен­ных в программе 3_2.pas. На экран должен выводиться график с надписью выводимой функции.

Задание 2 (программа 15_2)

Напишите и отладьте программу для одной следующих задач.

1. Подготовить и отладить программу вычерчивания квадрата, вписанного в окружность. Запрограммировать изменение цветов окружности.

2. Организовать вывод на экран разноцветных цифр поочередно гори­зонтально и вертикально.

3. Отладить программу вычерчивания нескольких окружностей заданного радиуса в произ­вольном месте экрана разными цветами. Предусмотреть их мерцание.

4. Разработать программу изображения точки, движущейся по косинусоиде (y = cos(x)).

5. Отладить программу рисования квадрата с диагоналями, пресекающимися в центре эк­рана. Создать иллюзию его уменьшения.

6. Начертить на экране картинку «круги на воде».

7. Изобразить движущийся на зрителя экран (прямоугольник).

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

9. Разработать программу вывода на экран компьютера пяти квадратов по углам и в середине экрана. Зап­рограммировать поочередный вывод их разными цветами.

10. Разными цветами в различных точках экрана выводить надпись «TurboPascal» с изменением размера шрифта.

11. Изобразить трубу, образованную разноцветными окружностями.

12. Организовать вывод на экран названия континентов разными цве­тами в различных точках экрана готическим и обычным шрифтами.

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

14. Изобразить НЛО, приземляющийся в различных точках экрана.

15. Организовать вывод на экран разноцветных русских букв разных размеров поочередно высвечивая или заполняя экран в хаотическом порядке.

16. Отладить программу вычерчивания графиков функций y = sin(x) и y = sin(2x) разными цветами с разными осями координат.

17. Организовать вывод на экран формул химических элементов разными цве­тами в различных точках экрана.

18. Начертить на экране ряд геометрических фигур: квадрат, круг, треугольник, прямоугольник, используя разные цвета.

19. Изобразить схематично на экране движущегося человечка.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]