вот весь код программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
cicle:BOOLEAN;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,j,k:integer;
a,b:integer; //центр координат
ix,iy,jx,jy,kx,ky:integer; {оси}
ax1,ax2,ax3,ax4,by1,by2,by3,by4,cz1,cz2,cz3,cz4:integer;
a_x1,a_x2,a_x3,a_x4,b_y1,b_y2,b_y3,b_y4:integer; //переменные для построения вектора в пространстве
begin
showmessage('введите координаты начала и конца векторов');
a:=203;
b:=203;
ix:=53; iy:=353;
jx:=203; jy:=53;
kx:=353; ky:=203;
Form1.Canvas.Rectangle(3,3,400,400);
form1.Canvas.MoveTo(ix,iy);
form1.Canvas.LineTo(a,b);
form1.Canvas.MoveTo(jx,jy);
form1.Canvas.LineTo(a,b);
form1.Canvas.MoveTo(kx,ky);
form1.Canvas.LineTo(a,b);
{рисуем векторы по оси х берем все в половину меньшее(видимость под углом 45 градусов}
ax1:=strtoint(edit1.Text);
by1:=strtoint(edit2.Text);
cz1:=strtoint(edit3.Text);
ax2:=strtoint(edit4.Text);
by2:=strtoint(edit5.Text);
cz2:=strtoint(edit6.Text);
a_x1:=round(a-ax1/2+cz1);
b_y1:=b-by1;
form1.Canvas.MoveTo(a_x1,b_y1);
a_x2:=round(a-ax2/2+cz2);
b_y2:=b-by2;
form1.Canvas.LineTo(a_x2,b_y2);
ax3:=strtoint(edit7.Text);
by3:=strtoint(edit8.Text);
cz3:=strtoint(edit9.Text);
ax4:=strtoint(edit10.Text);
by4:=strtoint(edit11.Text);
cz4:=strtoint(edit12.Text);
a_x3:=round(a-ax3/2+cz3);
b_y3:=b-by3;
form1.Canvas.MoveTo(a_x3,b_y3);
a_x4:=round(a-ax4/2+cz4);
b_y4:=b-by4;
form1.Canvas.LineTo(a_x4,b_y4);
end;
end.