#!/usr/bin/env python # coding: utf-8 # ## Fraunhoferova difrakcija na kvadratnoj i kružnoj pukotini # #### Kod je pisan u Python programskom jeziku koristeći Jupyter notebook # In[1]: import numpy as np import matplotlib.pyplot as plt import math from scipy.fftpack import fft #paket za FFT from scipy.fftpack import ifftshift, fftshift from mpl_toolkits.mplot3d import Axes3D #paket za 3d plot plt.style.use('dark_background') # izbor boja za plot plt.rcParams['image.cmap'] = 'plasma' # In[2]: N=1048 #rezolucija L=5. # širina zaslona na kojem se javlja difrakcioni uzorak lamb=632*10**(-6) #talasna dužina svjetlosti u milimetrima (mm) w=0.05 #širina otvora (mm) z=100. #udaljenost otvor - zaslon (mm) k=2*np.pi/lamb #talasni broj delta_src=L/N #prostorna frekvencija #definisanje ravni otvora xv=np.linspace(-N/2,N/2-1,N) yv=np.linspace(-N/2,N/2-1,N) [x1,y1]=np.meshgrid(xv,yv) x1=x1*delta_src #(mm) y1=y1*delta_src # (mm) #definisanje kvadratnog otvora X=np.where(np.abs(x1)