Уроки 2 - 7
§1.2. Построение и исследование физических моделей
Содержание урока
1.2.2. Компьютерная модель движения тела на языке Visual Basic
Проект «Бросание мячика в стенку» на языке Visual Basic
Обработчик события — вычисление результатов бросания мячика
Обработчик события — демонстрация траектории движения мячика
Компьютерный эксперимент
Анализ результатов
Корректировка модели
Проект «Диапазон углов» на языке Visual Basic
Контрольные вопросы
1.2.2. Компьютерная модель движения тела на языке Visual Basic
Обработчик события — демонстрация траектории движения мячика
Для визуализации компьютерной модели построим в графическом поле траекторию движения мячика.
3. Поместить дополнительно на форму графическое поле PictureBox1. С помощью диалогового окна Свойства установить с использованием свойства Size размер поля, например 400; 220.
В обработчике события осуществим преобразование компьютерной системы координат графического поля в математическую систему координат, удобную для построения траектории движения. Нарисуем оси координат и нанесем на них шкалы.
4. В математической системе координаты находятся в диапазонах 0 ≤ X ≤ 400 и -20 ≤ Y ≤ 200. Траектория движения мячика, скорее всего, будет в диапазоне координат 0 ≤ X ≤ 40 м и 0 ≤ Y ≤ 20 м.
Следовательно, необходимо увеличить масштаб графика в 10 раз:
• координаты точек графика необходимо умножить на 10;
• значения шкал осей разделить на 10.
Построение траектории осуществить в цикле со счетчиком (координата X) с использованием метода рисования точки DrawEllipse(Pen1, Х*10, Y*10, 1, 1), в котором координатами точки являются координаты мячика.
Dim Graph1 As Graphics
Dim Pen1 As New Pen(Color.Black, A)
Dim drawBrush As New SolidBrush(Color.Black)
Dim drawFont As New Font("Arial", 10)
Dim X, Y, T As Single
Private Sub Button2_Click (...)
Graph1=Me.PictureBox1.CreateGraphics()
Graph1.Clear(Color*White)
'Печать шкал математической системы координат
'в компьютерной системе координат
For Х=0 То 400 Step 50
Graph1.Drawstring (Х/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
'Пpeобразование компьютерной системы
'координат в математическую систему координат
Graph1.ScaleTransform(1, -1)
'Поворот оси Y
Graph1.TranslateTransform(0, -200)
' Сдвиг по оси Y
'Рисование осей математической системы
'координат
Graph1.DrawLine(Pen1, 0, 0, 400, 0)
'Ось X
Graph1.DrawLine(Pen1, 0, -20, 0, 200)
'Ось Y
'Стенка
Graph1.DrawLine(Pen1, S*10, 0, S*10, H*10)
'Построение траектории движения мячика
For Т=0 То 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
Следующая страница Компьютерный эксперимент
Cкачать материалы урока