解説:9−4
このプログラムも、さっきまでの簡単にしたものを原点に関して対称移動させたものである。
プログラム:
procedure TForm1.Button1Click(Sender: TObject);
var pnt, pt : array [1..4,1..2] of integer;
i, n, xc, yc : integer;
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;
xc := 200;
yc := 200;
for n:=1 to 2 do begin
if n=1 then begin
for i := 1 to 4 do begin
pt[i,1] := xc + pnt[i,1];
pt[i,2] := yc - pnt[i,2];
end;
end else
for i := 1 to 4 do begin
pt[i,1] := xc - pnt[i,1];
pt[i,2] := yc + pnt[i,2];
end;
Canvas.Polygon([ Point(pt[1,1],pt[1,2]),
Point(pt[2,1],pt[2,2]),
Point(pt[3,1],pt[3,2]),
Point(pt[4,1],pt[4,2])
] );
end;
end;
end.
結果:
