Implementation
{$R *.dfm}
uses Unit1;
procedure TForm6.Button1Click(Sender: TObject);
var ii,jj,kk:integer;
begin
form6.Hide;
for ii:=1 to 3 do
for jj:=1 to 3 do
if ii=jj then B[ii,jj]:=1
else
B[ii,jj]:=0;
if form6.RadioGroup1.ItemIndex=0 then
begin
B[1,2]:=1;
B[2,1]:=-1;
end;
if form6.RadioGroup1.ItemIndex=1 then
begin
B[1,1]:=-1;
B[2,2]:=-1;
end;
If form6.RadioGroup1.ItemIndex=2 then
begin
B[1,2]:=-1;
B[2,1]:=1;
end;
If form6.RadioGroup1.ItemIndex=3 then
begin
B[1,1]:=cos((strtoint(form6.Edit1.Text)*Pi)/180);
B[1,2]:=sin((strtoint(form6.Edit1.Text)*Pi)/180);
B[2,1]:=-sin((strtoint(form6.Edit1.Text)*Pi)/180);
B[2,2]:=cos((strtoint(form6.Edit1.Text)*Pi)/180);
end;
if tr=true then
begin
for ii:=1 to 3 do
begin
TreanglA[ii,1]:=Treangl[ii,1]-xx;
TreanglA[ii,2]:=yy-Treangl[ii,2];
TreanglA[ii,3]:=1;
end;
for ii:=1 to 3 do
for kk:=1 to 3 do
begin
TreanglR[ii,kk]:=0;
for jj:=1 to 3 do
TreanglR[ii,kk]:=TreanglR[ii,kk]+TreanglA[ii,jj]*B[jj,kk];
end;
for ii:=1 to 3 do
begin
Treangl[ii,1]:=round(xx+TreanglR[ii,1]);
Treangl[ii,2]:=round(yy-TreanglR[ii,2]);
end;
form1.Image1.Canvas.MoveTo(Treangl[1,1],Treangl[1,2]);
form1.Image1.Canvas.LineTo(Treangl[2,1],Treangl[2,2]);
form1.Image1.Canvas.LineTo(Treangl[3,1],Treangl[3,2]);
form1.Image1.Canvas.LineTo(Treangl[1,1],Treangl[1,2]);
form6.Edit1.Text:='';
form6.RadioGroup1.ItemIndex:=-1;
end;
if rec=true then
begin
for ii:=1 to 4 do
begin
RectanglA[ii,1]:=Rectangl[ii,1]-xx;
RectanglA[ii,2]:=yy-Rectangl[ii,2];
RectanglA[ii,3]:=1;
end;
for ii:=1 to 4 do
for kk:=1 to 4 do
begin
RectanglR[ii,kk]:=0;
for jj:=1 to 4 do
RectanglR[ii,kk]:= RectanglR[ii,kk]+RectanglA[ii,jj]*B[jj,kk];
end;
for ii:=1 to 4 do
begin
Rectangl[ii,1]:=round(xx+RectanglR[ii,1]);
Rectangl[ii,2]:=round(yy-RectanglR[ii,2]);
end;
form1.Image1.Canvas.MoveTo(Rectangl[1,1],Rectangl[1,2]);
form1.Image1.Canvas.LineTo(rectangl[2,1],rectangl[2,2]);
form1.Image1.Canvas.LineTo(rectangl[3,1],rectangl[3,2]);
form1.Image1.Canvas.LineTo(rectangl[4,1],rectangl[4,2]);
form1.Image1.Canvas.LineTo(rectangl[1,1],rectangl[1,2]);
form6.Edit1.Text:='';
form6.RadioGroup1.ItemIndex:=-1;
end;
end;
procedure TForm6.RadioGroup1Click(Sender: TObject);
begin
if form6.RadioGroup1.ItemIndex=3 then
begin
form6.Label1.Visible:=true;
form6.Edit1.Visible:=true;
end;
end;
end.