Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема8.doc
Скачиваний:
2
Добавлен:
27.04.2019
Размер:
789.5 Кб
Скачать

Line (-5, 2)-(2, 1), , b 'не закрашен. Прямоугольник

Line (-8.5, 3.5)-(-5.5, -4), , BF 'закрашен. прямоугольник

Circle (1, 2), 5 'окружность

Circle (-1, -5), 3, , , , 0.4 'эллипс

Circle (-7, -9.5), 4, , -0.7, -2.1 'малый сектор

Circle (6, -6), 3.5, , -2.1, -0.7 'большой сектор

DrawWidth = 10 'изменение ширины линии или размера точки

PSet (7, 6.5) 'точка

End Sub

В методе Line в первых скобках заданы координаты Х и У первой точки, во вторых скобках - координаты Х и У второй точки. Координаты Х и У первой точки можно не задавать, тогда линия продолжается от текущей точки. Буква В задает рисование прямоугольника (в этом случае координаты определяют положение противоположенных углов), буква F определяет закрашивание прямоугольника. Дополнительным параметром можно задать цвет рисования.

В методе Circle в скобках задаются координаты Х и У центра. После скобок задается радиус. Используя дополнительные параметры можно рисовать дуги, сектора и эллипсы.

В методе PSet в скобке задаются координаты Х и Y центра точки.

Свойство формы DrawWidth определяет толщину линий или размер точки. (С элементом PictureBox не работает). Свойства FillColor и FillStyle определяют соответственно цвет заполнения прямоугольника, окружности, дуги или сектора и стиль заполнения (прозрачное, крест на крест, горизонтальные линии и др.).

Задание

  1. Сделать начало координат:

    1. В верхнем левом углу

    2. В нижнем левом углу

    3. В верхнем правом углу

    4. В верхнем левом углу

Расположение фигур оставить таким же, как на рисунке

  1. Изобразить треугольник

  2. Сделать линии и прямоугольники цветными

Построение графиков функций.

С помощью метода Line можно строить графики функций. График функции строится приближенно, путем замены кривой графика на ломаную линию. Ломаная линия получается путем соединения отрезками (которые рисуются методом Line) точек координатами которых являются по оси X - аргументы функции, а по оси Y – вычисленные по значению аргумента, значения функции. Чем меньше шаг, тем точнее изображение графика.

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

В качестве примера рассмотрим привычную систему координат, когда точка (0,0) находится в середине формы.

В этом случае в методе Scale (X1,Y1)-(X2, Y2) abs(X1) = abs(X2) и abs(Y1) = abs(Y2).

Пример программы для построения графика функции

Y = 0.25 * X ^ 3 + 0.14 * X ^ 2 + 0.25 * X – 25 на отрезке [-5,+5].

Заданный отрезок определяет масштаб оси Х. На заданном отрезке функция Y принимает значения от -54 до +11. Установим масштаб оси У от -55 до +55 (см. в тексте программы оператор Picture1.Scale (-5, 55)-(5, -55)

Построим график в области отображения элемента PictureBox – в свойстве Picture - картинка из файлов P1000391.JPG, 0004880.jpg или setup.bmp.

Свойства CurrentX и CurrentY определяют текущие координаты точки на элементе PictureBox (в программе они определяют начало рисования графика функции).

Public Function F(X As Single) As Single

F = 0.25 * X ^ 3 + 0.14 * X ^ 2 + 0.25 * X - 25

End Function

Private Sub Picture1_Click()

Dim X As Single, Xmin As Single, Xmax As Single

Picture1.Scale (-5, 55)-(5, -55) 'установка масштаба

Picture1.Line (-5, 0)-(5, 0), &HC000C0 'ось X лилового цвета

Picture1.Line (0, 100)-(0, -100), &HC000C0 'ось Y лилового цвета

Xmin = -5

Xmax = 5

Picture1.CurrentX = Xmin 'текущее значение X

Picture1.CurrentY = F(Xmin) 'текущее значение Y

For X = Xmin To Xmax Step 0.01

Picture1.Line -(X, F(X)), &HFFFFFF 'построение отрезков графика (задаются только координаты второй точки, первой является текущая точка). График белого цвета

Next

End Sub

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

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

Минимальное значение откладываемое по Y совпадает с минимумом функции, а максимальное с максимумом функции соответственно. Поскольку мы строим приблизительный график функции, то и минимум и максимум функции достаточно определить приближенно. Для вычисления приближенного минимума или максимума функции будем последовательно сравнивать значения функции в точках графика с запомненной величиной и в случае, когда значение в новой точке лучше, чем сохраненное ранее, пересохранять вновь найденное значение в качестве лучшего. Пройдя по всем точкам графика, в итоге получим максимальное или минимальное значение функции на отрезке. В качестве первоначального «лучшего значения» может быть выбрана любая точка графика внутри исследуемого отрезка.

Пример программного кода для вычисления координат точки максимума функции на отрезке X [-10;10] с точностью 0.01 по X. Вычисление значения функции оформлено в виде подпрограммы-функции f(x).

…..

dim x as double

dim maxF as double

dim maxX as double

maxX=-3

maxF= f(maxX) ‘ maxX внутри [-10;10]

for x= -10 to 10 step 0.01

if maxF< f(x) then

maxX=x

maxF=f(x)

end if

next

msgbox “Максимум функции на отрезке х[-10;10] достигнут в точке y=” & maxF & _

“ x=” & maxX