pro fgs,x,a,f a=[0.,0.,0.,0.,0.,0.5] n=256 x1=indgen(n)#replicate(1.,n) y1=replicate(1.,n)#indgen(n) x1=(x1-n/2)*(4./n)/pm y1=(y1-n/2)*(4./n)/pm r=sqrt(x1^2+y1^2) t=atan(y1,x1) tx =1.8992573*r*cos(t) ty =1.8992573*r*sin(t) fo =3.8874443*(r^2-0.554450) ax =2.3137662*r^2*cos(2*t) ay =2.3137662*r^2*sin(2*t) cx =8.3345629*(r^3-0.673796*r)*cos(t) cy =8.3345629*(r^3-0.673796*r)*sin(t) clx=2.6701691*r^3*cos(3*t) cly=2.6701691*r^3*sin(3*t) sa =16.895979*(r^4-1.108900*r^2+0.241243) sax=12.033645*(r^4-0.750864*r^2)*cos(2*t) say=12.033645*(r^4-0.750864*r^2)*sin(2*t) ashx=29.851527*r^4*cos(4*t) ashy=29.851527*r^4*sin(4*t) prthru=cos(x1*1200.*2*!pi/(4.*25.4))*cos(y1*1200.*2*!pi/(4.*25.4)) i=complex(0.,1.) wave=a(0)*fo+a(1)*cx+a(2)*cy+a(3)*ax+a(4)*ay+a(5)*sa pupil=(r lt 1.) and (r gt 0.33) ;; pupil(where((abs(x1) lt 0.011) or (abs(y1) lt 0.011)))=0. ; pupil(where((shift(r,0.0,0.889*n*pm/4) lt 0.063) or $ ; (shift(r,0.826*n*pm/4,-0.340*n*pm/4) lt 0.063) or $ ; (shift(r,-0.762*n*pm/4,-0.467*n*pm/4) lt 0.063))) =0. a=fltarr(100)& b=a for it=0,99 do begin wav=(wave+(it-99)*tx/50.+0.*ty)*pupil wat= endfor stop end