st1,st2,st3,st4 : string;
Procedure Postpara(x,y: integer; fi: real);
Var
z1,z2,z3,z4,z5,z6 : integer; w1,w2,w3,w4,w5,w6 : integer;
sfi,cfi : real;
begin
sfi := sin(fi); cfi := cos(fi);
z1 := x + round(10*cfi - 5*sfi); w1:= y - round(10*sfi + 5*cfi); z2 := x + round(-10*cfi - 5*sfi); w2 := y - round(-10*sfi + 5*cfi); z3 := x + round(-10*cfi + 5*sfi); w3:= y - round(-10*sfi - 5*cfi); z4 := x + round(10*cfi + 5*sfi); w4 := y - round(10*sfi - 5*cfi); z5 := x - round(10*cfi); w5 := y + round(10*sfi); z6 := x + round(10*cfi); w6 := y - round(10*sfi);
SetColor(lightgray);
Setlinestyle(0,0,3); line(z5,w5,z6,w6); SetColor(white); Setlinestyle(0,0,1);
line(z1,w1,z2,w2); line(z2,w2,z3,w3); line(z3,w3,z4,w4); line(z4,w4,z1,w1); circle(x,y,3);
end; {Postpara}
Procedure Opora(x,y: integer);
Begin
circle(x,y,3);
Lineto(x - 7,y + 7); Lineto(x - 9,y + 7);
lineto(x + 9,y + 7); lineto(x + 7,y + 7); lineto(x,y); SetFillStyle(1,GetColor); Bar(x - 9,y + 7,x + 9,y + 10); End;
Procedure CoordXY(x,y: integer);
Begin
SetColor(magenta);
line(x - 10,y,x + 100,y); line(x + 100,y,x + 90,y - 5); line(x + 100,y,x + 90,y + 5); OutTextXY(x + 105,y - 7,'X'); line(x,y + 10,x,y - 100); line(x,y - 100,x - 5,y - 90); line(x,y - 100,x + 5,y - 90); OutTextXY(x + 5,y - 107,'Y'); SetColor(white);
End; Begin
clrscr;
l1 := 0.3; l30 := 1.4; lcd := 0.5; l4 := 1.25; cx :=0.0; cy := - 1.0; ox := 100; oy := 200; kl := 150; kv := 350; ka := 350;
pvx := 450; pvy := 125; pax := 450; pay := 275; d := Detect; InitGraph(d,r,'...\bgi'); SetBkColor(lightgray); start: for i := 0 to nc do begin
setfillstyle(9,green); bar(20,380,620,455); fi1 := 2*pi/nc*i; bx := l1*cos(fi1); by := l1*sin(fi1); vbx := - by; {- l1*sin(fi1);} vby := bx; {l1*cos(fi1);} abx := - bx; {- l1*cos(fi1);} aby := - by; {-l1*sin(fi1);}
diada3v(bx,by,vbx,vby,abx,aby,cx,cy,0,0,0,0,0,fi3,om3,epsi3,lcb,v3,a3); dx := lcd*cos(fi3); dy := cy + lcd*sin(fi3); vdx:=lcd*sin(fi3)*om3; vdy:=lcd*cos(fi3)*om3; adx := - lcd*(cos(fi3)*sqr(om3) + sin(fi3)*epsi3); ady := lcd*(cos(fi3)*epsi3 - sin(fi3)*sqr(om3));
diada2v(dx,dy,vdx,vdy,adx,ady,cx,cy,0,0,0,0,0,0,0,l4,0,fi4,om4,epsi4,l5,v5,a5); CoordXY(100,200);
x1 := ox + round(kl*bx); y1 := oy - round(kl*by);
OutTextXY(100,10,'Схема механизма');
OutTextXY(30,440,'Esc - конец работы программы'); str(fi1*180/pi:6:2,st1); str(fi3*180/pi:6:2,st2); str(fi4*180/pi:6:2,st3); str(l5:6:4,st4); OutTextXY(30,395,'Fi1=' + st1 + ' град.'+ ' Fi3= ' + st2 + ' град.'); OutTextXY(310,395,'Fi4= ' + st3 + ' град.' + ' L5= ' + st4 + ' м.'); circle(ox,oy,3);
Opora(ox,oy);
OutTextXY(ox + 10,oy + 10,'A');
MoveTo(ox,oy); LineTo(x1,y1);
OutTextXY(x1 + 10,y1 - 10,'B'); circle(x1,y1,3);
MoveTo(ox,oy - round(kl*cy)); circle(ox,oy - round(kl*cy),3);
OutTextXY(ox - 10,oy - round(kl*cy) - 10,'C');
Opora(ox,oy - round(kl*cy)); x1 := ox + round(kl*l30*cos(fi3));
y1 := oy - round(kl*cy) - round(kl*l30*sin(fi3)); lineto(x1,y1);
x1 := ox + round(kl*lcb*cos(fi3));
y1 := oy - round(kl*cy) - round(kl*lcb*sin(fi3)); Postpara(ox + round(kl*bx),oy - round(kl*by),fi3); x1 := ox + round(kl*dx); y1 := oy - round(kl*dy); OutTextXY(x1 - 10,y1 - 10,'D'); circle(x1,y1,3); moveto(x1,y1);
x2 := x1 + round(kl*l4*cos(fi4)); y2 := y1 - round(kl*l4*sin(fi4)); lineto(x2,y2);
line(ox + 50, y2, ox + 250, y2); Postpara(x2,y2,0); circle(x2,y2,3);
OutTextXY(x2,y2 - 15,'E');
{План скоростей}
SetColor(red); OutTextXY(400,10,'План скоростей'); str(om3:6:2,st2); str(om4:6:2,st3); str(v5:6:4,st4); OutTextXY(30,410,'Om1= 1.00' + ' Om3= ' + st2); OutTextXY(310,410,'Om4= ' + st3 + ' V5= ' + st4); OutTextXY(pvx +
5,pvy + 5,'Pv'); x1 := pvx + round(kv*vbx); y1 := pvy - round(kv*vby);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.