Построение дуги по заданным...
От: ShimoN Россия www.shimopus.pp.ru
Дата: 11.11.05 20:38
Оценка:
Здравствуйте! У меня появилась задача, которую, к своему удивлению, никак не могу решить.

Итак: есть дуга заданная центром, радиусом и конечными точками.
Задача: Постоить эту дугу попеременным перемещением по осям х, у

Если не очень понятно, то поясняю: Например, есть дуга, заданная центром (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. Другие подобные ветки читал, но путного ответа не нашел...

Заранее спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.