scalar a=0.1[ m ]; scalar l=a; scalar r=0.001[m]; scalar m1=1[ kg ]; scalar m2=2[ kg ]; scalar fi0=10[ deg ]; scalar psi0=0[ deg ]; scalar w0=1000[deg/s]; scalar g=9.81[m/s2]; scalar T=5[s]; point O1=point( 0 [ m ], 0 [ m ], 0 [ m ] ); point O2=point( 0 [ m ], -2*a, 0 [ m ] ); point A=point( -l, -2*a, 0 [ m ] ); point B=mirror( A, planePV( O1, projectX ) ); line line1=polyLine( list( A, B ) ); //node node1=nodePoint( O2 ); vector O1_O2=vectorPP( O1, O2 ); vector O2_B=vectorPP( O2, B ); body base=body( color = RGB( 229, 229, 229 ) ); set ground = base; body base < ( O1 ); solid solid1=cylinder( O1, O2, r, mass = m1 ); solid solid2=cylinder( A, B, r, mass = m2 ); body body1=body( color = RGB( 229, 229, 229 ) ); body body1 < ( solid1, O1_O2, O2 ); body body2=body( color = RGB( 255, 153, 153 ) ); body body2 < ( solid2, A, B, O2_B, line1 ); joint joint1=rotational( base, body1, O1, projectZ ); joint joint2=rotational( body1, body2, O2, projectZ ); gravity gravity1=parallel( reverse( projectY ), g = g ); sensor fi=angleVV( O1_O2, reverse( projectY ), axisDirection = projectZ ); sensor psi=angleVV( O2_B, projectY, axisDirection = projectZ ); sensor fi_theoretical=fi0*cos(sqrt((3*(m1+2*m2)*g*time*time)/(4*(m1+3*m2)*a))); sensor psi_theoretical=w0*time; condition condition1=sensorValue( fi, fi0 ); condition condition2=rotVelocity( base, reverse( projectZ ), body2, w0 ); condition condition3=sensorValue( psi, psi0 ); command command1=constRK4( T, 1.00000e-002 [ s ] ); /\/////////////////////////////////////////////////////////////////////////////////// /\ Список главных команд; set dynamics = command1; /\/////////////////////////////////////////////////////////////////////////////////// /\ Единицы измерения; set length = m; set angle = deg; set mass = kg; set time = s; set force = N; set work = J; set pressure = Pa; set power = W; set frequency = Hz; set temperature = K; set current = A; set voltage = V; set resistance = Ohm; set capacity = F; set charge = C; set induction = T;