Nach diesen Änderungen habe ich allerdings das Problem, dass Teilchen aus dem Raum austreten - siehe Screenshot!
Der Code sieht mittlerweile so aus:
Delphi-Quellcode:
var x,y,z:single;
d,f:single;
i:integer;
begin
//T ist das Array mit den Teilchen
f:=power(high(T),1/3);
//Der Raum ist 70 Einheiten groß
d:=70 / f;
y:=d/2;
x:=d/2;
z:=d/2;
for i:=0 to high(T) do begin
T[i].x:=x;
T[i].y:=y;
T[i].z:=z;
x:=x+d;
if x>70 then begin
x:=d/2;
y:=y+d;
if y>70 then begin
y:=d/2;
z:=z+d;
end;
end;
end;
mit 125 oder auch 52 Teilchen klappt das z.B. einwandfrei, aber mit 81 und 39 siehts sehr falsch aus.