From fd3533ff2115e9551656a231651ba99b2d575e1a Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 26 Sep 2019 11:57:33 +0200 Subject: typenunit.pas: tLineareAchsenVerzerrTransformation kann nun beliebigen Offset --- typenunit.pas | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'typenunit.pas') 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 ***************************************** -- cgit v1.2.3-70-g09d2