diff options
author | Erich Eckner <git@eckner.net> | 2019-09-26 11:57:33 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2019-09-26 11:57:33 +0200 |
commit | fd3533ff2115e9551656a231651ba99b2d575e1a (patch) | |
tree | 1124a450c850ba81faa4bd1df8f7922feffe8e01 /typenunit.pas | |
parent | 5c5c0a0e2d5b4489396bd7295110103ca4465d08 (diff) | |
download | epost-fd3533ff2115e9551656a231651ba99b2d575e1a.tar.xz |
typenunit.pas: tLineareAchsenVerzerrTransformation kann nun beliebigen Offset
Diffstat (limited to 'typenunit.pas')
-rw-r--r-- | typenunit.pas | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/typenunit.pas b/typenunit.pas index b36a185..7aeb9c7 100644 --- a/typenunit.pas +++ b/typenunit.pas @@ -491,8 +491,7 @@ type function transformiereAchseEinzelnInvers(const l: tLage; x: extended; auszerhalbIstFehler: boolean = true): extended; override; // keine Ă„nderung der Werte public - fak: tExtPoint; - nullen: array['x'..'y'] of boolean; + fak,offset: tExtPoint; constructor create; function dumpParams: string; override; end; @@ -2807,14 +2806,14 @@ var begin for c:='x' to 'y' do for d:='x' to 'y' do - outAchsen[c,d]:=(inAchsen[c,d] - inAchsen[c,'x']*byte(nullen[c]))*fak[c]; + outAchsen[c,d]:=(inAchsen[c,d] + offset[c])*fak[c]; end; function tLineareAchsenVerzerrTransformation.transformiereAchseEinzeln(const l: tLage; x: extended; auszerhalbIstFehler: boolean = true): extended; begin if auszerhalbIstFehler then testeAuszerhalb(true,false,l,x); - result:=(x - inAchsen[paralleleRichtung[l],'x'] * byte(nullen[paralleleRichtung[l]])) * fak[paralleleRichtung[l]]; + result:=(x + offset[paralleleRichtung[l]]) * fak[paralleleRichtung[l]]; if auszerhalbIstFehler then testeAuszerhalb(false,false,l,result); end; @@ -2823,7 +2822,7 @@ function tLineareAchsenVerzerrTransformation.transformiereAchseEinzelnInvers(con begin if auszerhalbIstFehler then testeAuszerhalb(false,false,l,x); - result:=x/fak[paralleleRichtung[l]] + inAchsen[paralleleRichtung[l],'x'] * byte(nullen[paralleleRichtung[l]]); + result:=x/fak[paralleleRichtung[l]] - offset[paralleleRichtung[l]]; if auszerhalbIstFehler then testeAuszerhalb(true,false,l,result); end; @@ -2835,18 +2834,13 @@ begin inherited create; for c:='x' to 'y' do begin fak[c]:=1; - nullen[c]:=false; + offset[c]:=0; end; end; function tLineareAchsenVerzerrTransformation.dumpParams: string; -var - c: char; begin - result:='* ' + tExtPointToStr(fak) + ' ' + inherited dumpParams; - for c:='y' downto 'x' do - if nullen[c] then - result:=c+'-zentriert '+result; + result:='+ ' + tExtPointToStr(offset) + ' * ' + tExtPointToStr(fak) + ' ' + inherited dumpParams; end; // tGroeszenVerdopplungsTransformation ***************************************** |