scalar m = 2 [ kg ]; scalar l = 0.1 [ m ]; scalar x = 0.18 [ m ]; scalar fi = 60 [ deg ]; scalar g = 9.81 [ m/ s2 ]; point point1 = ( 0 [ m ], 0 [ m ], 0 [ m ] ); point point2 = pointCyl( -90[deg]+fi, 2*l, 0 [ m ] ); point point3 = pointCyl( -90[deg]+fi, x, 0 [ m ] ); vector vector1 = vectorPP( point1, point3 ); solid solid1 = cylinder( point1, point2, 0.01 [ m ], mass = m ); body body1 = body( color = index( 4 ) ); body body2 = body( color = index( 45 ) ); joint joint1 = rotational( body1, body2, point1, projectZ ); gravity gravity1 = parallel( reverse( projectY ) ); sensor angle1 = angleVV( vector1, projectY ); node node1 = nodePXY( point3, vector1, reverse( projectY ) ); sensor M = jointForce( moment:, body2, point3, projectZ, joint1 ); sensor phi = (-1)*sign(M)*angle1; sensor M_th = -m*g/(4*l)*(2*l-x)*(2*l-x)*sin(phi); sensor M2 = M/45; sensor M_delta = abs((M2-M_th)/M_th); event event1 = reformsBySensor( list( stop( ) ), angle1, fi ); /\/////////////////////////////////////////////////////////////////////////////////// /\ Прикрепление объектов body body2 < (point3, point2, solid1 ); /\/////////////////////////////////////////////////////////////////////////////////// /\ Инерциальное звено; set ground = body1; /\/////////////////////////////////////////////////////////////////////////////////// /\ Единицы измерения; set units = SI;