Zitat:
D2, D3
Na, schon etwas überarbeitet?
Ich über den Ansatz Matrix komme ich nicht, aber über den Ansatz mit Vektoren.
Das müßte doch einfach mit dem Crossprodukt gehen, oder? Ich habe sowas für Polygonflächen in 3D
.
Ist das nicht schon das Gesuchte :
Delphi-Quellcode:
A := 0;
for i := 2
to Self.Count - 1
do
begin
t := Triangle.Create(Self[0], Self[i], Self[i - 1]);
A := A + t.CrossProdukt;
end;
Result := A.Length / 2;
function Triangle.CrossProdukt: Vektor;
var
R1, R2: Vektor;
begin
// FA, FB, FC => Vektoren des Triangle
R1 := FC - FA;
R2 :=
FB - FA;
Result := R1.CrossProduct(R2);
end;
Achtung: Bin kein Informatiker sondern komme vom Bau.