Suche Formel

hi leute,

ich schreibe grade an einem kleinen pascal-programm und stehe nun vor folgendem problem:

im 2-dimensionalen raum wir eine rechteckige fläche auf eine andere rechteckige abgebildet und ich suche die formel mit der ich einen beliebigen punkt P’ der neuen Fläche aus dem punkt P der ausgangsfläche berechnen kann.
folgende punkte mit ihren abbildungen sind mir bekannt:

(-2|-1.25) --> (30|49) {Eckpunkt oben links}
(-0.375|0) --> (285|190.5) {Mittelpunkte}
(1.25|-1.25) --> (600|430) {Eckpunkt unten rechts)

ich denke, das sollte ausreichen, um die funktion zu berechnen, kann aber gegebenenfalls noch mehr punkte angeben(durch ausprobieren).

da ich mich selber ziemlich für die sache interessiere, wüsste ich gern auch, wie ihr das berechnet.(solltet ihr natürlich zufällig die formel haben ohne jede ahnung, wie ihr drauf gekommen seid, könnt ihr die mir auch ruhig sagen :wink: )

grüße, Johannes

Hallo,

wie ich das sehe, ist das Problem, dass der „Mittlepunkt“ des transformierten Rechtecks nicht in der Mitte dieses Rechtecks liegt. Neben einer Verschiebung, einer Strechung/Stauchung und evtl einer Rotation hast du auch noch eine „innere Verzerrung“ - wenn die Zahlenwerte korrekt waren. Das kann man nicht berechnen, ohne die Verzerrungsfunktion zu kennen.

Wenn die Zahlen falsch waren, sieht die Sache aber u.U. deutlich einfacher aus. Sieh noch mal nach.

LG
Jochen

Hallo Johannes,

im 2-dimensionalen raum wir eine rechteckige fläche auf eine
andere rechteckige abgebildet und ich suche die formel mit der
ich einen beliebigen punkt P’ der neuen Fläche aus dem punkt P
der ausgangsfläche berechnen kann.
folgende punkte mit ihren abbildungen sind mir bekannt:

(-2|-1.25) --> (30|49) {Eckpunkt oben links}
(-0.375|0) --> (285|190.5) {Mittelpunkte}
(1.25|-1.25) --> (600|430) {Eckpunkt unten rechts)

Die Funktion f(x) mit den Eigenschaften

(1) linear
(2) f(x1) = f1
(3) f(x2) = f2

hat die Funktionsgleichung:


f(x) = m (x – x1) + f1

mit m = Δf/Δx

Dabei sind Δf := f2 – f1 und Δx := x2 – x1.

(Siehe Formelsammlung unter dem Stichwort „Zwei-Punkte-Form einer Geraden“)

(-2|-1.25) --> (30|49) {Eckpunkt oben links}
(-0.375|0) --> (285|190.5) {Mittelpunkte}
(1.25|-1.25) --> (600|430) {Eckpunkt unten rechts)

Lies als

x1 = -2; f1 = 30
x2 = 1.25; f2 = 600
y1 = -1.25; g1 = 49
y2 = 1.25; g2 = 430

Mit der obigen Formel bestimmst Du daraus die Funktion f(x) für die x-Koordinate und die Funktion g(y) für die y-Koordinate.

Mit freundlichem Gruß
Martin

danke martin für die schnelle hilfe. das is ja eigentlich recht easy, denke so müsste es klappen.

@jochen: die abbildung entspricht nur einer verkleinerung und verschiebung. das rechteck wird weder gestrckt noch gestaucht, die tatsache, dass der mittelpunkt des abgebildeten nicht der des ausgangs-rechteckes entspricht ist somit nicht von belang.

das is ja eigentlich recht easy

Ja :wink:. Wer viel programmiert, braucht diese Lineare-Abbildungs-Formel übrigens immer wieder mal, nämlich immer dann, wenn irgendwelche „Pixel“ von „logischen Koordinaten“ in „Gerätekoordinaten“ zu transformieren sind. Es lohnt sich also, sie im Hinterkopf zu behalten.

die tatsache, dass der mittelpunkt des abgebildeten nicht der
des ausgangs-rechteckes entspricht ist somit nicht von belang.

Hoppla!? Der Mittelpunkt des Ur-Rechtecks wird evidenterweise auf den Mittelpunkt des Bildrechtecks abgebildet (anders gehts nur mit nichtlinearen Funktionen). Bestehen hier Unklarheiten?

Hoppla!? Der Mittelpunkt des Ur-Rechtecks wird evidenterweise
auf den Mittelpunkt des Bildrechtecks abgebildet (anders gehts
nur mit nichtlinearen Funktionen). Bestehen hier Unklarheiten?

bei mir nicht :wink:

hm, programmiere schon ziemlich lange und auch recht komplizierte sachen, aber mit so einer abbildung musste ich noch nie kämpfen.

hierbei handelt es sich übrigens um ein programm zur graphischen darstellung der mandelbrotmenge & von julia-mengen.

Hoppla!? Der Mittelpunkt des Ur-Rechtecks wird evidenterweise
auf den Mittelpunkt des Bildrechtecks abgebildet (anders gehts
nur mit nichtlinearen Funktionen). Bestehen hier Unklarheiten?

bei mir nicht :wink:

OK, aber die beiden Werte in der zweiten Zeile der rechten Spalte (von mir fett gemacht)…

(-2|-1.25) --> (30|49) {Eckpunkt oben links}
(-0.375|0) --> (285|190.5) {Mittelpunkte}
(1.25| x-x 1.25) --> (600|430) {Eckpunkt unten rechts)

…sind dann nicht konsistent: -0.375 ist das arithmetische Mittel von -2 und 1.25. Die Lineartrafo bildet es auf das AM von 30 und 600 ab, aber das ist nicht 285, sondern (30 + 600)/2 = 315. Entsprechend für y: 0 ist das AM von -1.25 und 1.25, aber das AM von 49 und 430 ist nicht 190.5, sondern (49 + 430)/2 = 239.5. Das war es, was Jochen irritiert hat. Du hast irrtümlicherweise Differenzen gebildet (190.5 = (430 – 49)/2).

So, jetzt ist alles aufgeklärt :smile:.

hm, programmiere schon ziemlich lange und auch recht
komplizierte sachen, aber mit so einer abbildung musste ich
noch nie kämpfen.

*lach* Einmal ist immer das erste Mal…

hierbei handelt es sich übrigens um ein programm zur
graphischen darstellung der mandelbrotmenge & von
julia-mengen.

Dann grüß das Apfelmännchen und seine Kollegen mal schön von mir :wink:.

…sind dann nicht konsistent: -0.375 ist das arithmetische
Mittel von -2 und 1.25. Die Lineartrafo bildet es auf das AM
von 30 und 600 ab, aber das ist nicht 285, sondern (30 +
600)/2 = 315. Entsprechend für y: 0 ist das AM von -1.25 und
1.25, aber das AM von 49 und 430 ist nicht 190.5, sondern (49

  • 430)/2 = 239.5. Das war es, was Jochen irritiert hat. Du
    hast irrtümlicherweise Differenzen gebildet (190.5 = (430 –
    49)/2).

ups…mein fehler

danke