Введение в Maple и рассмотрение задач теоретической механики. Эксаревская М.Е - 25 стр.

UptoLike

25
pointC := [pointB[1] - (AB-AC)*cos(psi),
pointB[2] + (AB-AC)*sin(psi)];
lineAB := line(pointA, pointB, color=red, linestyle=3);
point1 := [pointA[1] + h*sin(psi), pointA[2] + h*cos(psi)];
point2 := [pointB[1] + h*sin(psi), pointB[2] + h*cos(psi)];
point3 := [pointB[1] - h*sin(psi), pointB[2] - h*cos(psi)];
point4 := [pointA[1] - h*sin(psi), pointA[2] - h*cos(psi)];
шатун := polygon([point1, point2, point3, point4],
linestyle=1, thickness=2);
шарнирO := disk([0, 0], 3.5*h, color=green);
шарнирA := disk(pointA, 3.5*h, color=green);
шарнирB := disk(pointB, 3.5*h, color=green);
h := 5*h;
point1 := [pointB[1] + 2*h, pointB[2] + h];
point2 := [pointB[1] + 2*h, pointB[2] - h];
point3 := [pointB[1] - 2*h, pointB[2] - h];
point4 := [pointB[1] - 2*h, pointB[2] + h];
ползун := polygon([point1, point2, point3, point4], linestyle=1,
color=magenta, thickness=1);
h := 3*h;
textA := textplot([pointA[1] + h, pointA[2] + h, 'A']);
textB := textplot([pointB[1] + h, pointB[2] + h, 'B']);
textC := textplot([pointC[1] + h, pointC[2] + h, 'C']);
display(lineOA, кривошип, шарнирO,
lineAB, шатун, шарнирA,
ползун, шарнирB,
textA, textB, textC,
polygon([[0, 0], [-h, -h], [h, -h]],
linestyle=1, thickness=2),
disk(pointC, h/5, color=green),
scaling=constrained);
end proc:
> draw1(Pi/2);
draw(Pi/2);
> N_frames := 100:
for i from 0 to N_frames do
phi := i*6*Pi/N_frames;
    pointC := [pointB[1] - (AB-AC)*cos(psi),
               pointB[2] + (AB-AC)*sin(psi)];
    lineAB := line(pointA, pointB, color=red, linestyle=3);
    point1 := [pointA[1] + h*sin(psi), pointA[2] + h*cos(psi)];
    point2 := [pointB[1] + h*sin(psi), pointB[2] + h*cos(psi)];
    point3 := [pointB[1] - h*sin(psi), pointB[2] - h*cos(psi)];
    point4 := [pointA[1] - h*sin(psi), pointA[2] - h*cos(psi)];
    шатун := polygon([point1, point2, point3, point4],
                     linestyle=1, thickness=2);
    шарнирO := disk([0, 0], 3.5*h, color=green);
    шарнирA := disk(pointA, 3.5*h, color=green);
    шарнирB := disk(pointB, 3.5*h, color=green);
    h := 5*h;
    point1 := [pointB[1] + 2*h, pointB[2] + h];
    point2 := [pointB[1] + 2*h, pointB[2] - h];
    point3 := [pointB[1] - 2*h, pointB[2] - h];
    point4 := [pointB[1] - 2*h, pointB[2] + h];
    ползун := polygon([point1, point2, point3, point4], linestyle=1,
                      color=magenta, thickness=1);
    h := 3*h;
    textA := textplot([pointA[1] + h, pointA[2] + h, 'A']);
    textB := textplot([pointB[1] + h, pointB[2] + h, 'B']);
    textC := textplot([pointC[1] + h, pointC[2] + h, 'C']);
    display(lineOA, кривошип, шарнирO,
            lineAB, шатун, шарнирA,
            ползун, шарнирB,
            textA, textB, textC,
            polygon([[0, 0], [-h, -h], [h, -h]],
                    linestyle=1, thickness=2),
            disk(pointC, h/5, color=green),
            scaling=constrained);
  end proc:

> draw1(Pi/2);
  draw(Pi/2);




> N_frames := 100:
  for i from 0 to N_frames do
    phi := i*6*Pi/N_frames;

                                 25