DMUG-Archiv 2005

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

automatische mma funktions definitionen

liebe leute,

aus einer mma liste l welche verschiedene abbildungen von R2 auf R2 definiert werden mittels mma code mma funktionen 
"automatisch" definiert. es stehen nach aufruf von DefineBaseFunctionSet[l, {x, y}] die folgende funktionen zur 
verfügung: TranslationX,TranslationY,Magnification,Rotation,Anamorph0,Anamorph4
diese funktione sind soweit so gut anwendbar auf eine liste mit einem R2 punketpaar.

Beispielhaft wird AlternateRot[] als "händische" alternative zu Rotation[] definiert wie man sieht ist die MMA 
definition der händischen definition "geradliniger" als die "automatische"

?AlternateRot     liefert:
AlternateRot
AlternateRot[{x_, y_}] := {-y, x}


?Rotation               liefert:
Rotation
Rotation[v$_] := {-y, x} /. MapThread[Rule[##1] & , {{x, y}, v$}]



F R A G E:

wie bringe ich die "automatische" version dazu die "geradlinige" definition zu erzeugen ?

l.g. robert




MMA code ab hier unterhalb folgend:



l = {
{TranslationX, {1, 0}},
{TranslationY, {0, 1}},
{Magnification, {x, y}},
{Rotation, {-y,x}},
{Anamorph0, {x, -y}},
{Anamorph4, {y, x}}
};

DefineBaseFunction[FnName_, Expr_, Vars_] := FnName[v_] := Expr /. MapThread[Rule[##1] &, {Vars, v}]

DefineBaseFunctionSet[FnList_, Vars_] := ((DefineBaseFunction[Sequence @@ #1, Vars] &) /@ FnList;)

DefineBaseFunctionSet[l, {x, y}]

AlternateRot[{x_, y_}] := {-y, x}


?AlternateRot  
?Rotation


Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html