Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Построение графических моделей физических процессов в среде Lazarus



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

Построение графиков функций в среде 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


Поделиться:



Популярное:

  1. Автоматизация процессов механической очистки сточных вод
  2. АВТОМАТИЗАЦИЯ ПРОЦЕССОВ ПОСЛЕУБОРОЧНОЙ ОБРАБОТКИ ЗЕРНА
  3. АВТОМАТИЗАЦИЯ ПРОЦЕССОВ ПРОИЗВОДСТВА И ПЕРЕРАБОТКИ КОРМОВ
  4. АВТОМАТИЗАЦИЯ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ
  5. Анализ моделей реального уровня
  6. Анализ мотивационных моделей, применяемых в турфирме «Жар-птица».
  7. Анализ структуры процессов в соответствии с ISO 9000 - стандартом на качество проектирования, разработки, изготовления и послепродажного обслуживания
  8. Анализируя опыт мирового развития, можно выделить пять наиболее типичных моделей капиталистической экономики, базирующейся на многообразии форм собственности.
  9. Безопасность технологических процессов и производственного оборудования
  10. В МУЗЕЕ И В АРХИТЕКТУРНОЙ СРЕДЕ
  11. В отдельных случаях МП регулирует отношения с участием физических и юридических лиц.
  12. Важнейшей особенностью развития Испании приведшего к этому кризису явилось как влияние мировых экономических процессов, так и политики абсолютной монархии в Испании.


Последнее изменение этой страницы: 2016-06-04; Просмотров: 2308; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь