Definición.- Segmento de línea que tienen magnitud y dirección.
Código Delphi:
Declaración de funciones y atributos de la clase vector:
TVector = Class
X0, Y0:Real;
Color0: TColor;
Constructor Create(nX0,nY0:Real; nColor0:Tcolor);
Destructor Destroy();
Procedure Pantalla(X,Y: Real; var Sx,Sy: Integer);
Procedure MundoReal(Sx,Sy: Integer; Var X,Y: Real);
Procedure Encender; virtual;
Procedure Apagar; virtual;
Implementación de las funciones:
Constructor TVector.Create(nX0: Real; nY0: Real; nColor0: TColor);
begin
X0:=nX0;
Y0:=nY0;
Color0:= nColor0;
end;
Destructor TVector.Destroy();
begin
end;
Procedure TVector.Pantalla(X,Y: Real; Var SX,SY: Integer);
begin
SX:= Trunc(((SX1-SX2)/(X1-X2))*(X-X2))+ SX2;
SY:= Trunc(((SY1-SY2)/(Y2-Y1))*(Y-Y2))+ SY1;
end;
Procedure TVector.MundoReal(SX,SY: Integer; Var X,Y: Real);
begin
X:= (((SX-SX2)*(X1-X2))/(SX1-SX2))+ X2;
Y:= (((SY-SY1)*(Y2-Y1))/(SY1-SY2))+ Y2;
end;
Procedure TVector.Encender;
var
i,j: Integer;
begin
Pantalla(X0,Y0,i,j);
Form1.PaintBox1.Canvas.Pixels[i,j]:= Color0;
end;
Procedure TVector.Apagar;
begin
Color0:= Form1.Panel1.Color;
Encender;
end;
No hay comentarios:
Publicar un comentario