TVectorReflect (Delphi)
Description
This example illustrates how to use the Reflect method to obtain the reflection of the given vector against a normalized wall vector.
Code
uses
  System.SysUtils,
  System.Types;
var
  aVector1,aVector2,aVector3: TVector;
  aPoint1, aPoint2: TPointF;
begin
   aPoint1.Create(2,3);
   aPoint2.Create(1,5);
   aVector1.Create(aPoint1);
   writeln(Format('%2.2f %2.2f',[aVector1.X,aVector1.Y]));
   // The console will output: 2.00 3.00, representing the coordinates for aVector1.
   aVector2.Create(aPoint2);
   writeln(Format('%2.2f %2.2f',[aVector2.X,aVector2.Y]));
   // The console will output:  1.00 5.00, representing the coordinates for aVector2.
   aVector3:=aVector1.Reflect(aVector2);
   writeln(Format('%2.2f %2.2f',[aVector3.X,aVector3.Y]));
   // The console will output: -32.00 -167.00, representing the coordinates for aVector3 as a reflected vector.
end.