- •Построение графиков с использованием модуля graphics.H
- •Теоретические сведения
- •2. Описание модуля graphics.H
- •Функция cleardevice() очищает весь экран, устанавливает текущей точкой левый верхний угол экрана, но оставляет неизменными все установки графического экрана: стиль линии, текущий цвет и т.Д.
- •Пример построения графиков
- •Написать программу, выводящую на экран график функции
- •4.Требования к работе.
- •5.Контрольные вопросы
- •6. Варианты заданий
Лабораторная работа
Построение графиков с использованием модуля graphics.H
Цель работы:- получить общие сведения необходимые для построения графиков
получить практические навыки построения графиков
Теоретические сведения
Для изображения на экране графиков функций, рисунков и другой графической информации в языке “Borland C” и “C++” предусмотрен стандартный модуль “Graphics”. Подпрограммы модуля “Graphics” управляют экраном в графическом режиме и становятся доступными в программе после указания его имени в предложении USES. Подпрограммы, используемые для построения графиков, рассматриваются в описании модуля “Graphics”.
В графическом режиме информация отображается на экране в виде светящихся точек, называемых пикселями. Максимальное количество точек на экране, отображаемых по горизонтали и вертикали называется разрешением. Разрешение определяется установленным графическим режимом (возможностями компьютера). При желании графический режим можно поменять и сменить его на менее высокий(режем выше чем позволяет компъютер установить нельзя). Примеры графических режимов С.М. ниже.
Система координат экрана в графическом режиме показана на (рис1). Начало системы координат находится в левом верхнем углу экрана и совпадает с точкой, имеющей координаты (0,0). Ось OX направлена слева направо, а ось OY – сверху вниз.
График
функции
может
изображаться на всем экране, либо в
прямоугольной области, занимающей часть
экрана (Рис.1). В исходной системе
координат, которая соответствует функции
,
ось oxнаправлена
слева направо, а ось oy
снизу
вверх. В этой системе координат размеры
области, занимаемой графиком, определяется
по горизонтали диапазоном изменения
аргумента x
(например,
),
а по вертикали – минимальным Fmin
и максимальным
Fmax
значениями функции y,
которые она принимает при
.
На экране область, занимаемая графиком (Рис.1), представляется прямоугольником с координатами верхнего левого угла (k,i) и координатами нижнего правого угла (l,j).
Связь
координат (x,y)
пиксели, представляющего на экране
точку (x,
F(x))
графика
,
задается следующими формулами:
X=k+(x-X1)(l-k)/(X2-X1) (1)
Y=aF(x)+b (2)
где a – масштабный коффициент, b – положение оси OX на экране.
Значения величин a и b определяются из системы уравнений, полученной из формулы (2):
(3)
Решив эту систему, найдем a и b:
a=(i-j)/(Fmax-Fmin) (4)
b=j-aFmin=j-Fmin(i-j)/(Fmax-Fmin) (5)
Положение
на экране осей OX
и
OY исходной
системы координат, соответствующей
функции
,
задается уравнениями:
Y=b (6)
X=k-X1(l-k)/(X2-X1) (7)
которые получаются из формулы (1) и (2) при F(x)=0 и x=0 (Рис.1)
k-X1(l-k)/(X2-X1)

Рис.1 Система координат экрана и область графика
Для
построения графика функции
на
экране нужно запрограмировать следующую
последовательность действий:
Задать координаты (k,i) и (l,j) углов прямоугольной области графика (Рис.1);
Задать диапозон изменения аргумента функции [X1,X2];
Определить минимальное (Fmin) и максимальное (Fmax) значения функции, которые она принимает при
.
Fmin и
Fmax
можно
вычислить аналитически или программно.
В последнем случае нужно организовать
цикл с параметром x,
который изменяется от X1
до X2
с шагом
,
соответствующим горизонтальному
расстоянию между соседними пикселами
в системе координат экрана. В цикле
вычесляется последовательнось значений
функции
,
и из этой последовательности выбераются
минимальное и максимальное значения;Вычислить величины a и b по формулам (4) и (5);
Нарисовать на экране с помощью процедуры LINE модуля GRAPHICS оси координат OX и OY, положение которых задается уравнениями (6) и (7):
LINE(k,b,l,b); //ось OX
c:=ROUND(k-X1(l-k)/(X2-X1));
LINE(c,i,c,j); //ось OY
6)Организовать цикл с параметром x, изменяющимся от k до 1 с шагом 1 и задающим абсциссу точки графика функции на экране. В цикле вычисляется ордината Y точки графика функции на экране по формуле (2) и с помощью процедуры PUTPIXEL модуля GRAPHICS.H на экране изображается точка графика функции:
;

где arg – значение аргумента функции, Color – цвет точки.
