2d算法