Registriert seit: 31. Mai 2009
1.198 Beiträge
Turbo Delphi für Win32
|
AW: 2 Vektoren und 1 Punkt, wo näher drann?
5. Apr 2012, 17:31
Ach noch etwas:
Delphi-Quellcode:
// das hier
OrtsVektorPrevPoint : array [0..1] of Double;
sieht nicht schön aus.
Lieber soetwas:
Delphi-Quellcode:
type
TVector2d = record
case Boolean of
False: (X: Double; Y: Double);
True: (Values: Array[0..1] of Double);
end;
(...)
var
P: TVector2d;
Damit kannste nämlich direkt per P.X und P.Y oder P.Values[0] und P.Values[1] auf die X & Y Koordinaten zugreifen
Praktisch sind dann noch folgende Erweiterungen:
Delphi-Quellcode:
TVector2d = record
procedure Assign(const newX, newY: Double);
function Length: Double;
case Boolean of
False: (X: Double; Y: Double);
True: (Values: Array[0..1] of Double);
end;
procedure TVector2d.Assign(const newX, newY: Double);
begin
X := newX;
Y := newY;
end;
function TVector2d.Length: Double;
begin
Result := SQRT(X*X + Y*Y);
end;
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
Geändert von Aphton ( 5. Apr 2012 um 17:34 Uhr)
|