Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Функции масштабирования

Читайте также:
  1. II. Функции школьной формы
  2. II. Функции школьной формы
  3. II. Функции школьной формы
  4. II. Функции школьной формы
  5. II. Функции школьной формы
  6. include "widgets/Common.h" // общие функции
  7. L Вводом функции с клавиатуры

function TForm1.II(х: real): integer;

{функция масштабирования по оси ОХ}

Begin

II:=I1+Trunc((x-X1)*(I2-I1)/(Х2-Х1));

end;

function TForm1.JJ(y: real): integer;

(функция масштабирования по оси OY}

Begin

JJ:=J2+Trunc((y-Yl)*(J1-J2)/(Y2-Y1));

end;

График функции строится отрезками прямых линии, соединяющих узловые точки. Для того чтобы график выглядел достаточно плавным, необходимо взять около 60 точек по горизонтали.

Проект состоит из одного модуля, на форме которого расположены компоненты Panel1, Image1, SpinEdit1 и BitBtn1. Компонент SpinEdit1 предназначен для изменения множителя у функции F=A*Exp(-Sqr(x-0.5)).

При активизации проекта вызывается метод FormActivate.

Активизация проекта

procedure TForm1.FormActivate(Sender: TObject);

Begin

(Задание окна на экране}

With Image1 do

Begin

Il:=0; J1:=0; I2:=Width; J2:=Height;

end;

{вычисление шага по оси ОХ}

h:=(x2-xl)/n;

SetGraphic;

end;

в котором определяются габариты окна на экране, определяется шаг по горизонтальной оси и вызывается метод SetGraphic, выводящий график.

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

procedure TForm1.SetGraphic;

var i: integer;

Begin

With Image1.Canvas do

Begin

Pen.Color:=clWhite;

Brush.Color:=clWhite;

RectAngle(0,0,Width,Height);

{Построение осей координат}

Pen.Color:=clBlack;

MoveTo(II(0),JJ(Y1));

LineTo(II(O),JJ(Y2));

MoveTo(II(x1),JJ(0));

LineTo(II(x2),JJ(0));

{Построение графика функции отрезками}

x:=x1; y:=F(x);

MoveTo(II(x),JJ(y));

for i:=1 to n do

Begin

x:=x+h; y:=F(x);

LineTo(II(x),JJ(y));

end;

end;

end;

При щелчке мышью на компоненте SpinEdit1 изменяется значение SpinEdit1. Value и вызывается процедура перерисовки графика.


Дата добавления: 2015-07-12; просмотров: 171 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Волгоград| Часть I.

mybiblioteka.su - 2015-2024 год. (0.011 сек.)