Thema: Delphi Drehsinn von Ebenen

Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Drehsinn von Ebenen

  Alt 28. Okt 2015, 15:34
Nein. Leider. Habs getestet. Und daß die Punkte auf der Ebene liegen ist hier gesichert weil die Ebenen so aufgespannt werden.

Der Code von #8 ist eine Pyramide. P0..P3 sind die Grundfläche, P4 die Spitze.
Bei Ebene 5 sagt er ist negativ.

Ich hab auf die Schnelle nur die ersten beiden Punkte einer Begrenzungsebene geprüft:

Delphi-Quellcode:
function TPolyeder.CrossProduct(const A, B: integer): TPolyederPoint;
begin
  Result.X := FPoints[A].Y * FPoints[B].Z - FPoints[A].Z * FPoints[B].Y;
  Result.Y := FPoints[A].Z * FPoints[B].X - FPoints[A].X * FPoints[B].Z;
  Result.Z := FPoints[A].X * FPoints[B].Y - FPoints[A].Y * FPoints[B].X;
end;

function TPolyeder.ClockwiseSense(const Index: integer): integer;
begin
  Result := Sign(CrossProduct(FPlanes[Index].Items[0], FPlanes[Index].Items[1]).Z);
  ShowMessage(Format('Result %d', [Result]));
end;
  Mit Zitat antworten Zitat