Code: Alles auswählen
type
TVector = array[0..2] of GLfloat;
TDynamischHalbZylinder = array of TVector;
function BerechneDynamischHalbZylinder: TDynamischHalbZylinder;
var
Zaehler: integer;
function v(x, y, z: GLfloat): TVector;
begin
v[0] := x;
v[1] := y;
v[2] := z;
Inc(Zaehler);
SetLength(BerechneDynamischHalbZylinder, Length(BerechneDynamischHalbZylinder) + 1);
end;
procedure Seite;
var
i: integer;
begin
for i := 0 to 36 do begin
with Kreistab[i] do begin
x := Sin1(i * 10) * 3;
y := Cos1(i * 10) * 3;
end;
end;
Zaehler := -1;
for i := 0 to 17 do begin
with KreisTab[i + 0] do Result[Zaehler] := v(x, 4, y); // Umfang
with KreisTab[i + 1] do Result[Zaehler] := v(x, 4, y);
with KreisTab[i + 1] do Result[Zaehler] := v(x, -4, y);
with KreisTab[i + 0] do Result[Zaehler] := v(x, 4, y);
with KreisTab[i + 1] do Result[Zaehler] := v(x, -4, y);
with KreisTab[i + 0] do Result[Zaehler] := v(x, -4, y);
with KreisTab[i + 0] do Result[Zaehler] := v(x, 4, y); // Stirnseite;
with KreisTab[i + 1] do Result[Zaehler] := v(0, 4, 0);
with KreisTab[i + 1] do Result[Zaehler] := v(x, 4, y);
with KreisTab[i + 1] do Result[Zaehler] := v(x, -4, y); // Stirnseite;
with KreisTab[i + 1] do Result[Zaehler] := v(0, -4, 0);
with KreisTab[i + 0] do Result[Zaehler] := v(x, -4, y);
end;
end;
begin
SetLength(Result, 1);
Seite;
SetLength(BerechneDynamischHalbZylinder, Length(BerechneDynamischHalbZylinder) - 1);
end;