Как определить направление рисования дуги?
Воспользуйтесь векторным произведением векторов из центра окружности на две точки. Оно вам даст положительное значение, если от первого ко второму вектору надо идти против часовой стрелки и отрицательное - наоборот. Ноль, если вектора лежат на одной прямой с центром окружности.

Форомула будет (x0 - xr)(y1-yr) - (x1-xr)(y0-yr), где xr, yr - центр окружности.
Помещаем окружность в систему координат так чтобы центр был в точке (0, 0), а первая точка была на оси Х. 

Тогда координаты первой точки будут (R, 0).

Очевидно и тривиально что:

1.
Если у второй точки y1 > 0 то двигаться из первой точки против часовой стрелки для кратчайшей дуги.
2.
Если у второй точки у1 < 0 то двигаться из первой точки надо по часовой стрелке для кратчайшей дуги
3.
Если y1 = 0, то так как это отличная от первой точка то её координаты будут (-R, 0) и понятно что без разницы по часовой или против часовой стрелке двигаться ибо дуги будут одинаковы.

Дальнейший вывод уж сами сделайте :)