Все просто как грабли. Используем элементы тригонометрии и получаем 2 интересные формулы.
Код
for i:= 1 to n do
begin
x[i]:= Cx+Trunc(R*Sin(i*2*Pi/n));
y[i]:=Cy+Trunc(R*Cos(i*2*Pi/n));
end;
где Сх,Cy- координаты центра многоугольника, R- его радиус, n - колво сторон(углов)
Все теперь у тя есть массив с координатами точек. но мжно их и на прямую загонять
типа
Код
Moveto(C.x,C.y-R);
for i:=1 to n do
LineTo(C.x+Trunc(R*Sin(i*2*Pi/n)),C.y-Trunc(R*Cos(i*2*Pi/n)));
Не уверен что такая запись будет работать в Пасе так как писал на дельфи ;)