Some minor speedup improvements

This commit is contained in:
utak3r 2005-09-11 20:19:12 +00:00
parent 05f68f0c1d
commit a56f6397b9

View File

@ -235,11 +235,12 @@ end;
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
procedure TXForm.Spherical; procedure TXForm.Spherical;
var var
r2: double; r2, rr2: double;
begin begin
r2 := FTx * FTx + FTy * FTy + 1E-6; r2 := FTx * FTx + FTy * FTy + 1E-6;
FPx := FPx + vars[2] * (FTx / r2); rr2 := 1 / r2;
FPy := FPy + vars[2] * (FTy / r2); FPx := FPx + vars[2] * (FTx * rr2);
FPy := FPy + vars[2] * (FTy * rr2);
end; end;
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -273,9 +274,11 @@ end;
procedure TXForm.Polar; procedure TXForm.Polar;
var var
ny: double; ny: double;
rPI: double;
begin begin
rPI := 0.31830989;
ny := sqrt(FTx * FTx + FTy * FTy) - 1.0; ny := sqrt(FTx * FTx + FTy * FTy) - 1.0;
FPx := FPx + vars[5] * (FAngle/PI); FPx := FPx + vars[5] * (FAngle*rPI);
FPy := FPy + vars[5] * ny; FPy := FPy + vars[5] * ny;
end; end;
@ -304,25 +307,28 @@ end;
procedure TXForm.Disc; procedure TXForm.Disc;
var var
nx, ny, r: double; nx, ny, r: double;
rPI: double;
begin begin
rPI := 0.31830989;
nx := FTx * PI; nx := FTx * PI;
ny := FTy * PI; ny := FTy * PI;
r := sqrt(nx * nx + ny * ny); r := sqrt(nx * nx + ny * ny);
FPx := FPx + vars[8] * sin(r) * FAngle / PI; FPx := FPx + vars[8] * sin(r) * FAngle * rPI;
FPy := FPy + vars[8] * cos(r) * FAngle / PI; FPy := FPy + vars[8] * cos(r) * FAngle * rPI;
end; end;
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
procedure TXForm.Spiral; procedure TXForm.Spiral;
var var
r: double; r, rr: double;
begin begin
// r := sqrt(FTx * FTx + FTy * FTy) + 1E-6; // r := sqrt(FTx * FTx + FTy * FTy) + 1E-6;
r := Flength + 1E-6; r := Flength + 1E-6;
FPx := FPx + vars[9] * (FCosA + sin(r)) / r; rr := 1 / r;
FPy := FPy + vars[9] * (FsinA - cos(r)) / r; FPx := FPx + vars[9] * (FCosA + sin(r)) * rr;
FPy := FPy + vars[9] * (FsinA - cos(r)) * rr;
end; end;
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -367,7 +373,7 @@ var
a,r: double; a,r: double;
begin begin
r := Math.power(FTx * FTx + FTy * FTy, 0.25); r := Math.power(FTx * FTx + FTy * FTy, 0.25);
a := FAngle/2 + Trunc(random * 2) * PI; a := FAngle*0.5 + Trunc(random * 2) * PI;
FPx := FPx + vars[13] * r * cos(a); FPx := FPx + vars[13] * r * cos(a);
FPy := FPy + vars[13] * r * sin(a); FPy := FPy + vars[13] * r * sin(a);
end; end;