
import numpy
from matplotlib.pyplot import *

Lambda = 500e-9
epsilon = 0.05/3600*numpy.pi/180.0

def V(a):
    u = numpy.pi*a*epsilon/Lambda
    return numpy.abs(numpy.sin(u)/u)

figure()
a = numpy.linspace(0,10,500)
v = V(a)
plot(a,v)
xlabel('a (m)')
ylabel('V')
grid()
                        

alpha1 = 0.0
beta1 = 0.0
alpha2 = 0.01
beta2 = 0.003
alpha3 = -0.008
beta3 = 0.005
                       
sec2rad = 1.0/3600*numpy.pi/180.0
f = 2*numpy.pi/Lambda*sec2rad

def V(a,b):
    mu = numpy.exp(-1j*f*(a*alpha1+b*beta1))+\
         numpy.exp(-1j*f*(a*alpha2+b*beta2))+\
         numpy.exp(-1j*f*(a*alpha3+b*beta3))
    return numpy.absolute(mu)
    
A = 20.0
da = A/100
a,b = numpy.mgrid[-A:A:da,-A:A:da]
v = V(a,b)
figure(figsize=(7,7))
imshow(v,cmap=cm.gray,extent=[-A,A,-A,A])
xlabel('a (m)')
ylabel('b (m)')
                       
