Приступая к проблеме компьютерного построения графиков, весьма полезно предварительно рассмотреть формулу, позволяющую пропорционально переносить точки из одного числового отрезка в другой. Пусть имеется отрезок числовой прямой [xmin,xmax]. Внутри отрезка обозначена точка, соответствующая некоторому числу x. В практике компьютерного построения графиков (и не только) иногда требуется найти "аналог" этой точки x на каком-то другом отрезке [x`min,x`max]. Обозначим аналог точки x через x`. Относительное местоположение числа x` на отрезке [x`min,x`max] должно быть точно таким же, как относительное местоположение числа x на интервале [xmin,xmax]. Для нахождения такой точки можно использовать формулу:
(1)
где
xmin,xmax - границы интервала, в котором заключено исходное число;
x`min,x`max - границы интервала, в который оно проецируется;
x, x` - исходное число и его образ.
Например, представим себе, что группа учащихся отвечает на вопросы теста. На каждый вопрос в тесте предложены варианты ответов. Каждый ответ имеет свою "цену" в баллах. Предположим, что всего в процессе тестирования каждый учащийся может набрать от 7-ми до 43-х баллов. Задача преподавателя состоит в том, чтобы по результатам теста выставить оценку от 2-х до 5-ти. Для этого можно воспользоваться формулой (1). Пусть, например, студент Иванов набрал 28 баллов. Тогда:
x = 28, xmin = 7 , xmax = 43, x`min = 2, x`max = 5.
В итоге оценка Иванова составит:
Существуют числовые интервалы, в которые особенно часто приходится проецировать данные. Это, например, доли (интервал от 0 до 1), проценты (интервал от 0 до 100). Часто интересно бывает выразить какие-то числовые данные, как значения в интервале от -1 до +1. В этих случаях вид формулы (1) упрощается. При отображении данных в интервал от -1 до +1 формула (1) примет вид:
Для отображения чисел в интервал от 0 до 100 можно воспользоваться выражением:
При отображении чисел в интервал от 0 до 1 формула (1) принимает простой вид:
При программировании компьютерного построения графиков приведенная формула полезна для пересчета математических координат точек в их экранные координаты в пикселах (или других экранных единицах). Названная проблема в каждом конкретном случае может быть решена путем манипуляций с метрическими свойствами объекта, на котором будет отображаться график. Мы рассмотрим, однако, более "ручной" вариант программы, позволяющий строить графики произвольных функций в любых интервалах значений x и y на основе описанной формулы.
Function f(x As Single) As Single f = Abs(Sin(x ^ 2) * x) End Function
Sub Screen_click() screen.Cls Xmin! = Text1(0).Text Xmax! = Text1(1).Text Ymin! = Text1(2).Text Ymax! = Text1(3).Text X0% = 300 * (0 - Xmin!) / (Xmax! - Xmin!) Y0% = 300 * (0 - Ymin!) / (Ymax! - Ymin!) Y0% = 300 - Y0% screen.Line (X0%, 0)-(X0%, 300) screen.Line (0, Y0%)-(300, Y0%) hx! = (Xmax! - Xmin!) / 300 x! = Xmin! For Xn% = 0 To 300 y! = f(x!) Yn% = 300 * (y - Ymin!) / (Ymax! - Ymin!) Yn% = 300 - Yn% screen.PSet (Xn%, Yn%) x! = x! + hx! Next Xn% End Sub
График строится на объекте screen (PictureBox) размером 300*300 пикселов в ответ на щелчок мышки. Кроме точек графика, на экран выводятся оси координат (разумеется, если в заданном интервале x и y они видны). В программе должны быть предварительно заданы четыре константы Xmin, Xmax, Ymin, Ymax. Эти константы определяют собой математическое "окно", которое будет отображено на экране. В приведенной процедуре описана пара переменных действительного типа x и y, в которых размещаются текущие значения математических координат точек графика (x, f(x)). Кроме них, в процедуре используются целые переменные Xn и Yn, в которых размещаются значения пиксельных координат точек графика. Целые переменные Xo и Yo - это экранные координаты крайних точек, определяющие местоположение осей координат в экранном образе отображённого математического окна. Сам график функции строится по трёмстам точкам. Для каждой единицы экранной координаты Хn вычисляется математическое значение координаты у=f(х). Значение f(х) вычисляется с помощью подпрограммы-функции. Экранная координата Yn, соответствующая математической координате y, определяется путём вычитания из трёхсот округлённого результата пересчёта по формуле (1). В теле цикла for при помощи метода Pset в пиксел с экранными координатами (Хn, Yn) ставится точка.
Построение и исследование графиков функций - не только нужное дело, но и достаточно интересное времяпровождение. Воспроизведя на своём компьютере приведенную процедуру, Вы сможете вполне насладиться этим занятием, а, возможно, и чему-то научиться. Изменяя вид функции f(x), а также константы Xmin, Ymin, Xmax, Ymax, Вы сможете строить любые графики, следя лишь за тем, чтобы в процессе счёта не возникали математически некорректные ситуации типа деления на ноль.
А. КОЛЕСНИКОВ,
[email protected]
Горячие темы