def __init__(self,pt = None,curve = 0.0, xsize = 200.0, ysize = 200.0, xpixel_or_im = 256, ypixel = 256): """ Form the OpticalImage with either blank array of nmpy image array param pt the plane point (default = None,(0,0,0)) param curve the curvature of the plane (taken as spherical) param xsize the x size (default = 200) param ysize the y size (default = 200) param xpixel_or_im x-pixel size of image (default = 256) OR nmpy array of floats """ OpticalImage.__init__(self,pt,xsize,ysize,xpixel_or_im,ypixel) SphericalSurface.__init__(self,pt,curve,math.sqrt(0.25*(xsize*xsize + ysize*ysize)))
def getSurfaceInteraction(self,r): """ Method to get back the surface interaction information for a ray Returns the list type: surface type distance: distance from current ray position to surface pos : Position, intration point with surface norm: surface normal at that point refrative : refrative index (if refracting surface) This also add the ray intensity to the cloeset pixel """ info = SphericalSurface.getSurfaceInteraction(self,r) # Return list of information return SurfaceInteraction(self.type,d,pos,u,self.refractiveindex)