Читайте также:
|
|
Цель работы: знакомство с графическими процедурами и функциями.
Пример: Пусть необходимо построить график циклоиды. Зададим ее математическое описание:
x = a t - b sin t, y = a - b cos t,
при b<a циклоида получается укороченной, при b>a - удлиненной, b = a дает обычную циклоиду.
При разработке программы необходимо перед выводом графической информации на экран дисплея инициализировать графический режим с указанием пути к графическому драйверу, а в конце программы его следует закрыть.
Поскольку в графическом режиме работы дисплея верхняя левая точка экрана имеет координаты (0,0), сместим ось 0Х на середину экрана, а ось 0У - на
10 пикселей вправо. Для наглядности увеличим график путем использования масштабных коэффициентов по каждой оси координат. Кроме того, нужно помнить, что координаты точки в графическом режиме могут быть только целого типа.
С учетом вышесказанного программа построения циклоиды имеет вид
Program graph17pr;
uses graph; {подключение модуля GRAPH}
var a, b, t: integer; {a, b - переменные, определяющие a - тип драйвера и }
x, y, tt: real; {b - видеорежим }
Begin
detectgraph(a,b); {автоопределение типа драйвера и видеорежима}
initgraph(a,b,'c:\progDOS\BP\BGI'); {инициализация графического режима}
setgraphmode(2); {установка нового режима (2), очистка экрана}
setBKcolor(0); {основной цвет фона – черный}
setcolor(4); {основной цвет рисования – красный}
moveTO(0,240); {смещает курсор для вычерчивания оси Х}
lineRel(625,0); {вычерчивание линии по приращению от указателя}
readln; {пауза до нажатия клавиши <Enter>}
setcolor(2); {основной цвет рисования – зеленый}
line(10,0,10,478); {рисует линию от точки (Х1,Х2) до т.(Х2,У2)}
readln; {пауза до нажатия <Enter>}
setcolor(5); {основной цвет рисования – фиолетовый}
readln; {пауза до нажатия клавиши <Enter>}
moveTO(10,240); {смещение курсора к точке с кординатой (0,240)}
tt:=0.0;
for t:=1 to 200 do {расчет и вычерчивание циклоиды}
begin
x:= 0.4*tt - 0.5*sin(tt);
y:= 0.4 - 0.5*cos(tt);
{линия} lineTO(trunc(100*x)+10,trunc(100*y)+240);
tt:=tt+Pi/32
end;
readln; {пауза до нажатия клавиши <Enter>}
SettextStyle(0,0,3); {установка шрифта(0..4), стиля, размера текста} OutTextXY(50,440,'график циклоиды'); {выводит текст от т.(50,440)}
readln; {пауза до нажатия клавиши <Enter>}
closegraph; {закрывает графический режим и восстанавливает текстовый}
End.
Поскольку вычисляемые в программе координаты являются вещественными, то для их преобразования к целым значениям использована функция TRUNC().
При разработке графических программ необходимо следить, чтобы значения координат не выходили за пределы экрана. Для этого рекомендуется рассчитывать коэффициенты увеличения или уменьшения, а также параметры смещения изображения.
Задание 1 ( программа 16_1 )
Начертить графики функций F1(x) и F2(x) для результатов, полученных в программе 3_2.pas. На экран должен выводиться график с надписью выводимой функции.
Задание 2 ( программа 16_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. Изобразить движение объекта по прямоугольной спирали.
Дата добавления: 2015-09-05; просмотров: 56 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Вычисление приближенного значения определенного интеграла | | | Обозначения графические в схемах алгоритмов (ГОСТ 19.701-90) |