Краткие теоретические сведения — КиберПедия 

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Краткие теоретические сведения

2024-02-15 18
Краткие теоретические сведения 0.00 из 5.00 0 оценок
Заказать работу

Построение графиков функций в среде Lazarus . Для построения графических изображений имеется свойство формы Canvas (канва, холст) и его подсвойство Pen (перо). Перо в свою очередь обдадает свойствами Color (цвет) и Width (толщина). Размеры формы определяются свойствами Height (высота) и Width (ширина). Для перемещения из текущего положения в точку (X,Y) служит метод MoveTo(X,Y), для рисования отрезков- LineTo(X,Y), для вывода текста на холст-, TextOut(X,Y,’текст’)

Алгоритм построения графика функции Y = Y ( x ), где x изменяется на отрезке [ a , b ] с шагом h

1. Расчет расположения графика на форме

- Отступы от краев формы по горизонтали Hor и вертикали Ver

- Определение положения начала координат X0=Hor; Y0=Form2.Height-Ver

- Вычисление масштабов Mx=Form2.width/Xmax; My=Form2.Height/Ymax 

2. Построение координатных осей

- Горизонтальная MoveTo(X0,Y0); LineTo(Form2.Width-Hor,Y0)

- Вертикальная MoveTo(X0,Y0); LineTo(X0,Ver)

3. Преобразование координат из «обычных» в «экранные» X1:=trunc(X*Mx)+X0; Y0:=trunc(Y*My)+Y0

4. Начальные установки X=a; цвет и толщина пера; помещение пера в начало координат

5. Цикл построения графика:

Пока не достигнут правый конец отрезка 

- Вычисление Y,

- Преобразование координат в «экранные»

- Построение отрезка из текущей точки в точку (X,Y)

- Увеличение x на шаг

Создание приложения с двумя формами. Вторую форму можно создать, например, выбрав в главном  меню File, New, Form. Чтобы осуществить взаимодействие двух форм, необходимо включить модуль второй формы в предложение uses раздела реализации модуля первой формы и модуль первой формы в интерфейсный раздел второй формы:


Unit Unit1;

Interface

Var Form1:TForm1;

Implementation

// ссылка на модуль 2-ой формы

uses Unit2;

Unit Unit2;

Interface

// ссылка на модуль 1-ой формы

uses Unit1;

Var Form2:TForm2;

Implementation


При наступлении определенного события, например, щелчка на кнопке, вторая форма становится видимой и активной, а первая -скрытой:

 Procedure Form1Button1Click();

Begin

 Form2.Show;

Form1.Hide

End;

Возврат на первую форму происходит при щелчке на кнопке, расположенной на второй форме:

 

Procedure Form2Button1Click();

Begin

 Form1.Show;

Form2.Hide

End;


 

Пример выполнения задания

Задача. Построить график зависимости скорости от времени для задачи из лабораторной работы №1. Объяснить график. Определить по нему конечное значение скорости.

Мы хотим наблюдать на экране график так, чтобы он занимал всю форму. Поскольку нужно будет еще вводить исходные данные, создадим приложение с двумя формами. На первой форме будут располагаться поля ввода исходных данных, на второй – график. График расположим непосредственно на форме, появляться он будет при наступлении события «Прорисовка формы». Роль аргумента играет время , роль функции – скорость. Поскольку обе величины принимают только неотрицательные значения, расположим начало координат в левом нижнем углу формы. На форме должны быть изображены и подписаны координатные оси.

Текст процедуры- обработчика события OnPaint компонента Form2:

procedure TForm2.FormPaint(Sender: TObject);

var Hor,Ver:integer; // горизонтальный и вертикальный

                      отступ от краев формы

x0,y0://начало координат

x,y:// текущие координаты точки

Mx,My:real;//горизонтальный и вертикальный масштабы

Begin

// расчет расположения графика на форме

Hor:=10;Ver:=15; x0:=Hor; y0:=Form2.Height-Ver;

Mx:=Form2.Width/16;// ширину формы делим на tmax My:=Form2.Height/63;// высоту формы- на Vmax

with Canvas do begin

Pen.Color:=clBlack; Pen.Width:=2

//горизонтальная ось

MoveTo(X0,Y0);LineTo(Form2.Width-Hor,Y0); TextOut(Form2.Width-Hor,Y0-2,'t');

//вертикальная ось

MoveTo(X0,Y0);LineTo(X0,Ver); TextOut(X0-5,Ver,'v');   

//начальные значения

v:=0;t:=0;h:=h0; c:=0.40;S:=pi*r*r;

//коэффициенты силы сопротивления

k1:=6*pi*mu*r; k2:=0.5*S*c*ro;

Pen.Color:=clRed; // цвет пера - красный

MoveTo(x0,y0); // перо- в начало координат

//цикл построения графика до раскрытия парашюта

repeat

h:=h-v*dt;

v:=v+(m*g-k1+v-k2*v*v)/m*dt; // изменение t,h и v

t:=t+dt ;

X:=trunc(t*Mx)+X0;y:=trunc(-v*My)+Y0;//перевод координат

 в экранные

LineTo(x,y); //построение очередной точки графика

until h<h1 ;

c:=0.55; S1:=pi*r1*r1; // при раскрытии парашюта меняются

k1:=6*pi*mu*r1; // форма тела, его радиус, площадь

k2:=0.5*S1*c*ro; // и коэффициенты силы сопротивления

//цикл построения графика с момента раскрытия парашюта до приземления

repeat

h:=h-v*dt;v:=v+(m*g-k1+v-k2*v*v)/m*dt;

t:=t+dt ;

X:=trunc(t*Mx)+X0;y:=trunc(-v*My)+Y0;

LineTo(x,y);

until h<0 ;

end;

end;      

На рис.4 результат – график изменения скорости парашютиста для исходных данных, введенных на первой форме (рис.3)

 

Рис 3. Ввод исходных данных на первой форме

Рис 4. График зависимости скорости от времени на второй форме

Задание к лабораторной работе

1. Построить графическую модель движения тела согласно варианту лабораторной работы №2.

2. Определить значения исследуемых параметров модели.

Варианты заданий

Варианты 1-6. Зависимость скорости движущегося тела от времени

Варианты 7-12. Траектория движения тела


Лабораторная работа №4


Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.