summaryrefslogtreecommitdiff
path: root/typenunit.pas
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2020-05-11 09:20:51 +0200
committerErich Eckner <git@eckner.net>2020-05-11 09:20:51 +0200
commitfda3f072a911c85954eb7e9d51db9d6835173010 (patch)
treecddf23f45b552cf3bfa5f24268c5c8ba4b059f31 /typenunit.pas
parent2d37acad636955e99afeab057dc5ee656f12a6a4 (diff)
downloadepost-fda3f072a911c85954eb7e9d51db9d6835173010.tar.xz
fft2d zentriert nur horizontal - die Transformation sollte das auch wiederspiegeln
Diffstat (limited to 'typenunit.pas')
-rw-r--r--typenunit.pas28
1 files changed, 19 insertions, 9 deletions
diff --git a/typenunit.pas b/typenunit.pas
index 48e5d08..a11454c 100644
--- a/typenunit.pas
+++ b/typenunit.pas
@@ -438,9 +438,9 @@ type
end;
tFFTTransformation = class (tKoordinatenTransformation)
// repräsentiert die Transformation der Koordinaten bei einer FFT
- horizontal,vertikal,zentrieren: boolean;
+ horizontal,vertikal,horizontalZentrieren,vertikalZentrieren: boolean;
constructor create; overload;
- constructor create(vorg: tTransformation; hor,ver,znt: boolean);
+ constructor create(vorg: tTransformation; hor,ver,hZnt,vZnt: boolean);
procedure aktualisiereAchsen; override;
// keine Änderung der Positionen, der Werte(skalierung), der Ausdehnung
function wertZuPositionAufAchse(const l: tLage; x: extended; auszerhalbIstFehler: boolean = true): extended; override;
@@ -2422,15 +2422,17 @@ begin
inherited create;
horizontal:=false;
vertikal:=false;
- zentrieren:=false;
+ horizontalZentrieren:=false;
+ vertikalZentrieren:=false;
end;
-constructor tFFTTransformation.create(vorg: tTransformation; hor,ver,znt: boolean);
+constructor tFFTTransformation.create(vorg: tTransformation; hor,ver,hZnt,vZnt: boolean);
begin
inherited create;
horizontal:=hor;
vertikal:=ver;
- zentrieren:=znt;
+ horizontalZentrieren:=hZnt;
+ vertikalZentrieren:=vZnt;
fuegeVorgaengerHinzu(vorg);
end;
@@ -2441,7 +2443,7 @@ begin
if horizontal then begin
outAchsen['x','x']:=0;
outAchsen['x','y']:=(inXSTS['x']-1)/(inAchsen['x','y']-inAchsen['x','x']);
- if zentrieren then begin
+ if horizontalZentrieren then begin
outAchsen['x','x']:=-outAchsen['x','y']/2;
outAchsen['x','y']:=outAchsen['x','y']+outAchsen['x','x'];
end;
@@ -2452,7 +2454,7 @@ begin
if vertikal then begin
outAchsen['y','x']:=0;
outAchsen['y','y']:=(inXSTS['y']-1)/(inAchsen['y','y']-inAchsen['y','x']);
- if zentrieren then begin
+ if vertikalZentrieren then begin
outAchsen['y','x']:=-outAchsen['y','y']/2;
outAchsen['y','y']:=outAchsen['y','y']+outAchsen['y','x'];
end;
@@ -2509,8 +2511,16 @@ end;
function tFFTTransformation.dumpParams: string;
begin
result:='FFT: ';
- if horizontal then result:=result+'h';
- if vertikal then result:=result+'v';
+ if horizontal then begin
+ result:=result+'h';
+ if horizontalZentrieren then
+ result:=result+'(z)';
+ end;
+ if vertikal then begin
+ result:=result+'v';
+ if vertikalZentrieren then
+ result:=result+'(z)';
+ end;
result:=result + ' ' + inherited dumpParams;
end;