
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
![]() |
![]() |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Построение графиков функций в среде 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
|
|
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
© cyberpedia.su 2017-2025 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!