Звучит так, будто вы делаете эквивалентную линию между двумя точками. И действительно, простые подходы, такие как рекурсивный выбор средних точек или перемещение между двумя точками «немного за раз», не очень привлекательны. Я уверен, что вы можете адаптировать алгоритм рисования линий Брешенхэма к задаче:
http://en.wikipedia.org/wiki/Bresenham's_line_algorithm
Существенная особенность алгоритма состоит в том, чтобы посмотреть на две точки и решить, перемещается ли линия в основном в X или Y. То есть, «в основном X» означает, что линия ближе к горизонтали, «в основном Y» означает ближе к вертикали. Затем он гарантирует, что каждая итерация дает вам новый пиксель, и он будет перемещаться точно на количество пикселей в направлении X (или Y) по мере необходимости.
И, кроме того, это круто.