📄 -
字号:
#include<graphics.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
#include<dos.h>
#include<a:ccbp.h>
#define PI 3.1415926
#define dt 0.2*t
void main()
{
float o,r,r1,r2,x,y,z1,z2,z,X,Y,w1=PI/5,w2=PI/5;
int t;
int A1=50,A2=50,v1=20,v2=20,l=350;
int gd=DETECT,gm;
initgraph(&gd,&gm,"");
for(r=0;r<=480;r+=2)
{
for(o=0;o<=360;o+=1)
{
x=r*cos(o*PI/180);
y=r*sin(o*PI/180);
r2=sqrt(pow(x,2)+pow((y-l/2),2));
r1=sqrt(pow(x,2)+pow((y+l/2),2));
z1=A1*cos(w1*dt+r1*w1/v1);
z2=A2*cos(w2*dt+r2*w2/v2);
z=z1+z2;
X=320+(y-x*cos(PI/4));
Y=240-(z-x*sin(PI/4));
if(o==90||o==270)
{
if(r>=(700-l)/2&&r<=(700+l)/2)
{
setcolor(4);
setfillstyle(1,4);
fillellipse(X,Y,2,2);
}
else
{
setcolor(14);
setfillstyle(1,14);
fillellipse(X,Y,2,2);
}
}
else if(o==0||o==180)
{
setcolor(1);
setfillstyle(1,1);
fillellipse(X,Y,1,1);
}
else
putpixel(X,Y,3);
}
}
outhzxy3(260,10,"水波干涉",2,0,15);
outhzxy3(250,200,"驻波",1,0,15);
outhzxy3(450,450,"作者:万昌盛",1,0,4);
outhzxy3(650/2-l/2,200,"波源",1,0,15);
outhzxy3(650/2+l/2,200,"波源",1,0,15);
outhzxy3(60,230,"水波的叠加",1,0,15);
getch();
for(t=0; ;t++)
{
if(kbhit()) break;
cleardevice();
for(r=0;r<=480;r+=5)
{
for(o=0;o<=360;o+=5)
{
x=r*cos(o*PI/180);
y=r*sin(o*PI/180);
r2=sqrt(pow(x,2)+pow((y-l/2),2));
r1=sqrt(pow(x,2)+pow((y+l/2),2));
z1=A1*cos(w1*dt+r1*w1/v1);
z2=A2*cos(w2*dt+r2*w2/v2);
z=z1+z2;
X=320+(y-x*cos(PI/4));
Y=240-(z-x*sin(PI/4));
if(o==90||o==270)
{
if(r>=(700-l)/2&&r<=(700+l)/2)
{
setcolor(4);
setfillstyle(1,4);
fillellipse(X,Y,2,2);
}
else
{
setcolor(14);
setfillstyle(1,14);
fillellipse(X,Y,2,2);
}
}
else if(o==0||o==180)
{
setcolor(1);
setfillstyle(1,1);
fillellipse(X,Y,1,1);
}
else
putpixel(X,Y,14);
}
} if(kbhit()) break;
}
closegraph();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -