Для решения нашей задачи требуется строить графики функций. Для их корректного отображения нам потребуется вычислить масштаб графика, размер графика и координаты центра. Для этого нам потребуются пределы изменения по оси Ox, где xϵ[x1;x2] и по оси Oy, где yϵ[y1;y2], и шаг dx.
В начале выберем размер занимаемый графиком, пусть будет 600x600. Тогда мы можем рассчитать масштаб по оси Ox и Oy
| Mx = 600/(x2 - x1), | (1.8) |
| My = 600/(y2 – y1), | (1.9) |
где Mx – масштаб по оси Ox,
| H |
| W |
| 600pix |
| 600pix |
| x э |
| y э |
| x 0, y 0 |
| y min |
| x min |
| y |
| x |
| Рис. 1.4. Изображение графика функций |
My – масштаб по оси Oy.
Определим экранные координаты точки начала отсчета (0,0). Как видно из рисунка (Рис. 1.4.), начало отсчета экранных координат находится в левом верхнем углу экрана. Нам же необходимо разместить начало отсчета так, чтобы и положительные и отрицательные ветви графика полностью поместились на экране. Следовательно,
| x0 = |x1|·Mx, | (1.10) |
| y0 = y2·My, | (1.11) |
где x0, y0 – экранные координаты центра,
|x1| - модуль x1.
Построение графика функции y(x) выполняется по точкам. Значения функции вычисляются для каждой точки х на отрезке [x1;x2] с шагом dx. Для определения экранных координат точек (xe, ye) полученные значения х и у умножаются на соответствующие масштабные коэффициенты, округляются до целых значений (т.к. экранные координаты – только целые). Затем учитывается положение точки начала отсчета (x0;y0) и направление экранных осей. Направление экранной оси Ох совпадает с направлением соответствующей оси нашего графика, а экранная ось Оу направлена в противоположную сторону по отношению к оси нашего графика. Поэтому формулы для вычисления экранных координат точек графика имеют вид
| xe = x0 + x·Mx | (1.12) |
| ye = y0 – y·My | (1.13) |
Алгоритм изображения графика функций находится ниже (Рис. 1.5.)
Список условных обозначений к блок-схеме изображения графика функций
· x1, x2, y1, y2 – пределы изменения по X и по Y соответственно;
· Mx, My – масштаб по оси Ox и по оси Oy;
· x0, y0 – экранные координаты центра;
· x, y – координаты точки;
· xe, ye – экранные координаты точки;
· dx – шаг.






