⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ccbp.h

📁 可以用C在dos环境下不需要中文平台支持
💻 H
📖 第 1 页 / 共 2 页
字号:
line(x0+l,y0+2*r,x0+50+l,y0+2*r);

}
arc(x0,y0+2*r+6*r*i,90,270,r);
line(x0,y0+3*r+6*r*i,x0+l,y0+6*r+6*r*i);
line(x0+l,y0+6*r+6*r*i,x0+50+l,y0+6*r+6*r*i);
arc(x0+50+l,y0+6*r+6*r*i,0,360,3);
arc(x0+50+l,y0+2*r,0,360,3);
}
void coil5(x0,y0,l,h,n,r,p,m)
int x0,y0,l,h,n,r,p,m;
{
int i;
setcolor(m);
rectangle(x0,y0,x0+l,y0+h);
setcolor(n);
for(i=0;i<p;i++)
{
arc(x0,y0+7*r+6*r*i,90,270,r);
line(x0+l,y0+r+6*r*i,x0,y0+6*r+6*r*i);
arc(x0+l,y0+6*r+6*r*i,-90,90,r);
line(x0+l,y0+r,x0+40+l,y0+r);

}
arc(x0,y0+7*r+6*r*i,90,270,r);
line(x0,y0+6*r+6*r*i,x0+l,y0+r+6*r*i);
line(x0+l,y0+6*r+6*r*i,x0+40+l,y0+6*r+6*r*i);
arc(x0+40+l,y0+6*r+6*r*i,0,360,3);
arc(x0+40+l,y0+r,0,360,3);

}
void coil6(x0,y0,l,h,n,r,p,m)
int x0,y0,l,h,n,r,p,m;
{
int i;
setcolor(m);
setfillstyle(1,n);
bar(x0,y0,x0+l,y0+h);
for(i=0;i<p;i++)
{
arc(x0+l,y0+9*r+6*r*i,-90,90,r);
line(x0+l,y0+4*r+6*r*i,x0,y0+7*r+6*r*i);
arc(x0,y0+8*r+6*r*i,90,270,r);
line(x0+l,y0+4*r,x0+l+50,y0+4*r);

}
arc(x0,y0+8*r+6*r*i,90,270,r);
line(x0+l,y0+4*r+6*r*i,x0,y0+7*r+6*r*i);
line(x0+l,y0+9*r+6*r*i,x0+l+50,y0+9*r+6*r*i);
arc(x0+l+50,y0+9*r+6*r*i,0,360,3);
arc(x0+l+50,y0+4*r,0,360,3);

}

 void jtd(x,y,a,g,p,k,w)
{
float x1,x2,x3,y1,y2,y3,g1,b;
g1=g*2*3.1415926/360;
b=a*p;
x1=x+a*sin(g1);
y1=y+a*cos(g1);
x2=x+b*cos(g1);
y2=y-b*sin(g1);
x3=x-a*sin(g1);
y3=y-a*cos(g1);
setlinestyle(0,4,w);
setcolor(k);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
setcolor(k);
line(x1,y1,x3,y3);
 }

void wood_b(int x,int y,int L,int H,double a)
       {
       double b=a*3.1415926/180.0;
       double s=sin(b);
       double c=cos(b);
       double A=L*s;
       double B=L*c;
       double C=H*s;
       double D=H*c;
       moveto(x,y);
       linerel((int)B,-(int)A);
       linerel(-(int)C,-(int)D);
       linerel(-(int)B,(int)A);
       lineto(x,y);
       }

void inclined_p(int x,int y,int R,double a)
       {
       double b=a*3.1415926/180.0;
       double L=R*cos(b);
       double h=R*sin(b);
       moveto(x,y);
       linerel((int)L,0);
       linerel(0,-(int)h);
       lineto(x,y);
       return;
       }
void arrowhead(int x,int y,double r,double a)
      {
       double x1,y1,x2,x3,y3,y2,b,L;
       a=a*3.141592655/180.0;
       b=0.197395559;
       L=10.19803903;
       x1=x+r*cos(a);
       y1=y-r*sin(a);
       x2=x1-L*cos(b-a);
       y2=y1-L*sin(b-a);
       x3=x1-L*cos(b+a);
       y3=y1+L*sin(b+a);
       line(x,y,(int)x1,(int)y1);
       if(r<11.0)return;
       moveto((int)x1,(int)y1);
       lineto((int)x2,(int)y2);
       lineto((int)x3,(int)y3);
       lineto((int)x1,(int)y1);
       }
void arrowh(int x,int y,int x1,int y1)
       {
	double r,a,b,L,x2,x3,y2,y3;
	int X=x-x1,Y=y-y1;
	r=hypot((double)X,(double)Y);
	a=atan2((double)Y,(double)X);
	b=0.197395559;
	L=10.19803903;
	x2=x1+L*cos(b+a);
	y2=y1+L*sin(b+a);
	x3=x1+L*cos(b-a);
	y3=y1-L*sin(b-a);
	line(x,y,(int)x1,(int)y1);
	if(r<11.0)return;
	moveto((int)x1,(int)y1);
	lineto((int)x2,(int)y2);
	lineto((int)x3,(int)y3);
	lineto((int)x1,(int)y1);
       }

void pxsbxxy(int x,int y,double F1,double F2,double a,int C1,int C2,int C3)
    {
    double Fx,F2x,Fy;
    double Fjiao;
    int C=getcolor();
    double b=a*3.141592655/180.0;
    F2x=x+F2*cos(b);
    Fx=F1+F2x;
    Fy=y-F2*sin(b);
    setcolor(C1);
    arrowhead(x,y,(int)F1,0.0);
    setcolor(C2);
    arrowhead(x,y,(int)F2,a);
    if(F2>20.0&&F1>20.0)
    arc(x,y,0,a,20);
    setcolor(C3);
    arrowh(x,y,(int)Fx,(int)Fy);
    if(hypot((Fx-x),(Fy-y))>25.0&&F1>25.0) {
       Fjiao=atan2(F2*sin(b),Fx-x)*57.29577951;
       arc(x,y,0,(int)Fjiao,25);
     };
    setcolor(C);
    setlinestyle(1,0,1);
    line((int)F2x,(int)Fy,(int)Fx,(int)Fy);
    line(x+(int)F1,y,(int)Fx,(int)Fy);
    setlinestyle(0,0,1);
    }




void spring(int x0,int y0,int x,int y,double r,int n)
   {
   int i,k=1;
   double dx=((double)x-(double)x0)/2.0/n, dy=((double)y0-(double)y)/2.0/n;
   double a=atan2((double)(y0-y),(double)(x-x0));
   double dxr=r*cos(a+1.570796327), dyr=r*sin(a+1.570796327);
   double X[20],Y[20];
   if(n>20)exit(0);
   for(i=0;i<n;i++){
      X[i]=x0+(2*i+1)*dx+k*dxr;
      Y[i]=y0-(2*i+1)*dy-k*dyr;
      k=-k;
   };
   moveto(x0,y0);
   for(i=0;i<n;i++)
   lineto((int)X[i],(int)Y[i]);
   lineto(x,y);
   }

void square(int x,int y,int m,int n,int d)
    {
    int i;
    setlinestyle(1,0,1);
    for(i=0;i<=m;i++)line(x,y+d*i,x+d*n,y+d*i);
    for(i=0;i<=n;i++)line(x+d*i,y,x+d*i,y+d*m);
    }

void refrac_light(int x,int y,double r,double a,double B)
      {
       double x1,y1,x2,x3,y3,y2,b,L,x0,y0;
       a=a*3.141592655/180.0;
       b=0.197395559;
       L=10.19803903;
       x0=x+r*cos(a);
       y0=y-r*sin(a);
       x1=x+r*B*cos(a);
       y1=y-r*B*sin(a);
       x2=x1-L*cos(b-a);
       y2=y1-L*sin(b-a);
       x3=x1-L*cos(b+a);
       y3=y1+L*sin(b+a);
       line(x,y,(int)x0,(int)y0);
       if(r<11.0)return;
       moveto((int)x1,(int)y1);
       lineto((int)x2,(int)y2);
       lineto((int)x3,(int)y3);
       lineto((int)x1,(int)y1);
       }

void reflec_light(int x,int y,double r,double a,double B)
      {
       double x1,y1,x2,x3,y3,y2,b,L,x0,y0;
       a=a*3.141592655/180.0;
       b=0.197395559;
       L=10.19803903;
       x0=x+r*cos(a);
       y0=y-r*sin(a);
       x1=x+r*B*cos(a);
       y1=y-r*B*sin(a);
       x2=x1+L*cos(b-a);
       y2=y1+L*sin(b-a);
       x3=x1+L*cos(b+a);
       y3=y1-L*sin(b+a);
       line(x,y,(int)x0,(int)y0);
       if(r<11.0)return;
       moveto((int)x1,(int)y1);
       lineto((int)x2,(int)y2);
       lineto((int)x3,(int)y3);
       lineto((int)x1,(int)y1);
       }

void light(int x,int y,int x0,int y0,double B)
      {
       double x1,y1,x2,x3,y3,y2,b=0.197395559,L=10.19803903;
       double r, a;
       int X,Y;
       X=x-x0,Y=y-y0;
       r=hypot((double)X,(double)Y);
       a=atan2((double)Y,(double)X);
       x1=x-r*B*cos(a);
       y1=y-r*B*sin(a);
       x2=x1+L*cos(b-a);
       y2=y1-L*sin(b-a);
       x3=x1+L*cos(b+a);
       y3=y1+L*sin(b+a);
       line(x,y,(int)x0,(int)y0);
       if(r<11.0)return;
       moveto((int)x1,(int)y1);
       lineto((int)x2,(int)y2);
       lineto((int)x3,(int)y3);
       lineto((int)x1,(int)y1);
       }


void magnet_f(int x1,int y1,int x2,int y2,double B)
    {
	double dx;
	int i,j,k=0;
	setlinestyle(1,0,1);
	rectangle(x1,y1,x2,y2);
	setlinestyle(0,0,1);
	if(B>=0.)
		{dx=sqrt(B);
		 k=0;
		}
	else
		{dx=sqrt(-B);
		k=1;
		}
	for(i=-30;i<30;i++){
		for(j=-40;j<40;j++){
			if(dx>1.0e-5){
				double X=40.*(double)j/dx+(double)(x1+x2-4)/2.;
				double Y=40.*(double)i/dx+(double)(y1+y2-4)/2.;
				if(x1<(int)X&&(int)X<x2-4&&y1<(int)Y&&(int)Y<y2-4)
					if(k==0)outtextxy((int)X,(int)Y,"x");
					else   outtextxy((int)X,(int)Y-2,".");
				}

			}
		}
     }

  void electric_f(int x1,int y1,int x2,int y2,double E,int n)
    {
	double dx;
	int i;
	setlinestyle(1,0,1);
	rectangle(x1,y1,x2,y2);
	setlinestyle(0,0,1);
	if(E>=0.)dx=sqrt(E);
	else return;
	for(i=-40;i<40;i++){
		if(dx>1.0e-5){
			double X=40.*(double)i/dx+(double)(x1+x2)/2.;
			double Y=40.*(double)i/dx+(double)(y1+y2)/2.;
			if(y1<(int)Y-4&&(int)Y<y2-4){
				if(n==0)arrowh(x1+2,(int)Y,x2-2,(int)Y);
				if(n==2)arrowh(x2-2,(int)Y,x1+2,(int)Y);
				}
			if(x1<(int)X-4&&(int)X<x2-4){
				if(n==1)arrowh((int)X,y2-2,(int)X,y1+2);
				if(n==3)arrowh((int)X,y1+2,(int)X,y2-2);
				}
		 }
	}
     }








⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -