Thema: Delphi zwei Quader vergleichen

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: zwei Quader vergleichen

  Alt 27. Feb 2008, 12: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
  Mit Zitat antworten Zitat