📄 光的多缝衍射的模型.c
字号:
#include"stdlib.h"
#include "stdio.h"
#include"math.h"
#include"graphics.h"
main()
{
float a=0.4,d=0.8;
int n=4;
int graphdrv=DETECT;
int graphmode;
int A=0,B=120;
float b,c,r,pi=3.141593,k,i,f;
r=B/n/n;
k=2*pi/1e7;
d=d/1000;
a=a/1000;
initgraph(&graphdrv,&graphmode,"\\tv\\bgi");
line(320,0,320,479);
line(0,120,639,120);
line(0,240,639,240);
line(0,479,639,479);
for(f=1;f<320;f++)
{
c=pi*d*sin(f/1e5)/k;
i=r*pow(sin(n*c)/sin(c),2);
line(320-A,120-B,320-f,120-i);
line(320+A,120-B,320+f,120-i);
A=f;B=i;
}
getch();
A=0;
B=100;
for(f=1;f<320;f++)
{
b=pi*a*sin(f/1e5)/k;
i=100*pow(sin(b)/b,2);
line(320-A,240-B,320-f,240-i);
line(320+A,240-B,320+f,240-i);
A=f;B=i;
}
getch();
A=0;B=240;
for(f=1;f<320;f++)
{
b=pi*a*sin(f/1e5)/k;
c=pi*d*sin(f/1e5)/k;
i=2*r*pow(sin(b)/b*sin(n*c)/sin(c),2);
line(320-A,479-b,320-f,479-i);
line(320+A,479-B,320+f,479-i);
A=f;
B=i;
}
while(!kbhit());
closegraph();
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -