scalar m = 1[kg]; scalar M = 6[kg]; scalar l = 1[m]; scalar R = l; scalar fi = 30[deg]; scalar v0 = 0.01 [m/s]; scalar g = 9.81 [ m/ s2 ]; point point1 = ( 0 [ m ], R+l, 0 [ m ] ); point point2 = pointCyl( 90[deg], R, 0 [ m ] ); point point3 = ( 0 [ m ], 0 [ m ], 0 [ m ] ); line cir = circle( point3, projectZ, R ); line lin = polyLine( list( point1, point3 ) ); vector vector1 = vectorPP( point1, point2 ); vector vector2 = vectorPP( point1, point3 ); solid solid1 = cylinder( point1, point2, 0.01 [ m ], mass = M ); solid solid2 = box( nodePoint( point1 ), 0.1 [ m ], 0.1 [ m ], 0.1 [ m ], mass = m ); solid solid3 = box( nodePoint( point2 ), 0.1 [ m ], 0.1 [ m ], 0.1 [ m ], mass = m ); body body1 = body( color = RGB( 255, 0, 0 ) ); body body2 = body( color = RGB( 0, 0, 255 ) ); body body3 = body( color = RGB( 0, 200, 0 ) ); body body4 = body( color = RGB( 0, 200, 0 ) ); joint joint1 = contactPointLine( point1, lin ); joint joint2 = contactPointLine( point2, cir ); joint joint3 = spherical( body2, body3, point1 ); joint joint4 = spherical( body2, body4, point2 ); condition condition1 = transVelocity( body1, projectX, body2, point2, v0 ); gravity gravity1 = parallel( reverse( projectY ) ); sensor angle = angleVV( vector2, vector1 ); event event1 = reformsBySensor( list( stop( ) ), angle, fi ); sensor va = velocity( point1 ); sensor va_th = 6*sqrt((2*m+M)/(24*m+10*M)*g*l*(1-cos(fi))); sensor va_delta = abs((va-va_th)/va_th); /\/////////////////////////////////////////////////////////////////////////////////// /\ Прикрепление объектов body body1 < (lin, cir ); body body2 < (solid1 ); body body3 < (solid2, point1 ); body body4 < (solid3, point2 ); /\/////////////////////////////////////////////////////////////////////////////////// /\ Инерциальное звено; set ground = body1; /\/////////////////////////////////////////////////////////////////////////////////// /\ Единицы измерения; set units = SI;