Реферат: Компьютерное моделирование движения тел
LINE (350, 302)-(350, 298), 11
LINE (450, 302)-(450, 298), 11
LINE (550, 302)-(550, 298), 11
REM полет
v = 50
g = 9.8
a = 30
f = a * 3.14 / 180
100 q = 1
t = t + q
s = v * t * COS(f) (2.1)
h = v * t * SIN(f) - (g * t ^ 2) / 2 (2.2)
LINE (x2, y2)-(x0 + s, y0 - h), 14
x2 = x0 + s
y2 = y0 - h
IF h < 0 THEN 200
GOTO 100
200 END
Веденные дополнительные значения X2, Y2 обеспечивают привязку координат к началу системы отчета. Программа выдаст график полета тела, который в данном случае не привязан к масштабу сетки координат. Устранить это неудобство можно в ведя множитель для Y координаты 5.5 (1:5,5), а для координаты X множитель 2 (1:2).
Заменив строчки 2.1 и 2.2 на выражения 2.3 и 2.4
s = v * t * COS(f) * 2 (2.3)
h = (v * t * SIN(f) - (g * t ^ 2) / 2) * 5.5 (2.4)
получим окончательную программу полета тела (Приложение 1). График полета представлен на рисунке 2.
Рис. 2
В данном случаи он не отражает истинной траектории полета тела, так как значение координат получены с шагом (дискретой) в 1 сек. Если значению q присвоить 0,5; 0,25; 0,1; и т.д., то график приблизится к идеальной кривой полета тела.
На кривизну графика так же влияет изменение скорости и начального угла полета тела.
3.Этап третий. Работа пользователя.
Хорошую наглядность программа приобретает, когда она становится унифицированной, т.е. чтобы ее можно было успешно использовать для различных параметров. Для того, чтобы можно было менять начальные условия, несколько модернизируем уже имеющуюся программу полета тела. Но вместо тела используем пушечное ядро и попытаемся им попасть в цель находящуюся на каком-то заданном расстоянии.
Для составления программы необходимо учитывать, что начальная скорость ядра составляет примерно 200 м/с, следовательно, и дальность полета значительно возрастет, при этом сопротивлением воздуха опять пренебрегаем. Программу начнем с ввода данных в соответствии с условием задачи.