Giúp đỡ thuật toán vẽ đường thẳng Midpoint - Đồ Họa Máy Tính

Em đang tìm hiểu về các thuật toán vẽ đường thẳng. Trong đó có midpoint. Em thì hiểu được trường hợp 0< hesogoc< 1 .
Nhưng với các trường hợp khác chưa hiểu biện luận như thế nào. Em có tham khảo đoạn code trên mạng :
http://paste.ofcode.org/DszYphYH5ES3eiFJDqycch

Nhưng em vẫn chưa hiểu cách thức hoạt động của hàm midpoint trong code. Ai giải thích giúp em với ạ!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?