Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КГ2.doc
Скачиваний:
3
Добавлен:
21.09.2019
Размер:
359.42 Кб
Скачать

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

TForm5 = class(TForm)

Button1: TButton;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

Edit1: TEdit;

Edit2: TEdit;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

TreanglA:array[1..3,1..3] of integer;

rectanglA:array[1..4,1..3] of integer;

TreanglR:array[1..3,1..3] of real;

rectanglR:array[1..4,1..3] of real;

B:array[1..3,1..3] of real;

Implementation

{$R *.dfm}

uses Unit1;

procedure TForm5.Button1Click(Sender: TObject);

var ii,jj,kk:integer;

begin

form5.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 form5.CheckBox1.Checked then

B[3,1]:=strtoint(form5.Edit1.Text);

if form5.CheckBox2.Checked then

B[3,2]:=strtoint(form5.Edit2.Text);

if form5.CheckBox1.Checked and form5.CheckBox2.Checked then

begin

B[3,1]:=strtoint(form5.Edit1.Text);

B[3,2]:=strtoint(form5.Edit2.Text);

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]);

form5.Edit1.Text:='';

form5.Edit2.Text:='';

form5.CheckBox1.Checked:=false;

form5.CheckBox2.Checked:=false;

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]);

form5.Edit1.Text:='';

form5.Edit2.Text:='';

form5.CheckBox1.Checked:=false;

form5.CheckBox2.Checked:=false;

end;

end;

end.

unit Unit6;

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

TForm6 = class(TForm)

Button1: TButton;

RadioGroup1: TRadioGroup;

Edit1: TEdit;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

procedure RadioGroup1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

TreanglA:array[1..3,1..3] of integer;

rectanglA:array[1..4,1..3] of integer;

TreanglR:array[1..3,1..3] of real;

rectanglR:array[1..4,1..3] of real;

B:array[1..3,1..3] of real;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]