Урок с электронной презентацией
Цель урока: научить создавать компьютерные модели физических процессов и явлений, используя компоненты среды программирования Borland Delphi.
Задачи:
- Рассмотреть возможности среды программирования для создания моделей физических процессов и явлений.
- Изучить принципы организации программы с использованием компонента TTimer для реализации эффектов движения.
Тип урока:
усвоение новых знаний.Ход урока
Сообщение темы и цели урока.
Учитель: Все процессы и явления вокруг нас могут быть описаны с помощью законов и формул. Мы уже знаем с вами, что физический процесс или явление может описать математическая модель. Как вы думаете, как бы вы еще смогли описать, например, равномерное движение?
Возможные варианты ответа: рисунок, чертеж, схема, видеоролик, анимация.
Учитель: А какие из вами перечисленных вариантов наиболее полно представят процесс движения?
Варианты ответа: Анимация, видеоролик.
Учитель: Действительно, с помощью анимации и видеоролика мы сможем увидеть сам процесс движения объекта. И компьютер, позволяет нам сделать и то, и другое.
Тема нашего сегодняшнего урока “Создание компьютерной модели физического процесса или явления средствами среды программирования Borland Delphi”.
Решение задачи.
Учитель: Рассмотрим самую простейшую физическую задачу: Тело движется по прямой равномерно со скоростью v . Необходимо найти путь, пройденный телом за t секунд.
Конечно, все Вы мне сейчас скажете, что будет являться математической моделью данного процесса движения.
Ученики: Математическая модель решения задачи: S=vt
Действительно, это так. А как Вы бы сделали анимацию к этому процессу?
Ученики предлагают свои варианты.
Учитель: Для реализации эффекта движения необходимо воспользоваться теми же методами, что использовали когда-то создатели мультфильмов. Кто знает какой?
Ученики: Они рисовали свой персонаж в одном месте, снимали кадр, затем смещали персонаж на небольшое расстояние и снова снимали кадр. При быстрой смене этих кадров получается эффект движения.
Учитель: Да это так, а нам нужно в данном случае привязать смещение объекта ко времени и стоящая перед нами задача иллюстрации процесса движения будет решена.
В среде программирования Borland Delphi для этой цели используется компонент TTimer. Этот компонент находится на страничке System палитры компонентов среды программирования Delphi. Интервал задержки изображения на экране задается с помощью свойства компонента Interval. Чем больше значение свойства Interval, тем медленнее происходит изменение объекта.
Еще одно свойство компонента TTimer, которое понадобится для работы с ним - Enabled. Это свойство может принимать значения “истина” и “ложь”. Данное свойство указывает, включен ли в настоящий момент TTimer или нет. По умолчанию TTimer является включенным. Поэтому, если условием задачи определено, чтобы движение производилось после какого-либо события, то необходимо в обработчике этого события “включить” это свойство, предварительно задав этому свойству значение false (ложь) в Инспекторе объектов.
Обработчик события для компонента TTimer по умолчанию - Timer1Timer. В отличие от других компонентов таймер обладает уникальным обработчиком событий, отличающимся от обработчиков других компонентов – OnTimer. Описанные в этом обработчике событий действия будут повторяться с частотой тика до тех пор, пока таймер не будет отключен.
Как будет выглядеть тело, которое перемещается, Вы можете выбрать сами. В качестве тела можно использовать любую геометрическую фигуру, например шар. Зададим ему размер - 20 (диаметр).
Какой метод используется для рисования окружности?
Ученики: Ellipse.
Учитель: Какие параметры имеет данный метод?
Ученики: Координаты левого верхнего и правого нижнего углов.
Учитель: С помощью каких методов изображаются другие объекты на рисунке (прямоугольник, точка, линия)?
Ученики: Rectangle, Pixels, Lineto.
Учитель: С помощью какого метода производится стирание изображения в компоненте?
Ученики:Refresh.
Учитель: Давайте, вспомним, как расположена система координат в окне формы?
Ученики: Ось y направлена вниз.
Учитель: Поэтому нам с Вами необходимо преобразовать реальные координаты движения в компьютерные.
х1=х+х0 у1=у0-у , где x1,y1 – координаты точки, получаемой на экране,
x0,y0 – координаты в обычной системе координат
При реализации данной задачи мы будем использовать компоненты: Button – кнопка начала движения, PaintBox - компонент для рисования и Timer.
Объявим переменные:
Var s,v,t,x0,y0,x:integer;
Напишем обработчики событий:
Обработчик событий для кнопки
х0:=20; // установили новые координаты
х0:=PaintBox1.Height-20; // начала координат
v:=StrToInt(Edit1.Text);
t:= StrToInt (Edit2.Text);
s:=v*t;
x:=x0;
Timer1.Enabled:=True;//включили таймер
Обработчик событий для таймера
if x-x0<=s then
begin
PaintBox1.Refresh;
PaintBox1.Canvas. Ellipse(x,y0,x+20,y0+20);
x:=x+1
end
else timer1.Enabled:=false;
Давайте запустим программу и посмотрим, как перемещается наш объект.
Таким образом, на уроке мы составили с Вами программу, иллюстрирующую процесс равномерного движения объекта, а также рассмотрели свойства и методы компонента TTimer, способы и методы работы с ним для реализации эффекта движения в программе.
Задание на практику: Составить программу, иллюстрирующую полет ядра, вылетевшего из пушки с начальной скоростью v0 под углом a.