scalar alpha = 30 [deg]; point C = point( 0 [ m ], 0 [ m ], 0 [ m ] ); point A = point( -1 [ m ], 0 [ m ], 0 [ m ] ); point B = point( -1 [ m ], sin(alpha)*1[m], 0 [ m ] ); line line1 = polyLine( list( C, A, B, C ) ); point C1 = point( -0.6[m], sin(alpha)*0.6[m], 0 [ m ] ); point B1 = point( -0.6[m]+0.1[m]*cos(alpha), (0.6[m]-0.1[m]*cos(alpha))*sin(alpha), 0 [ m ] ); point A1 = point( -0.6[m]+0.1[m]*cos(alpha), sin(alpha)*0.6[m], 0 [ m ] ); line line2 = polyLine( list( A1, B1, C1, A1 ) ); vector vector1 = vectorPP( C, A ); vector vector2 = vectorPP( B1, C1 ); line line3 = polyLine( list( A, C ) ); solid solid1 = extrude( line1, point( 0 [ m ], 0 [ m ], -0.001[m] ), point( 0 [ m ], 0 [ m ], 0.001 [ m ] ), mass = 2 [ kg ] ); solid solid2 = extrude( line2, point( 0 [ m ], 0 [ m ], -0.001 [ m ] ), point( 0 [ m ], 0 [ m ], 0.001 [ m ] ), mass = 1 [ kg ] ); body Ground = body( color = RGB( 229, 229, 229 ) ); color color1 = index( 61 ); body Big = body( color = color1 ); body Small = body( color = RGB( 255, 153, 153 ) ); joint joint1 = translational( Ground, Big, C, vector1 ); joint joint2 = translational( Big, Small, C1, vector2 ); gravity gravity1 = parallel( reverse( projectY ) ); sensor otvet = acceleration( C ); scalar T_otvet = 1 [kg]*9.81[m/s2]*sin(2*alpha)/(2*(2[kg]+1[kg]*sin(alpha)*sin(alpha))); sensor Rel_error = abs((otvet-T_otvet)/T_otvet); /\/////////////////////////////////////////////////////////////////////////////////// /\ Прикрепление объектов body Ground < (line3 ); body Big < (solid1, line1, C, A, B ); body Small < (solid2, C1, B1, A1, line2 ); /\/////////////////////////////////////////////////////////////////////////////////// /\ Инерциальное звено; set ground = Ground; /\/////////////////////////////////////////////////////////////////////////////////// /\ Единицы измерения; set units = SI;