Здравствуйте! У меня появилась задача, которую, к своему удивлению, никак не могу решить.
Итак: есть дуга заданная центром, радиусом и конечными точками.
Задача: Постоить эту дугу попеременным перемещением по осям х, у
Если не очень понятно, то поясняю: Например, есть дуга, заданная центром (x0, y0) и радиусом r. Тогда чтобы ее построить попеременным движением по осям делаем следующее:
1. Берем точку (x0-r, y0)
2. постепенно прибавляя к координате х по некоторой константе(шагу) вычисляем соответствующий этому иксу
y:= Round(sqrt(sqr(circle.radius) - sqr(x - circle.centre.X)) + circle.centre.Y);
3. Находим разность между координатами последней нарисованной точки и соответственно передвигаемся по осям на dx, dy
4. Делаем так до тех пор пока текущее значение х <= x0 + r
5. Повторяем те же пункты, но во 2 считаем
Round(-sqrt(sqr(circle.radius) - sqr(x - circle.centre.X)) + circle.centre.Y);
Надеюсь, что хоть кто-нибудь понял, что я имел ввиду.
P.S. Другие подобные ветки читал, но путного ответа не нашел...
Заранее спасибо!