| > | restart; |
Размеры
| > | a:=4: b:=2: c:=2: |
Скорость и масса
| > | Vx:=12: Vy:=2: Vz:=0: m:=6: |
Координаты
| > | x:=b,0,0,b, 0,0,0: |
| > | y:=0,0,a,a, 0,2,6: |
| > | z:=c,c,c,c, 0,0,0: |
| > | for i to 7 do r[i]:=[x[i],y[i],z[i]]:od: |
| > | with(LinearAlgebra): |
| > | with(plots):with(plottools): |
Рисуем пластинку
| > | r1:=PLOT3D(CURVES([r[1],r[2],r[3],r[4],r[1]])): |
Рисуем стержни
| > | r2:=PLOT3D(CURVES([r[1],r[5]],[r[2],r[6]],[r[3],r[7]])): |
| > | display(r1,r2,axes=NORMAL); |
Радиусы
| > | ra:=Vector([x[1],y[1],z[1]]): |
| > | rb:=Vector([x[2],y[2],z[2]]): |
| > | rc:=Vector([x[3],y[3],z[3]]): |
| > | rd:=Vector([x[4],y[4],z[4]]): |
| > | ra1:=Vector([x[5],y[5],z[5]]): |
| > | rb1:=Vector([x[6],y[6],z[6]]): |
| > | rc1:=Vector([x[7],y[7],z[7]]):; |
| > | DA:=ra-rd; |
| > | DB:=rb-rd; |
| > | DC:=rc-rd; |
| > | AA1:=ra-ra1; |
| > | BB1:=rb-rb1; |
| > | CC1:=rc-rc1; |
Вектора скоростей
| > | Va:=Vector(3,va): |
| > | Vb:=Vector(3,vb): |
| > | Vc:=Vector(3,vc): |
Известная скорость
| > | Vd:=Vector([Vx,Vy,Vz]): |
Неизвестная угловая скорость
| > | w:=Vector([wx,wy,wz]): |
Уравнения Эйлера (14.12)
| > | eq1:=-Va+Vd+CrossProduct(w,DA); |
| > | eq2:=-Vb+Vd+CrossProduct(w,DB); |
| > | eq3:=-Vc+Vd+CrossProduct(w,DC); |
Связи (14.13)
| > | eq4:=DotProduct(Va,AA1,conjugate=false); |
| > | eq5:=DotProduct(Vb,BB1,conjugate=false); |
| > | eq6:=DotProduct(Vc,CC1,conjugate=false); |
12 уравнений
| > | EQ:=seq(eq1[i],i=1..3),seq(eq2[i],i=1..3),seq(eq3[i],i=1..3),eq4,eq5,eq6: |
Решение
| > | solve({EQ},{seq(va(i),i=1..3),seq(vb(i),i=1..3),seq(vc(i),i=1..3),wx,wy,wz});assign(%); |
Радиус-вектор центра масс
| > | Rc:=Vector([b/2,a/2,c]); |
| > | Dr:=Rc-rd; |
Ищем скорость центра масс (14.14)
| > | Vcm:=Vd+CrossProduct(w,Dr); |
Моменты инерции
| > | Jx:=m*a^2/12:Jy:=m*b^2/12:Jz:=Jx+Jy: |
| > | J:=Matrix([[Jx,0,0],[0,Jy,0],[0,0,Jz]]); |
Кин.энергия
| > | T:=m*DotProduct(Vcm,Vcm,conjugate=false)/2+DotProduct(w,J.w,conjugate=false)/2; |