DMUG-Archiv 1999

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: transformation finden

Hallo,

Zum einen ist es v"ollig unwichtig zu wissen aus welchen
Rotationen, Translationen und Skalierungen eine Transformation
entstanden ist. Da man beliebig viele Transformationen in beliebiger
Reihenfolge anwenden kann ist die Information 
"diese Transformation k"onnte durch eine Rotation mit .., eine
Translation mit .. und eine Skalierung mit ... aber auch durch
eine beliebige andere Anzahl und Reihenfolge dieser Operationen
dargestellt werden" ziemlich sinnlos. Wenn man die Matrix hat ist
die Sache gelaufen.

> hier habe ich ich bei meiner anfrage etwas unklar ausgedrueckt denn
> eigentlich will ich nicht die matrix sondern a, sx, sy, tx, ta ermitteln.
> 

Kann man wohl sagen. Die Reihenfolge der Transformationen in

M={
{sx Cos[a],sx Sin[a],tx},
{-sy Sin[a],sy Cos[a],ty},
{0,0,1}
}

ist genau umgekehrt als es die erste Mail beschreibt hier das original:

> Gegeben seien punkte {{x1, y1},{x2,y2},...{xn,yn}} sowie punkte
>{{p1, q1},{p2,q2},...{pn,qn}} einer ebene.
>dabei gehen die {pi,qi} aus den {xi,yi} durch die linearen transformationen: translation x,
>translation y, scalierung x, scalierung y, und rotation hervor.

was man wohl als Translation, Scalierung und Rotation des Original
Punktes verstehen sollte und
*nicht* als Rotation, Scalierung und Translation.

> wenn ich nun a, sx, sy ,tx, ty bestimmen will habe ich 6 nichtlineare
> gleichungen fuer 5 parameter .....
> was nun ?

Naja, die Gleichungen sind aber nicht unabh"anging.
Eine Skalierung mit {sx->-1,sy->-1} entspricht einer Rotation um Pi.
Da man sowohl mit einer Translation, als auch mit einer Skaliering jeden
Punkt der Ebene erreichen kann sind auch diese operationen in nicht
eindeutig.
Es gilt also auf kluge Weise diese Mehrdeutigkeit aufzul"osen.

> Selbst wenn dafuer ein linearer ansatz ueber least square gelingt werden 2
> "hintereinander geschaltete minimierungen wohl nicht das mathematisch exakte
> least square minimum fuer meine parameter liefern oder ?
> 
> soviel auch fuer unseren trivialgeritzten ziemlich selten oder gar nie
> ueberheblichen Jens-Peer Kuska vieleicht schuettelt er auch hierbei eine
> loesung aus dem aermel.

Nehmen wir mal an wir der Punkt wird erst Rotiert, dann Skaliert und am
Schluss
verschoben dann ist

{-a + sx*Cos[alpha]==0, -b + sx*Sin[alpha]==0, -c + tx==0, 
 -d - sy*Sin[alpha]==0, -e + sy*Cos[alpha]==0, -f + ty==0}

also tx->c und ty->f.
Wie man leicht sieht ist der Rest der Gleichung
es bleiben also nur die Gleichungen

{sx*Cos[alpha]==a, sx*Sin[alpha]==b, 
 - sy*Sin[alpha]==d,  sy*Cos[alpha]==e}

Da die rechte Seite einfach
{{sx, 0 },
 {0, sy}}.{{Cos[alpha],Sin[alpha]},
           {-Sin[alpha],Cos[alpha]}} == {{a,b},
                                         {d,e}}

Erh"alt man nach dem Bilden der Determinate
sx*sy==a*e-b*d. Denn die Rotationsmatrix hat nat"urlich die
Determinaten 1. Hier kommt die erste Fallunterscheidung.
Ist n"amlich a*e-b*d==0 so erh"alt man entweder sx->0 oder
sy->0. 
Dann hat man sx*Cos[alpha]==a und -sx*Sin[alpha]==d,
im anderen Fall  ist nat"urlich 
sy*Sin[alpha]==b und sy*Cos[alpha]==e zu l"osen.
Die anderen Gleichungen sind entweder automatisch erf"ullt
oder es gibt keine L"osung f"ur diese Reihenfolge der Transformationen.
Was aber nicht schlimm ist, weil man sich ja unendlich viele 
andere ausdenken kann.

Ist a*e-b*d != 0 so setzt man erst mal sy -> Det[{{a, b}, {d, e}}]/sx

Nun ist das System noch wesentlich mehr "uberbestimmt da man vier
Gleichungen und nur noch zwei Variablen sx, alpha hat. Mit xi=Cos[alpha]
gibts
zwei S"atze von Gleichungen:

{sx*xi == a, sx*Sqrt[1 - xi^2] == b}
 
{((b*d - a*e)*Sqrt[1 - xi^2])/sx == d, 
  ((-(b*d) + a*e)*xi)/sx == e}

Die anderen jeweils anderen sind etweder simultan erf"ullt oder
Die gew"ahlte Reihenfolge der Transformationen ist nicht m"oglich.

Gruss
  Jens


Antworten:
Re: transformation finden
Martin Kraus, 03.09.1999
Verweise:
Re: transformation finden
Robert Nowak, 02.09.1999

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 08.09.2003 20:45