optics-algorithm