Цитата(Сергей Борщ @ Jul 1 2013, 20:10)

Так расскажите. Может кому-то еще будет полезно.
Расскажу...
Этот алгоритм мне нужен для реализации
G-code , т.е. реализации
G02 -круговая интерполяция по часовой стрелки,
G03 - круговая интерполяция против часовой стрелки.
Входными данными являются начальная точка, конечная точка и радиус.
Вопрос возник как рисовать дуги не кратные 45 градусам (по алгоритму).
Ответ:
1) из чистой геометрии определяю координаты центра - придется решать квадратное уравнение;
2) Для работы алгоритма необходимо сдвинуть центр окружности в (0, 0);
3) Начинаем алгоритм из первой точки, заканчиваем, когда дойдет до второй точки.
Это работает без модификации для любых 2-х точек, расположенных на опорной дуге.
Да, еще такой момент: если там маленький угол, т.е. очень большой радиус, то возможны некоторые проблемы с разрядностью, т.е. надо будет этот момент особо проконтролировать.
Над этим пока думаю...
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"