解答:9−6
解答プログラム:
procedure TForm1.Button1Click(Sender: TObject);
const pai = 3.141592;
var pnt, pt : array [1..6,1..2] of real;
pt_int : array [1..6, 1..2] of integer;
i, n, xc, yc : integer;
angle, th : real;
begin
pnt[1,1] := 0; pnt[1,2] := 0;
pnt[2,1] := 50; pnt[2,2] := 50;
pnt[3,1] := 50; pnt[3,2] := 150;
pnt[4,1] := 0; pnt[4,2] := 100;
pnt[5,1] := -50; pnt[5,2] := 150;
pnt[6,1] := -50; pnt[6,2] := 50;
xc := 200;
yc := 200;
angle := 0;
for n := 1 to 24 do begin
th := pai * angle / 180;
for i := 1 to 6 do begin
pt[i,1] := pnt[i,1] * cos(th)
- pnt[i,2] * sin(th);
pt[i,2] := pnt[i,1] * sin(th)
+ pnt[i,2] * cos(th);
end;
for i := 1 to 6 do begin
pt_int[i,1] := xc + round(pt[i,1]);
pt_int[i,2] := yc - round(pt[i,2]);
end;
Canvas.Polygon([ Point(pt_int[1,1],pt_int[1,2]),
Point(pt_int[2,1],pt_int[2,2]),
Point(pt_int[3,1],pt_int[3,2]),
Point(pt_int[4,1],pt_int[4,2]),
Point(pt_int[5,1],pt_int[5,2]),
Point(pt_int[6,1],pt_int[6,2])
] );
angle := angle + 15;
end;
end;
end.