Моделирование прыжка с трамплина - (диплом)
p>На рис. 11 видны траектории полета прыгуна при , фиксированной предельной скорости и слегка отличающихся начальных скоростях.Рис. 11. Траектории полета лыжника при различных скоростях вылета
Рис. 12. Зависимость дальности полета от начальной скорости при различных предельных скоростях.
Рис. 13. Зависимость нормальной к склону составляющей скорости приземления от начальной скорости при различных предельных скоростях.
Рис. 14. Допустимая зона изменения предельной и начальной скоростей при фиксированном угле наклона лыж к горизонту
Рис. 15. Допустимая зона изменения предельной и начальной скоростей при фиксированном угле наклона лыж к горизонту.
Из рис. 12-13 видно, что чем больше дальность полета, тем более жестким будет приземление. При уменьшении предельной скорости для достижения той же дальности нужна меньшая начальная скорость, то есть преимущество получают прыгуны, имеющие большую "парусность". Из рис. 14-15 видно, что угол лыж 20° предпочтительнее, чем угол 30°, так как при нем можно стартовать с меньшими скоростями и с меньшим риском. Таким образом, наилучшие прыжки получаются при как можно больших начальных скоростях (разумеется, в пределах допустимой области) и как можно меньших предельных скоростях и углах.
При учете ветра оказалось, что уже при скоростях ветра порядка 1 м/с при встречном ветре лыжник имеет большой шанс недолететь до участка приземления, а при попутном - перелететь через него. Видимо, поэтому соревнования по прыжкам с трамплина не проводятся при ветре.
6. Заключение
Построена математическая модель прыжка с трамплина, учитывающая все основные факторы, влияющие на полет лыжника, включая ветер вблизи трамплинной горы и зависимость аэродинамических коэффициентов от угла атаки.
Определена область изменения параметров прыжка, обеспечивающая безопасное приземление.
Решена задача обтекания трамплинной горы потоком воздуха. Составленная модель отображает основные физические закономерности рассматриваемого явления как то возникновение ветра под действием перепада давлений, увеличение скорости ветра под действием высотных ветров, поворот воздушного потока вспять при задании отрицательных скоростей на границах рассматриваемой области или отрицательного перепада давлений и т. д.
В дальнейшем планируется:
1. Исследовать влияние стартового толчка на результаты прыжка; 2. Провести более точный анализ аэродинамических коэффициентов, основанный на математической модели обтекания системы прыгун-лыжи потоком воздуха; 3. Поставить задачу оптимизации параметров прыжка и решить с применением прнципа максимума Понтрягина аналогично работам [2, 3], но с учетом ограничения на скорость приземления;
4. Решить нестационарную задачу обтекания горы потоком воздуха: если даже небольшой постоянный ветер приводит к сносу в десятки метров, может, допустимыми окажутся небольшие порывы ветра.
{$E+}{$N+}
{ П р ы ж о к с т р а м п л и н а
Предельная скорость растет в полете в зависимости от угла атаки } uses ForJump3, Graph;
begin
for I: =1 to 25 do WriteLn;
H: =37. 7; HN: =0. 506; K: =86; BETA: =36; Alfa: =9. 5;
Alfa: =-Alfa*PI/180; BETA: =-BETA*PI/180;
CalculateTramplin;
Scaling;
EnterJumpers;
DrawTramplin;
for I: =1 to N1 do Jump;
ReadLn;
CloseGraph;
end.
{ М о д у л ь д л я м о д е л и р о в а н и я п р ы ж к а с т р а м п л и н а
Предельная скорость растет в полете в зависимости от угла атаки } {$E+}{$N+}
unit ForJump3;
interface
uses Graph, Crt;
const dt: Extended=1E-3;
G=9. 82;
WWW=-1;
TL=0. 5; { время подготовки к приземлению}
QuestionColor: Word=LightBlue;
AnswerColor: Word=LightGreen;
TramplinColor: Word={Red}White;
TramplinDataColor: Word=Red;
JumpColor: Word=White;
JumpDataColor: Word=White;
Background: Word=Black;
var n1, i: byte;
S1, S2, S3, S4, S5, S6: string;
Scale, KLine, BLine, {масштаб рисунка и параметры горы приземления} Length, VY, {дальность прыжка и скорость приземления}
K, H, N, HN, H1, YH, S, YO, ALFA, BETA: Extended; {трамплин} VPr0, V0, Gamma: array[1...7] of Extended; {прыгуны}
procedure EnterBasicData;
{Ввод базовых параметров трамплина}
procedure CalculateTramplin;
{Вычисление остальных параметров трамплина}
procedure EnterJumpers;
{Ввод данных о прыгунах}
procedure Scaling;
{Вычисление масштабов}
procedure WriteTramplinData;
{Вывод данных о трамплине}
procedure DrawTramplin;
{Рисование трамплина}
procedure Jump;
{Прыжок}
implementation
procedure EnterBasicData;
{Ввод базовых параметров трамплина}
begin
ClrScr; TextColor(QuestionColor);
WriteLn(' Моделирование прыжка с трамплина'); WriteLn('Входные параметры: ');
WriteLn(' Параметры трамплина: ');
Write('H, H: N, K, beta, alfa=');
{H, гор. коорд. точки K, углы}
TextColor(AnswerColor); ReadLn(H, HN, K, BETA, ALFA);
TextColor(QuestionColor);
Alfa: =-Alfa*Pi/180; Beta: =-Beta*Pi/180;
end;
procedure CalculateTramplin;
{Вычисление остальных параметров трамплина}
var W: Extended;
begin
N: =H/HN; {она и в Африке N}
H1: =Abs((K-N)*Sin(BETA)/Cos(BETA));
{верт. коорд. точки P - начала участка приземления}
YH: =H+H1; {высота склона в месте отрыва}
W: =Sqrt(H*H+N*N); {удаление от канта отрыва до критической точки} S: =0. 03*W; {высота стола отрыва над склоном}
YO: =YH+S; {высота отрыва}
end;
procedure EnterJumpers;
{Ввод данных о прыгунах}
var I: Byte; Gamma1, VPr01, V01: Extended;
begin
N1: =7;
WriteLn(' Параметры прыгунов: предельная скорость');
WriteLn(' Вводятся ', N1, ' графиков, хочешь меньше - задай Vпр=0'); Gamma1: =20;
VPr01: =70;
TextColor(QuestionColor); Write(' Vo=');
TextColor(AnswerColor); ReadLn(V01);
for I: =1 to N1 do begin
Gamma[I]: =Gamma1*Pi/180;
VPr0[I]: =VPr01;
V0[I]: =V01+0. 2*(I-1);
end;
end;
procedure Scaling;
{Вычисление масштабов}
var MX, My: Extended;
begin
MX: =600/K; My: =400/YO; if MX
Scale: =MX;
KLine: =H1/(N-K); BLine: =-KLine*K;
end;
procedure WriteTramplinData;
{Вывод данных о трамплине}
begin
SetColor(TramplinDataColor);
Str(1/Scale: 4: 2, S6);
Str(H: 0: 1, S1);
Str(N: 0: 1, S2);
Str(Alfa*180/Pi: 0: 1, S3);
Str(Beta*180/Pi: 0: 1, S4);
Str(K: 0: 1, S5);
{ S6: ='Масштаб: '+S6+'м: 1точка, Трамплин: H='+S1+
', N='+S2+', alfa='+S3+', beta='+S4+', K='+S5;
OutTextXY(0, 401, S6); }
end;
procedure DrawTramplin;
{Рисование трамплина}
var GD, GM: Integer;
S, S1, S2, S3, S4, S5: string;
begin
GD: =Detect;
InitGraph(GD, GM, '');
SetColor(TramplinColor);
SetBkColor(Background);
MoveTo(0, 400-Round(Scale*YO));
LineTo(0, 400-Round(Scale*YH));
{уступ}
LineTo(Round(Scale*N), 400-Round(Scale*H1));
{нерабочий участок}
LineTo(Round(Scale*K), 400);
{участок для приземлений}
WriteTramplinData;
end;
procedure Jump;
{Прыжок}
var T, F1, K1, VPr12, VPr2, Vx, Vx0, Vy, Vy0, V, X, Y, A, B, Sin1, Cos1, SinAG, TK, Gamma1: Extended;
S: string;
function EndofJump: Boolean;
begin
if ((X else if ((YN)) then EndofJump: =True
else if X>K then EndofJump: =True
else EndofJump: =False;
end;
begin
SetColor(JumpColor);
Vx0: =V0[I]*Cos(Alfa);
Vy0: =V0[I]*Sin(Alfa);
Vx: =Vx0;
Vy: =Vy0;
V: =Sqrt( Sqr(Vx0)+Sqr(Vy0) );
X: =0; Y: =YO;
VPr2: =Sqr(VPr0[I]);
Gamma1: =Gamma[I];
Sin1: =Sin(Gamma1);
Cos1: =Cos(Gamma1);
SinAG: =Sin(Gamma1-Alfa);
repeat
A: =Vx*Sin1-Vy*Cos1;
B: =Vx*Cos1+Vy*Sin1;
F1: =B/A;
K1: =G*A/VPr2/V/SinAG;
V: =Sqrt( Sqr(Vx0+WWW*dt)+Sqr(Vy0) );
Vx: =Vx0-K1*V*(Vx0+F1*Vy0)*dt+WWW*dt;
Vy: =Vy0-G*dt-K1*V*(Vy0-F1*Vx0)*dt;
X: =(Vx+Vx0)*dt/2+X;
Y: =(Vy+Vy0)*dt/2+Y;
PutPixel( Trunc(X*Scale), Trunc(400-Y*Scale), JumpColor);
Vx0: =Vx; Vy0: =Vy;
until EndofJump;
Vy: =Vx*Sin(Beta)-Vy*Cos(Beta);
{вертикальная составляющая скорости приземления}
Length: =Sqrt(Sqr(H)+Sqr(N))+((X-N)/Cos(Beta));
{дальность прыжка}
{вывод данных о прыжке}
Str(I, S);
SetColor(JumpDataColor);
OutTextXY( Trunc(X*Scale)-8, Trunc(400-Y*Scale), S);
Str(Abs(V0[I]): 4: 2, S6);
Str(Abs(VPr0[I]): 4: 2, S1);
Str(Length: 0: 1, S3);
Str(Abs(VY): 4: 2, S4);
Str(I, S5);
S6: =S5+': Vo='+S6+'м/с, Vпр='+S1+'м/с';
if ((X>N)and(X S6: =S6+', Дальность='+S3+'м, скорость='+S4+'м/с';
OutTextXY(10, 401+10*I, S6);
end;
begin
end.
(TK-0. 5) - Gamma
TK - Beta
Gamma=K*(TK-0. 5)+B
Beta=K*TK+B
----------------------
(Gamma-Beta)=-K/2 => K=2*(Beta-Gamma)
B=Beta-K*TK
----------------------
Fi(T)=K*(T-TK)+Beta
Библиография
1. Грозин, Е. А. (1971) Прыжки с трамлина. Физкультура и спорт, Москва 2. Ремизов, Л. П. (1973) Максимальная дальность прыжка с трамплина. Теория и практика физической культуры, 3, 73-75.
3. Remizov L. P. Biomechanics of optimal ski jump. J. Biomechanics, 1984, vol. 17, №3, pp. 167-171. 4. Н. А. Багин, Ю. И. Волошин, В. П. Евтеев. К теории полета лыжника при прыжках с трамплина. /Теория и практика физической культуры, №2, 1997, сс. 9-11. 5. Komi, P. V. , Nelson, R. S. and Pulli, M. (1974) Biomechanics of Ski-Jumping. Jivaskyla. 6. Петров В. А. , Гагин Ю. А. Механика спортивных движений. М. : Физкультура и спорт, 1977
7. Флетчер К. Вычислительные методы в динамике жидкостей: в двух томах. - М. : Мир, 1991.
8. Тарунин Е. Л. Двухполевой метод решения задач гидродинамики вязкой жидкости. Пермь, ПГУ, 1985.
9. HЬTTE. Справочник для инженеров, техников и студентов. Том первый. М. -Л. , главная редакция литературы по машиностроению и металлообработке, 1936.