scalar m=2 [ kg ]; scalar h=0.5 [ m ]; scalar alpha=60 [ deg ]; scalar g=9.81[m/s2]; scalar R=h/3; scalar l1=h/tg(alpha); scalar l2=2 [ m ]; scalar d1=0.01 [ m ]; scalar d2=0.01 [ m ]; point C=point( 0 [ m ], 0 [ m ], 0 [ m ] ); point B=point( l2, 0 [ m ], 0 [ m ] ); point A=point( l2+l1/2, h/2, 0 [ m ] ); line line1=circle( C, projectZ, R ); solid solid1=extrude( line1, C, move( C, projectZ, d1 ), mass = 2*m ); line line2=polyLine( list( point( l2-l1/2, -h/2, 0 [ m ] ), point( l2+l1/2, h/2, 0 [ m ] ) ) ); solid solid2=box( nodePoint( B ), l1, h, d2, mass = 4*m ); MIP MIP1=massPoint( A, m ); line line4=polyLine( list( point( 0.5 [ m ], -R, 0 [ m ] ), point( -1 [m], -R, 0 [ m ] ) ) ); line line5=polyLine( list( point( 0.5 [ m ], -h/2, 0 [ m ] ), point( 2.5 [m], -h/2, 0 [ m ] ) ) ); body body1=body( color = RGB( 229, 229, 229 ) ); set ground = body1; body body1 < ( line4, line5 ); body body2=body( color = RGB( 229, 229, 229 ) ); body body2 < ( solid1, line1 ); body body3=body( color = RGB( 255, 153, 153 ) ); body body3 < ( line2, solid2, B ); body body4=body( color = RGB( 255, 153, 102 ) ); body body4 < ( C ); color color1=RGB( 79, 146, 50 ); body body5=body( color = color1 ); body body5 < ( A, MIP1 ); joint joint1=rotational( body2, body4, C, projectZ ); joint joint2=sphericalSpherical( body4, C, body3, B ); joint joint3=contactPointLine( A, line2 ); joint joint4=contactLineLine( line1, line4, lines_parallel = linesParallel:, lines_slip = linesNoSlip: ); joint joint5=translational( body1, body3, B, projectX ); gravity gravity1=parallel( reverse( projectY ) ); sensor sensor1=bodyDisplacement( body3, B, projectY, body5, A ); event event1=reformsBySensor( list( stop( ) ), sensor1, -h/2 ); sensor skor=velocity( B ); sensor skor_theor=1/2*sqrt(g*h/31); /\/////////////////////////////////////////////////////////////////////////////////// /\ Единицы измерения; set units = SI;