// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!
uses GraphABC;
procedure DrawRegularPolygon(n,R,Xc,Yc:integer; color:graphABC.Color);
// Строит правильный n-угольник с радиусом описанной окружности R и
// координатами центра Xc, Yc. Color задает цвет пера.
begin
Pen.Color:=color;
var P:=new Point[n];
for var i:=0 to n-1 do begin
var arg:=2*Pi*i/n-Pi/2;
P[i].X:=Trunc(xc+R*cos(arg));
P[i].Y:=Trunc(yc+R*sin(arg))
end;
DrawPolygon(P);
end;
begin
var (w,h):=(800,600); // размер графического окна
SetWindowSize(w,h);
var (xc,yc):=(w div 2,h div 2); // координаты центра
var R:=h-yc-20; // радиус описанной окружности
Window.Clear;
Pen.Width:=5;
var n:=Arr(36,12,10,9,8,6);
var color:=Arr(clRed,clBlue,clGreen,clPurple,clOrange,clSienna);
for var i:=0 to n.Length-1 do begin
DrawRegularPolygon(n[i],R,xc,yc,color[i]);
R-=30;
end;
end.