Registriert seit: 2. Mär 2004
5.508 Beiträge
Delphi 5 Professional
|
Re: zwei Quader vergleichen
27. Feb 2008, 13:27
Ich denke mal, das Vorsortieren der Dimensionen ist wohl am Besten.
Hab's jetzt so gelöst (aber noch nicht getestet):
Delphi-Quellcode:
function CompareBoxes(a1,a2,a3,b1,b2,b3:Currency): Integer;
procedure SwapCurreny(var a, b : Currency);
var
t : Currency;
begin
t := a; a:= b; b := t;
end;
procedure Sort3(var x,y,z:Currency);
begin
if x > y then SwapCurreny(x,y);
if x > z then SwapCurreny(x,z);
if y > z then SwapCurreny(y,z);
end;
begin
Sort3(a1,a2,a3);
Sort3(b1,b2,b3);
if (a1 = b1) and (a2 = b2) and (a3 = b3) then
Result := 0 // Quader sind gleich
else if (a1 <= b1) and (a2 <= b2) and (a3 <= b3) then
Result := 1 // Quader a ist in Quader b enthalten
else if (a1 >= b1) and (a2 >= b2) and (a3 >= b3) then
Result := -1 // Quader b ist in Quader a enthalten
else
Result := 2; // Quader a und b durchdringen sich
end;
Andreas
|
|
Zitat
|