/\/////////////////////////////////////////////////////////////////////////////////// /\ Пояснения к проекту set remark= "Расчет траектории материальной точки в плоскости OXY, движущейся под воздействием силы, направленной вдоль оси OX, с заданной начальной скоростью, направленной к оси OX под углом alpha."; scalar m=1[ kg ]; scalar alpha=45[ deg ]; scalar b=100[ N/ s2 ]; scalar v0=5[m/s]; scalar r "радиус шара"=0.01[m]; point point_mest=point( 0 [ m ], 0 [ m ], 0 [ m ], visible = hide: ); point point_shar=point( 0 [ m ], 0 [ m ], 0 [ m ], visible = hide: ); solid solid_shar=sphere( point_shar, r, mass = m ); body body_mest=body( color = RGB( 229, 229, 229 ), visible = hide: ); set ground = body_mest; body body_mest < ( point_mest ); color green=index( 44 ); body body_shar=body( color = green ); body body_shar < ( point_shar, solid_shar ); function functionF(t[s]) "Закон изменения силы"= b*#t*#t; force force_shar=force( body_shar, point_shar, projectX, functionF, list( time ) ); condition condition_shar "Начальное значение скорости v0 для звена body_shar"=transVelocity( body_mest, vectorPP( point_mest, point( 1 [ m ], 1 [ m ], 0 [ m ] ) ), body_shar, point_shar, v0 ); reform reform_stop=stop( ); sensor sensor_coordy=bodyDisplacement( body_mest, point_mest, projectY, body_shar, point_shar ); sensor sensor_coordx=bodyDisplacement( body_mest, point_mest, projectX, body_shar, point_shar ); sensor coordx_Theoretical=b/(12*m)*(5[m]/(v0*sin(alpha)))*(5[m]/(v0*sin(alpha)))*(5[m]/(v0*sin(alpha)))*(5[m]/(v0*sin(alpha)))+5[m]/tg(alpha); sensor coordx_delta=abs((sensor_coordx-coordx_Theoretical)/coordx_Theoretical); event event_stop=reformsBySensor( list( reform_stop ), sensor_coordy, 5[ m ], gauge = list( coordx_delta, coordx_Theoretical, sensor_coordx, sensor_coordy ) ); /\/////////////////////////////////////////////////////////////////////////////////// /\ Единицы измерения; set units = SI;