point O=point( 0 [ m ], 0 [ m ], 0 [ m ], pointStyle = thickdot: ); point O1=point( 0 [ m ], 1 [ m ], 0 [ m ], pointStyle = thickdot: ); point O2=point( 1 [ m ], 0 [ m ], 0 [ m ], pointStyle = thickdot: ); line line1=polyLine( list( O, O1 ) ); line line2=polyLine( list( O, O2 ) ); color color=index( 9 ); body base=body( color = color ); set ground = base; body base < ( line1, line2, O, O1, O2 ); scalar a=0.5[ m ]; scalar phi0=60[ deg ]; scalar g=9.81[m/s2]; point B=point( a*cos(phi0), 0 [ m ], 0 [ m ], pointStyle = thickdot: ); point A=point( 0 [ m ], a*sin(phi0), 0 [ m ], pointStyle = thickdot: ); point C=point( a/2*cos(phi0), a/2*sin(phi0), 0 [ m ] ); solid solid1=cylinder( A, B, 0.01 [ m ], mass = 0.5 [ kg ] ); joint joint1=contactPointLine( B, line2 ); joint joint2=contactPointLine( A, line1 ); body body1=body( color = color ); body body1 < ( A, B, C, solid1 ); gravity gravity1=parallel( reverse( projectY ), g = g ); sensor N=jointForce( force:, body1, A, projectX, joint2 ); event event1=reformsBySensor( list( stop( ) ), N, 0 [ N ] ); vector BA=vectorPP( B, A ); sensor angle=angleVV( reverse( projectX ), BA, axisDirection = projectZ ); sensor angle_theor=arcsin(2*sin(phi0)/3)*1[ rad ]; sensor angle_delta=abs((angle-angle_theor)/angle_theor); sensor w=rotVelocity( body1, reverse( projectZ ), base ); sensor w_theor=sqrt(3*g*(sin(phi0)-sin(angle))/a)*1[rad]; sensor w_delta=abs((w-w_theor)/w_theor); sensor epsilon=rotAcceleration( body1, projectZ, base ); sensor epsilon_theor=(-3*g*cos(angle))/(2*a)*1[rad]; sensor epsilon_delta=abs((epsilon-epsilon_theor)/epsilon_theor); /\/////////////////////////////////////////////////////////////////////////////////// /\ Единицы измерения; set units = SI;