现在，有一个神奇的 Python 工具包，可以仿真这个实验了!!
第 0 步，安装软件:
pip install numpy matplotlib
pip install LightPipes
第 1 步，开始做实验:
import matplotlib.pyplot as plt
from LightPipes import *
第 2 步，一束光(F 是一个表示光场的矩阵):
wavelength = 20*um
size = 30.0*mm
N = 500
F = Begin(size,wavelength,N)
第 3 步，分别穿过 2 个小孔，再汇聚到一起:
F1 = CircAperture(0.15*mm, -0.6*mm,0, F)
F2 = CircAperture(0.15*mm, 0.6*mm,0, F)
F = BeamMix(F1,F2)
第 4 步，在空间中菲涅尔衍射一段距离:
F = Fresnel(10*cm,F)
第 5 步，计算光强度:
I = Intensity(2,F)
第 6 步，将图像显示出来:
这个库在近距离衍射方面非常出色，作者是 Fred van Goor ，来自荷兰的已退休教授，一个慈祥的老爷爷:
I am a retired assistant professor in optics and laser physics at the University of Twente, Enschede, The Netherlands ( http://lpno.tnw.utwente.nl/). I live in The Netherlands, UTC + 1. Retired since 1-1-2014. I gave the lecture "Introduction to Optics" during about 20 years, theory as well as practical. During this period I used LightPipes as a bunch of computer assignments for my students. They had to do some exercises such as Fabry Perot, two holes, Michelson interferometers and also diffraction experiments like Fraunhofer and Fresnel from a small hole. Later they had to repeat those experiments in a real lab. Besides education I also did research in laser physics, I realized a very big XeCl laser system (1kHz, 1kW at 308nm). For that laser I wanted to design an unstable resonator with a Gaussian outcoupler, to get single transverse mode operation in an (almost) fundamental Gauss mode. For that I used Gleb Vdovin's LightPipes optical toolbox for the first time in the beginning of 1990. (It is the same set of c-routines you found on his company's website okotech.com) In 1990 they were meant for ms-dos: output from one command = input for the next one, it uses the "pipe" feature of ms-dos. That's why it is called LightPipes. Later (1994) I made versions for Mathcad and Matlab and sold a number of those packages all over the world. Gleb and I shared the profits. (I believe it is more or less obsolete now, but you can still buy it from okotech, although the selling is low at this moment).
Now I have time to improve LightPipes using modern software like Python and Qt, especially for education in optics, although companies can use it as well I believe (for companies there is expensive software like ZEMAX available. Very good but too expensive for students and even universities). I have no commercial interests, but donations from companies could be welcome of course.
As Gleb Vdovin already published the source code of the library on okotech.com, it is not a problem to do that for the Python library as well.
也欢迎加入 https://github.com/opticspy 组织，一起完善 LightPipes!