Реферат: Кинематический анализ механизма транспортирования ткани
if(cosfi13>=0 &&
sinfi13>=0) fi13=180/M_PI*acos(cosfi13);
if(cosfi13<0 &&
sinfi13>0) fi13=180/M_PI*acos(cosfi13);
if(cosfi13<0 &&
sinfi13<0) fi13=180+fabs(180/M_PI*asin(sinfi13));
if(cosfi13>0 &&
sinfi13<0) fi13=360-180/M_PI*acos(cosfi13);
cosfi12=(O8V*cosfi13-(Xs-Xo8))/SV;
sinfi12=(O8V*sinfi13-(Ys-Yo8))/SV;
if(cosfi12>=0 &&
sinfi12>=0) fi12=180/M_PI*acos(cosfi12);
if(cosfi12<0 &&
sinfi12>0) fi12=180/M_PI*acos(cosfi12);
if(cosfi12<0 &&
sinfi12<0) fi12=180+fabs(180/M_PI*asin(sinfi12));
if(cosfi12>0 &&
sinfi12<0) fi12=360-180/M_PI*acos(cosfi12);
Xv=Xs+SV*cosfi12;
Yv=Ys+SV*sinfi12;
Xw=Xo8-O8W*cosfi13;
Yw=Yo8-O8W*sinfi13;
A7=pow(Xa2-Xo7,2)+pow(Ya2-Yo7,2)+O7H*O7H-A2H*A2H;
B7=2*(Xa2-Xo7)*O7H;
C7=2*(Ya2-Yo7)*O7H;
cosfi15=(A7*B7-C7*sqrt(B7*B7+C7*C7-A7*A7))/(B7*B7+C7*C7);
sinfi15=(A7*C7+B7*sqrt(B7*B7+C7*C7-A7*A7))/(B7*B7+C7*C7);
if(cosfi15>=0 &&
sinfi15>=0) fi15=180/M_PI*acos(cosfi15);
if(cosfi15<0 &&
sinfi15>0) fi15=180/M_PI*acos(cosfi15);
if(cosfi15<0 &&
sinfi15<0) fi15=180+fabs(180/M_PI*asin(sinfi15));
if(cosfi15>0 &&
sinfi15<0) fi15=360-180/M_PI*acos(cosfi15);
cosfi14=(O7H*cosfi15-(Xa2-Xo7))/A2H;
sinfi14=(O7H*sinfi15-(Ya2-Yo7))/A2H;
if(cosfi14>=0 &&
sinfi14>=0) fi14=180/M_PI*acos(cosfi14);
if(cosfi14<0 &&
sinfi14>0) fi14=180/M_PI*acos(cosfi14);
if(cosfi14<0 &&
sinfi14<0) fi14=180+fabs(180/M_PI*asin(sinfi14));
if(cosfi14>0 &&
sinfi14<0) fi14=360-180/M_PI*acos(cosfi14);
Xh=Xa2+A2H*cosfi14;
Yh=Ya2+A2H*sinfi14;
Xi=Xo7-O7I*cosfi15;
Yi=Yo7-O7I*sinfi15;
A8=pow(Xw-Xx,2)+pow(Yw-Yx,2)+LX*LX-WL*WL;
B8=2*(Xw-Xx)*LX;
C8=2*(Yw-Yx)*LX;
cosfi17=(A8*B8-C8*sqrt(B8*B8+C8*C8-A8*A8))/(B8*B8+C8*C8);
sinfi17=(A8*C8+B8*sqrt(B8*B8+C8*C8-A8*A8))/(B8*B8+C8*C8);
if(cosfi17>=0 &&
sinfi17>=0) fi17=180/M_PI*acos(cosfi17);
if(cosfi17<0 &&
sinfi17>0) fi17=180/M_PI*acos(cosfi17);
if(cosfi17<0 &&
sinfi17<0) fi17=180+fabs(180/M_PI*asin(sinfi17));
if(cosfi17>0 &&
sinfi17<0) fi17=360-180/M_PI*acos(cosfi17);
cosfi16=(LX*cosfi17-(Xw-Xx))/WL;
sinfi16=(LX*sinfi17-(Yw-Yx))/WL;
if(cosfi16>=0 &&
sinfi16>=0) fi16=180/M_PI*acos(cosfi16);
if(cosfi16<0 &&
sinfi16>0) fi16=180/M_PI*acos(cosfi16);
if(cosfi16<0 &&
sinfi16<0) fi16=180+fabs(180/M_PI*asin(sinfi16));
if(cosfi16>0 &&
sinfi16<0) fi16=360-180/M_PI*acos(cosfi16);
Xl=Xw+WL*cosfi16;
Yl=Yw+WL*sinfi16;
A9=pow(Xi-Xu,2)+pow(Yi-Yu,2)+JU*JU-IJ*IJ;
B9=2*(Xi-Xu)*JU;
C9=2*(Yi-Yu)*JU;
cosfi19=(A9*B9+C9*sqrt(B9*B9+C9*C9-A9*A9))/(B9*B9+C9*C9);
sinfi19=(A9*C9-B9*sqrt(B9*B9+C9*C9-A9*A9))/(B9*B9+C9*C9);
if(cosfi19>=0 &&
sinfi19>=0) fi19=180/M_PI*acos(cosfi19);
if(cosfi19<0 &&
sinfi19>0) fi19=180/M_PI*acos(cosfi19);
if(cosfi19<0 &&
sinfi19<0) fi19=180+fabs(180/M_PI*asin(sinfi19));
if(cosfi19>0 &&
sinfi19<0) fi19=360-180/M_PI*acos(cosfi19);
cosfi18=(JU*cosfi19-(Xi-Xu))/IJ;
sinfi18=(JU*sinfi19-(Yi-Yu))/IJ;
if(cosfi18>=0 &&
sinfi18>=0) fi18=180/M_PI*acos(cosfi18);
if(cosfi18<0 &&
sinfi18>0) fi18=180/M_PI*acos(cosfi18);
if(cosfi18<0 &&
sinfi18<0) fi18=180+fabs(180/M_PI*asin(sinfi18));
if(cosfi18>0 &&
sinfi18<0) fi18=360-180/M_PI*acos(cosfi18);
Xj=Xi+IJ*cosfi18;
Yj=Yi+IJ*sinfi18;
Xy=Xu+UY*(cosfi19*cos(gam5*RAD)-sinfi19*sin(gam5*RAD));
Yy=Yu+UY*(sinfi19*cos(gam5*RAD)+sin(gam5*RAD)*cosfi19);
q=sqrt(pow(Xl-Xy,2)+pow(Yl-Yy,2));
L1y=sqrt(q*q-LL1*LL1);
A10=LL1;
B10=L1y;
C10=Yl-Yy;
sinfi20=(-B10*C10-A10*sqrt(A10*A10+B10*B10-C10*C10))/(A10*A10+B10*B10);
cosfi20=(-A10*C10+B10*sqrt(A10*A10+B10*B10-C10*C10))/(A10*A10+B10*B10);
if(cosfi20>=0 &&
sinfi20>=0) fi20=180/M_PI*acos(cosfi20);
if(cosfi20<0 &&
sinfi20>0) fi20=180/M_PI*acos(cosfi20);
if(cosfi20<0 &&
sinfi20<0) fi20=180+fabs(180/M_PI*asin(sinfi20));
if(cosfi20>0 &&
sinfi20<0) fi20=360-180/M_PI*acos(cosfi20);
Xl1=Xl+LL1*cos((fi20+QQ)*RAD);
Yl1=Yl+LL1*sin((fi20+QQ)*RAD);
Xzb=Xl1+L1zb*cos(fi20*RAD);
Yzb=Yl1+L1zb*sin(fi20*RAD);
Xqb=Xzb+ZQb*cos((fi20-QQ)*RAD);
Yqb=Yzb+ZQb*sin((fi20-QQ)*RAD);
RRR=sqrt(pow(Xl-Xqb,2)+pow(Yl-Yqb,2));
return;
}
void elips()
{
float fi;
for(fi=0;fi<=360;fi++)
{
raschet(fi);
putpixel(n*Xq+Xo1,DEK*(n*(-Yq)+Yo1),4);
putpixel(n*Xqb+Xo1,DEK*(n*(-Yqb)+Yo1),4);
}
return;
}
void draw(float fi)
{
/*Стойки*/
stoyka(Xo1,Yo1);
stoyka(n*Xo2+Xo1,n*(-Yo2)+Yo1);
stoyka(n*Xo3+Xo1,n*(-Yo3)+Yo1);
stoyka(n*Xo4+Xo1,n*(-Yo4)+Yo1);
stoyka(n*Xd+Xo1,n*(-Yd)+Yo1);
stoyka(n*Xo6+Xo1,n*(-Yo6)+Yo1);
stoyka(n*Xo8+Xo1,n*(-Yo8)+Yo1);
stoyka(n*Xo5+Xo1,n*(-Yo5)+Yo1);
stoyka(n*Xo7+Xo1,n*(-Yo7)+Yo1);
/*Звенья*/
setlinestyle(0,1,3);
setcolor(1);
line(Xo1,DEK*Yo1,n*Xa1+Xo1,DEK*(n*(-Ya1)+Yo1));
line(Xo1,DEK*Yo1,n*Xf+Xo1,DEK*(n*(-Yf)+Yo1));
line(n*Xo4+Xo1,DEK*(n*(-Yo4)+Yo1),n*Xk+Xo1,DEK*(n*(-Yk)+Yo1));
line(n*Xf+Xo1,DEK*(n*(-Yf)+Yo1),n*Xk+Xo1,DEK*(n*(-Yk)+Yo1));
line(n*Xm+Xo1,DEK*(n*(-Ym)+Yo1),n*Xk+Xo1,DEK*(n*(-Yk)+Yo1));
line(n*Xo4+Xo1,DEK*(n*(-Yo4)+Yo1),n*Xm+Xo1,DEK*(n*(-Ym)+Yo1));
line(n*Xd+Xo1,DEK*(n*(-Yd)+Yo1),n*Xb+Xo1,DEK*(n*(-Yb)+Yo1));
line(n*Xa1+Xo1,DEK*(n*(-Ya1)+Yo1),n*Xb+Xo1,DEK*(n*(-Yb)+Yo1));
line(n*Xc+Xo1,DEK*(n*(-Yc)+Yo1),n*Xb+Xo1,DEK*(n*(-Yb)+Yo1));
line(n*Xc+Xo1,DEK*(n*(-Yc)+Yo1),n*Xo3+Xo1,DEK*(n*(-Yo3)+Yo1));
line(n*Xo2+Xo1,DEK*(n*(-Yo2)+Yo1),n*Xd+Xo1,DEK*(n*(-Yd)+Yo1));
line(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1),n*Xc+Xo1,DEK*(n*(-Yc)+Yo1));
line(n*Xo3+Xo1,DEK*(n*(-Yo3)+Yo1),n*Xe+Xo1,DEK*(n*(-Ye)+Yo1));
line(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1),n*Xn+Xo1,DEK*(n*(-Yn)+Yo1));
line(n*Xn+Xo1,DEK*(n*(-Yn)+Yo1),n*Xm+Xo1,DEK*(n*(-Ym)+Yo1));
line(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1),n*Xp+Xo1,DEK*(n*(-Yp)+Yo1));
line(n*Xn+Xo1,DEK*(n*(-Yn)+Yo1),n*Xp+Xo1,DEK*(n*(-Yp)+Yo1));
line(n*Xz+Xo1,DEK*(n*(-Yz)+Yo1),n*Xq+Xo1,DEK*(n*(-Yq)+Yo1));
line(n*Xc+Xo1,DEK*(n*(-Yc)+Yo1),n*Xr+Xo1,DEK*(n*(-Yr)+Yo1));
line(n*Xr+Xo1,DEK*(n*(-Yr)+Yo1),n*Xo6+Xo1,DEK*(n*(-Yo6)+Yo1));
line(n*Xs+Xo1,DEK*(n*(-Ys)+Yo1),n*Xo6+Xo1,DEK*(n*(-Yo6)+Yo1));
line(n*Xr+Xo1,DEK*(n*(-Yr)+Yo1),n*Xs+Xo1,DEK*(n*(-Ys)+Yo1));
line(n*Xs+Xo1,DEK*(n*(-Ys)+Yo1),n*Xv+Xo1,DEK*(n*(-Yv)+Yo1));
line(n*Xv+Xo1,DEK*(n*(-Yv)+Yo1),n*Xo8+Xo1,DEK*(n*(-Yo8)+Yo1));
line(n*Xw+Xo1,DEK*(n*(-Yw)+Yo1),n*Xo8+Xo1,DEK*(n*(-Yo8)+Yo1));
line(n*Xo5+Xo1,DEK*(n*(-Yo5)+Yo1),n*Xa2+Xo1,DEK*(n*(-Ya2)+Yo1));
line(n*Xh+Xo1,DEK*(n*(-Yh)+Yo1),n*Xa2+Xo1,DEK*(n*(-Ya2)+Yo1));
line(n*Xh+Xo1,DEK*(n*(-Yh)+Yo1),n*Xo7+Xo1,DEK*(n*(-Yo7)+Yo1));
line(n*Xo7+Xo1,DEK*(n*(-Yo7)+Yo1),n*Xi+Xo1,DEK*(n*(-Yi)+Yo1));
line(n*Xw+Xo1,DEK*(n*(-Yw)+Yo1),n*Xl+Xo1,DEK*(n*(-Yl)+Yo1));
line(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1),n*Xx+Xo1,DEK*(n*(-Yx)+Yo1));
line(n*Xx+Xo1,DEK*(n*(-Yx)+Yo1),n*Xu+Xo1,DEK*(n*(-Yu)+Yo1));
line(n*Xi+Xo1,DEK*(n*(-Yi)+Yo1),n*Xj+Xo1,DEK*(n*(-Yj)+Yo1));
line(n*Xj+Xo1,DEK*(n*(-Yj)+Yo1),n*Xu+Xo1,DEK*(n*(-Yu)+Yo1));
line(n*Xx+Xo1,DEK*(n*(-Yx)+Yo1),n*(Xx+16)+Xo1,DEK*(n*(-Yx)+Yo1));
line(n*Xu+Xo1,DEK*(n*(-Yu)+Yo1),n*Xy+Xo1,DEK*(n*(-Yy)+Yo1));
line(n*Xj+Xo1,DEK*(n*(-Yj)+Yo1),n*Xy+Xo1,DEK*(n*(-Yy)+Yo1));
//line(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1),n*Xzb+Xo1,DEK*(n*(-Yzb)+Yo1));
line(n*Xzb+Xo1,DEK*(n*(-Yzb)+Yo1),n*Xqb+Xo1,DEK*(n*(-Yqb)+Yo1));
line(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1),n*Xl1+Xo1,DEK*(n*(-Yl1)+Yo1));
line(n*Xl1+Xo1,DEK*(n*(-Yl1)+Yo1),n*Xzb+Xo1,DEK*(n*(-Yzb)+Yo1));
setlinestyle(0,0,1);
setcolor(4);
line(50,DEK*(n*(-Ystola)+Yo1),450,DEK*(n*(-Ystola)+Yo1));
line(50,DEK*(n*(-Ystola-2.5)+Yo1),450,DEK*(n*(-Ystola-2.5)+Yo1));
line(50,DEK*(n*(-Ystola-3.5)+Yo1),450,DEK*(n*(-Ystola-3.5)+Yo1));
line(Xo1,DEK*(n*(-0)+Yo1),Xo1,DEK*(n*(-Ystola-40)+Yo1));
polzushka(n*Xy+Xo1,n*(-Yy)+Yo1,-fi20);
setlinestyle(0,0,3);
arc(Xo1,DEK*Yo1,fi+gam3,fi,6);
arc(Xo1+n*Xo8,DEK*(n*(-Yo8)+Yo1),fi13+180,fi13,8);
arc(Xo1+n*Xo7,DEK*(n*(-Yo7)+Yo1),fi15+180,fi15,8);
arc(Xo1+n*Xu,DEK*(n*(-Yu)+Yo1),fi19,fi19+gam5,7);
arc(Xo1+n*Xx,DEK*(n*(-Yx)+Yo1),0,240,7);
setlinestyle(0,0,1);
setfillstyle(1,3);
setcolor(1);
fillellipse(Xo1,DEK*Yo1,R_C,R_C);
fillellipse(Xo1+Xo3*n,DEK*(Yo1-Yo3*n),R_C,R_C);
fillellipse(Xo1+Xo4*n,DEK*(Yo1-Yo4*n),R_C,R_C);
fillellipse(Xo1+Xo2*n,DEK*(Yo1-Yo2*n),R_C,R_C);
fillellipse(Xo1+Xo6*n,DEK*(Yo1-Yo6*n),R_C,R_C);
fillellipse(Xo1+Xo7*n,DEK*(Yo1-Yo7*n),R_C,R_C);
fillellipse(Xo1+Xo5*n,DEK*(Yo1-Yo5*n),R_C,R_C);
fillellipse(Xo1+Xo8*n,DEK*(Yo1-Yo8*n),R_C,R_C);
fillellipse(n*Xa1+Xo1,DEK*(n*(-Ya1)+Yo1),R_C,R_C);
fillellipse(n*Xa2+Xo1,DEK*(n*(-Ya2)+Yo1),R_C,R_C);
fillellipse(n*Xh+Xo1,DEK*(n*(-Yh)+Yo1),R_C,R_C);
fillellipse(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1),R_C,R_C);
fillellipse(n*Xf+Xo1,DEK*(n*(-Yf)+Yo1),R_C,R_C);
fillellipse(n*Xr+Xo1,DEK*(n*(-Yr)+Yo1),R_C,R_C);
fillellipse(n*Xs+Xo1,DEK*(n*(-Ys)+Yo1),R_C,R_C);
fillellipse(n*Xk+Xo1,DEK*(n*(-Yk)+Yo1),R_C,R_C);
fillellipse(n*Xm+Xo1,DEK*(n*(-Ym)+Yo1),R_C,R_C);
fillellipse(n*Xd+Xo1,DEK*(n*(-Yd)+Yo1),R_C,R_C);
fillellipse(n*Xb+Xo1,DEK*(n*(-Yb)+Yo1),R_C,R_C);
fillellipse(n*Xc+Xo1,DEK*(n*(-Yc)+Yo1),R_C,R_C);
fillellipse(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1),R_C,R_C);
fillellipse(n*Xn+Xo1,DEK*(n*(-Yn)+Yo1),R_C,R_C);
fillellipse(n*Xp+Xo1,DEK*(n*(-Yp)+Yo1),R_C,R_C);
fillellipse(n*Xv+Xo1,DEK*(n*(-Yv)+Yo1),R_C,R_C);
fillellipse(n*Xw+Xo1,DEK*(n*(-Yw)+Yo1),R_C,R_C);
fillellipse(n*Xi+Xo1,DEK*(n*(-Yi)+Yo1),R_C,R_C);
fillellipse(n*Xx+Xo1,DEK*(n*(-Yx)+Yo1),R_C,R_C);
fillellipse(n*Xu+Xo1,DEK*(n*(-Yu)+Yo1),R_C,R_C);
fillellipse(n*Xj+Xo1,DEK*(n*(-Yj)+Yo1),R_C,R_C);
fillellipse(n*Xy+Xo1,DEK*(n*(-Yy)+Yo1),R_C,R_C);
/*Текст*/
setcolor(14);
outtextxy(Xo1,DEK*Yo1+20,"O1");
outtextxy(Xo1+Xo3*n,DEK*(Yo1-Yo3*n)+20,"O3");
outtextxy(Xo1+Xo4*n-35,DEK*(Yo1-Yo4*n)+10,"O4");
outtextxy(Xo1+Xo6*n-5,DEK*(Yo1-Yo6*n)-17,"O6");
outtextxy(Xo1+Xo8*n+15,DEK*(Yo1-Yo8*n)-7,"O8");
outtextxy(Xo1+Xo7*n+15,DEK*(Yo1-Yo7*n)-7,"O7");
outtextxy(Xo1+Xo5*n+15,DEK*(Yo1-Yo5*n)-7,"O5");
outtextxy(Xo1+Xo2*n,DEK*(Yo1-Yo2*n)+20,"O2");
outtextxy(n*Xa1+Xo1-5,DEK*(n*(-Ya1)+Yo1-15),"A1");
outtextxy(n*Xa2+Xo1-5,DEK*(n*(-Ya2)+Yo1-15),"A2");
outtextxy(n*Xh+Xo1-5,DEK*(n*(-Yh)+Yo1-15),"H");
outtextxy(n*Xi+Xo1-5,DEK*(n*(-Yi)+Yo1-15),"I");
outtextxy(n*Xf+Xo1+5,DEK*(n*(-Yf)+Yo1-15),"F");
outtextxy(n*Xk+Xo1-3,DEK*(n*(-Yk)+Yo1+10),"K");
outtextxy(n*Xm+Xo1-15,DEK*(n*(-Ym)+Yo1),"M");
outtextxy(n*Xd+Xo1-15,DEK*(n*(-Yd)+Yo1+5),"D");
outtextxy(n*Xb+Xo1-3,DEK*(n*(-Yb)+Yo1+10),"B");
outtextxy(n*Xc+Xo1+10,DEK*(n*(-Yc)+Yo1-10),"C");
outtextxy(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1-17),"E");
outtextxy(n*Xn+Xo1-3,DEK*(n*(-Yn)+Yo1+10),"N");
outtextxy(n*Xp+Xo1,DEK*(n*(-Yp)+Yo1-17),"P");
outtextxy(n*Xs+Xo1-7,DEK*(n*(-Ys)+Yo1-17),"S");
outtextxy(n*Xr+Xo1,DEK*(n*(-Yr)+Yo1-17),"R");
outtextxy(n*Xv+Xo1,DEK*(n*(-Yv)+Yo1-17),"V");
outtextxy(n*Xw+Xo1,DEK*(n*(-Yw)+Yo1-17),"W");
outtextxy(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1-17),"L");
outtextxy(n*Xx+Xo1,DEK*(n*(-Yx)+Yo1-17),"X");
outtextxy(n*Xu+Xo1,DEK*(n*(-Yu)+Yo1-17),"U");
outtextxy(n*Xj+Xo1,DEK*(n*(-Yj)+Yo1-17),"J");
outtextxy(n*Xy+Xo1,DEK*(n*(-Yy)+Yo1-17),"Y");
return;
}
void stoyka(float X, float Y)
{
setlinestyle(0,0,3);
setfillstyle(1,3);
setcolor(4);
line(X,DEK*Y,X+5,DEK*Y+10);
line(X,DEK*Y,X-5,DEK*Y+10);
line(X-10,DEK*Y+10,X+10,DEK*Y+10);
setlinestyle(0,0,1);
//fillellipse(X,DEK*Y,R_C,R_C);
line(X-5,DEK*Y+10,X-9,DEK*Y+14);
line(X,DEK*Y+10,X-4,DEK*Y+14);
line(X+5,DEK*Y+10,X+1,DEK*Y+14);
line(X+10,DEK*Y+10,X+6,DEK*Y+14);
return;
}
void polzushka(float X, float Y, float
fi)
{
setlinestyle(0,0,3);
setfillstyle(1,3);
setcolor(1);
line(X+15*cos((fi+30)*RAD),DEK*(Y+15*sin((fi+30)*RAD)),X+15*cos((fi+150)*RAD),DEK*(Y+15*sin((fi+150)*RAD)));
line(X+15*cos((fi+210)*RAD),DEK*(Y+15*sin((fi+210)*RAD)),X+15*cos((fi+330)*RAD),DEK*(Y+15*sin((fi+330)*RAD)));
line(X+15*cos((fi+30)*RAD),DEK*(Y+15*sin((fi+30)*RAD)),X+15*cos((fi+330)*RAD),DEK*(Y+15*sin((fi+330)*RAD)));
line(X+15*cos((fi+210)*RAD),DEK*(Y+15*sin((fi+210)*RAD)),X+15*cos((fi+150)*RAD),DEK*(Y+15*sin((fi+150)*RAD)));
setlinestyle(0,0,1);
//fillellipse(X,DEK*Y,R_C,R_C);
return;
}
void okno(float x1,float y1,float
x2,float y2)
{
setfillstyle(1,7);
setlinestyle(0,1,1);
bar(x1+2,y1+2,x2-2,y2-2);
setcolor(15);
line(x1,y1,x2,y1);
line(x1,y1,x1,y2);
line(x1+1,y1+1,x1+1,y2-1);
line(x1+1,y1+1,x2-1,y1+1);
setcolor(8);
line(x2-1,y1+1,x2-1,y2-1);
line(x1+1,y2-1,x2-1,y2-1);
setcolor(0);
line(x1,y2,x2,y2);
line(x2,y1,x2,y2);
return;
}
void ramka(float x1,float y1,float
x2,float y2)
{
setlinestyle(0,1,1);
setcolor(15);
line(x1,y1,x2,y1);
line(x1,y1,x1,y2);
line(x1+1,y1+1,x1+1,y2-1);
line(x1+1,y1+1,x2-1,y1+1);
setcolor(8);
line(x2-1,y1+1,x2-1,y2-1);
line(x1+1,y2-1,x2-1,y2-1);
setcolor(0);
line(x1,y2,x2,y2);
line(x2,y1,x2,y2);
return;
}
void help()
{
char text[]="Машина 131 ряда";
int key;
setfillstyle(1,8);
bar(0,0,640,350);
okno(140,50,500,300);
setcolor(1);
outtextxy(150,60,text);
do
{
key=bioskey(1);
if(key==0x11b) break;
if(key!=0) {key=0;getch();}
}
while(key!=0x11b);
return;
}
void grafiki()
{
int key,x_x=0,fi,t=1;
setgraphmode(2);
setfillstyle(1,8);
bar(0,0,640,480);
okno(X-280,DEK*(Y-200),X+235,DEK*(Y+450));
osi(45,430,475,400,1);
setcolor(14);
outtextxy(640,20,"Вывод графика:");
outtextxy(640,450,"<ESCAPE>-Выход");
grafik(1);
do
{
key=bioskey(1);
if(key!=0 && x_x==0)
{x_x=1;getch();}
if(key==0x4b00 && t>1)
{t--;getch();}
if(key==0x4d00 && t<19)
{t++;getch();}
if(key!=0) grafik(t);
if(key==0x11b) break;
if(key!=0) {key=0;getch();}
if(fi>=360) fi=0;
}
while(1==1);
getch();
setgraphmode(1);
return;
}
void osi(float x, float y, float l_x,
float l_y, int color)
{
int i;
char buffer [80];
setcolor(color);
line(x,y,x+l_x,y);
line(x,y,x,y-l_y);
line(x,y-l_y,x-2,y-l_y+10);
line(x,y-l_y,x+2,y-l_y+10);
line(x+l_x,y,x+l_x-10,y+2);
line(x+l_x,y,x+l_x-10,y-2);
for(i=10;i<=360;i+=10)
{
setcolor(6);
line(x+i*1.2,y-l_y+40,x+i*1.2,y+1);
line(x-1,y-i,x+l_x-45,y-i);
setcolor(0);
sprintf(buffer,"%d",i);
settextstyle(0,0,0);
settextjustify(2,1);
outtextxy(x-2,y-i+1,buffer);
settextstyle(0,1,0);
settextjustify(1,2);
outtextxy(x+i*1.2,y+3,buffer);
}
settextstyle(0,0,0);
settextjustify(2,1);
return;
}
void grafik(int sign)
{
float i;
okno(X-280,DEK*(Y-200),X+235,DEK*(Y+450));
osi(45,430,475,400,1);
if(sign==1)outtextxy(44,45,"fi2");
if(sign==2)outtextxy(44,45,"fi3");
if(sign==3)outtextxy(44,45,"fi4");
if(sign==4)outtextxy(44,45,"fi5");
if(sign==5)outtextxy(44,45,"fi6");
if(sign==6)outtextxy(44,45,"fi7");
if(sign==7)outtextxy(44,45,"fi8");
if(sign==8)outtextxy(44,45,"fi9");
if(sign==9)outtextxy(44,45,"fi10");
if(sign==10)outtextxy(44,45,"fi11");
if(sign==11)outtextxy(44,45,"fi12");
if(sign==12)outtextxy(44,45,"fi13");
if(sign==13)outtextxy(44,45,"fi14");
if(sign==14)outtextxy(44,45,"fi15");
if(sign==15)outtextxy(44,45,"fi16");
if(sign==16)outtextxy(44,45,"fi17");
if(sign==17)outtextxy(44,45,"fi18");
if(sign==18)outtextxy(44,45,"fi19");
if(sign==19)outtextxy(44,45,"fi20");
outtextxy(510,440,"fi");
for(i=0;i<=360;i++)
{
raschet(i);
if(sign==1)putpixel(45+i*1.2,430-fi2,0);
if(sign==2)putpixel(45+i*1.2,430-fi3,0);
if(sign==3)putpixel(45+i*1.2,430-fi4,0);
if(sign==4)putpixel(45+i*1.2,430-fi5,0);
if(sign==5)putpixel(45+i*1.2,430-fi6,0);
if(sign==6)putpixel(45+i*1.2,430-fi7,0);
if(sign==7)putpixel(45+i*1.2,430-fi8,0);
if(sign==8)putpixel(45+i*1.2,430-fi9,0);
if(sign==9)putpixel(45+i*1.2,430-fi10,0);
if(sign==10)putpixel(45+i*1.2,430-fi11,0);
if(sign==11)putpixel(45+i*1.2,430-fi12,0);
if(sign==12)putpixel(45+i*1.2,430-fi13,0);
if(sign==13)putpixel(45+i*1.2,430-fi14,0);
if(sign==14)putpixel(45+i*1.2,430-fi15,0);
if(sign==15)putpixel(45+i*1.2,430-fi16,0);
if(sign==16)putpixel(45+i*1.2,430-fi17,0);
if(sign==17)putpixel(45+i*1.2,430-fi18,0);
if(sign==18)putpixel(45+i*1.2,430-fi19,0);
if(sign==19)putpixel(45+i*1.2,430-fi20,0);
}
return;
}
|