when the col is larger than dst_cols, it will get dst_cols everytime, and it will get the wrong coordinates about the dx and dy, so the result is wrong in the right border.