Слайд 1Исследование физических моделей
МКОУ «Усть-Багарякская СОШ»
Слайд 2Рассмотрим процесс построения и исследования модели на конкретном примере движения тела,
брошенного под углом к горизонту.
Слайд 3Содержательная постановка задачи.
В процессе тренировок теннисистов используются автоматы по бросанию
мячика в определенное место площадки. Необходимо задать автомату необходимую скорость и угол бросания мячика для попадания в мишень определенного размера, находящуюся на известном расстоянии.
Слайд 4Качественная описательная модель.
Сначала построим качественную описательную модель процесса движения тела
с использованием физических объектов, понятий и законов, то есть в данном случае идеализированную модель движения объекта. Из условия задачи можно сформулировать следующие основные предположения:
мячик мал по сравнению с Землей, поэтому его можно считать материальной точкой;
Слайд 5изменение высоты мячика мало, поэтому ускорение свободного падения можно считать постоянной
величиной g = 9,8 м/с2 и движение по оси OY можно считать равноускоренным;
скорость бросания тела мала, поэтому сопротивлением воздуха можно пренебречь и движение по оси ОХ можно считать равномерным.
Слайд 6Формальная модель.
Для формализации модели используем известные из курса физики формулы
равномерно равноускоренного движения. При заданных начальной скорости v0 и угле бросания α значения координат дальности полета х и высоты у от времени можно описать следующими формулами:
Слайд 7x=v0·cosα·t
y=v0·sin α ·t-g·t2/2
Слайд 9Графический интерфейс проекта «Бросание мячика»
Разместить на форме:
четыре текстовых поля для ввода
значений: TextBox1 — начальной скорости, TextBoxt2 — угла бросания мячика, TextBox3 — расстояния до мишени и TextBox4 — высоты мишени;
надпись Label1 для вывода высоты мячика на заданном расстоянии;
надпись Label2 для вывода текстового сообщения о результатах броска;
Слайд 10Графический интерфейс проекта «Бросание мячика»
восемь надписей для вывода имен переменных и
единиц измерения;
кнопку Button1 для создания событийной процедуры вычисления результатов бросания мячика;
кнопку Button2 для демонстрации траектории движения мячика.
Слайд 11Событийная процедура вычисления результатов бросания мячика.
Создадим программный код событийной процедуры,
определяющей попадание мячика в стенку, в которой:
объявим вещественные константы одинарной точности G (ускорение свободного падения g) и Pi (число п);
объявим вещественные переменные одинарной точности V0 (начальная скорость v0), А (угол бросания а), S (расстояние до стенки s), Н (высота стенки h) и L (высота мячика I);
Слайд 12присвоим переменным V0, A, S, Н значения, введенные в текстовые поля,
с использованием функции преобразования строки в вещественное число Val();
вычислим высоту мячика L на заданном расстоянии по формуле;
выведем высоту мячика L в поле надписи Label 1;
Слайд 13выведем текстовое сообщение о результатах броска в поле надписи Label2 с
использованием инструкции Select Case, в которой в качестве условия проверяется значение переменной L.
В языке программирования Visual Basic аргументы тригонометрических функций Sin (), Cos () и Tan () задаются в радианах, а угол бросания мячика мы будем вводить в градусах. Поэтому необходимо преобразовать значения углов из градусов в радианы с использованием константы Pi.
Слайд 14Событийная процедура демонстрации траектории движения мячика.
Для визуализации компьютерной модели построим в
графическом поле траекторию движения мячика.
Поместить дополнительно на форму графическое поле PictureBox1. С помощью диалогового окна Свойства установить с использованием свойства Size размер поля, например 400; 220.
В событийной процедуре осуществим преобразование компьютерной системы координат графического поля в математическую систему координат, удобную для построения траектории движения. Нарисуем оси координат и нанесем на них шкалы.
Слайд 15Const G As Single = 9.81
Const Pi As Single = 3.14
Dim
V0, A, S, L, H As Single
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Ввод начальных значений
V0 = Val(TextBox1.Text)
A = Val(TextBox2.Text)
S = Val(TextBox3.Text)
H = Val(TextBox4.Text)
'Попадание в стенку
L = S * Math.Tan(A * Pi / 180) - (G * S ^ 2) / (2 * V0 ^ 2 * Math.Cos(A * Pi / 180) ^ 2)
Label1.Text = L
Слайд 16Select Case L
Case Is < 0
Label2.Text = "Недолет"
Case Is >
H
Label2.Text = "Перелет"
Case Else
Label2.Text = "Попадание"
End Select
End Sub
Dim Graph1 As Graphics
Dim Pen1 As New Pen(Color.Black, 4)
Dim drawBrush As New SolidBrush(Color.Black)
Dim drawFont As New Font("Arial", 10)
Dim X, Y, T As Single
Слайд 17Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Graph1 = Me.PictureBox1.CreateGraphics()
Graph1.Clear(Color.White)
'Печать шкал математической системы координат в компьютерной системе координат
For X = 0 To 400 Step 50
Graph1.DrawString(X / 10, drawFont, drawBrush, X, 200)
Next X
For Y = 20 To 220 Step 50
Graph1.DrawString((Y - 20) / 10, drawFont, drawBrush, 0, 220 - Y)
Next Y
'Преобразование компьютерной системы координат в математическую систему координат
Graph1.ScaleTransform(1, -1) 'Поворот оси Y
Graph1.TranslateTransform(0, -200) 'Сдвиг по оси Y
Слайд 18 'Рисование осей математической системы координат
Graph1.DrawLine(Pen1, 0, 0,
400, 0) 'Ось Х
Graph1.DrawLine(Pen1, 0, -20, 0, 200) 'Ось Y
'Мишень
Graph1.DrawLine(Pen1, S * 10, 0, S * 10, H * 10)
'Построение траектории движения мячика
For T = 0 To 10 Step 0.1
Y = V0 * Math.Sin(A * Pi / 180) * T - G * T * T / 2
X = V0 * Math.Cos(A * Pi / 180) * T
Graph1.DrawEllipse(Pen1, X * 10, Y * 10, 1, 1)
Next T
End Sub
End Class