www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Lineare Algebra - Matrizen" - Koordinatentransformation
Koordinatentransformation < Matrizen < Lineare Algebra < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra - Matrizen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Koordinatentransformation: Tipp
Status: (Frage) beantwortet Status 
Datum: 00:47 So 12.09.2010
Autor: lucana

Hallo :)

Hab leider keine mathematische Aufgabenstellung, da ich über das Problem beim Programmieren für ein Uni-Projekt gestoßen bin, aber ich hoff' jetzt einfach mal, dass ich das richtige Forum erwischt hab.

Folgendes Problem: Meine Software stellt eine Grafik dar, und diese Grafik wiederum besteht aus einer parallelogrammförmigen Tabelle (kA wie ich das besser beschreiben soll), also aus lauter gleich großen Feldern, die einfach schief angeordnet sind.

Ich hab mal versucht, das zu zeichnen, damit ein bisschen klarer wird, was ich meine: http://i52.tinypic.com/281d81.jpg

In echt ist das Parallelogramm noch um einiges deutlicher ausgeprägt.

Mein Problem ist nun, dass ich jedes der Felder identifizieren muss, da diese Felder unterschiedliche Zustände annehmen können. Ich habe kein Problem damit, die Koordinaten der grün eingezeichneten Punkte zu berechnen - also den jeweils linken Eckpunkt der kleinen Rauten.

Das hilft mir aber noch nicht viel, weil mir eine Koordinate 75|36 (z.B.) noch nicht sagt, welches Feld das genau war - dafür bräuchte ich eine Angabe wie 0|0, 0|1, 2|4 etc (wie am Rand der Grafik eingezeichnet). Auch kein Problem, wenn die Grafik ein Rechteck wäre, dann könnte ich die Breite der einzelnen Abschnitte nehmen und mir das ganz einfach ausrechnen.

Also hab ich ein bisschen gesucht und herausgefunden, dass ich auf das parallelogrammförmige Koordinatensystem wohl eine Drehung und eine Scherung (oder reicht eine Scherung evtl sogar?) anwenden muss, und dann hab ich die Koordinaten des gleichen Punktes in einem rechtwinkeligen Koordinatensystem und kann toll weiterrechnen.

Drehung ist ja nicht schwer, dafür brauch ich nur den Winkel und den hab ich. Aber wie geht eine Scherung? Ich hab im Internet leider nichts weiter gefunden als dass ich dafür eine Matrix mit [mm] \pmat{ 1 & sx \\ sy & 1 } [/mm] benötige, aber was sx und was sy ist, hab ich leider nicht herausgefunden.

Scherung haben wir im Unterricht leider auch nie durchgenommen.

Könnt ihr mir da bitte weiterhelfen? Danke schonmal im Voraus :)


Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Koordinatentransformation: Antwort
Status: (Antwort) fertig Status 
Datum: 01:59 So 12.09.2010
Autor: leduart

Hallo
Ganz hab ich dein Problem wohl noch nicht verstanden: in einem schiefwinkligen KOK kann man doch genausoleicht ordnen wie in einem rechtwinkligen, damit es einfacher wird gib etwa demm untersten linken Punkt die Koordinate (0,0) der naechste rechtsliegende ist dann (1,0) der darueberliegende (0,1) die laengen deiner Rauten sind ja wohl alle gleich.
Wenn du das ganze drehtst und scherst kriegst du wohl i,A. "krumme zahlen" als Koordinaten.
(selbsterstellte Bilder kannst du direkt hier hochladen, nur keine moeglicherweise geschuetzten Scans aus Buechern etc.)
etwa so:[Dateianhang nicht öffentlich]



Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                
Bezug
Koordinatentransformation: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:37 So 12.09.2010
Autor: lucana

Hallo,

nein, das geht so leider nicht.

In meiner Software existiert ein gewisser Bereich, in dem die Grafik angezeigt wird. Diesen Bereich kann man sich wie ein Koordinatensystem vorstellen, nur mit leicht gedrehten Achsen (der Nullpunkt ist links oben, waagrecht ist die x-Achse, senkrecht nach unden die y-Achse). Der Punkt 10|10 wäre also z.B. sehr nahe am linken oberen Eck. Also wie der IV. Quadrant in einem normalen Koordinatensystem, nur mit positiver y-Beschriftung.

In diesem Bereich - mit rechtwinkeligem Koordinatensystem - liegt nun meine parallelogrammförmige Grafik.

Nun klickt jemand auf die Grafik. Ich kann aber nur den Klick auf den gesamten Bereich auswerten, erfahre also z.B. etwas wie "Benutzer hat auf Koordinate 57|113 geklickt" - dies ist aber noch immer die Koordinate im rechtwinkeligen Koordinatensystem.

Ich möchte aber gerne wissen, in welchen Bereich (in welche Raute, wenn du dir die Grafik ansiehst) er im parallelogrammförmigen Koordinatensystem gelickt hat. Ob ich in diesem Koordinatensystem jetzt 0|0 links unten oder sonstwohin lege, ist mal egal, der Nullpunkt ist nur mit Garantie nicht identisch mit dem Nullpunkt im rechtwinkeligen Koordinatensystem - für mich am einfachsten wäre aber, wenn der Nullpunkt ebenfalls links oben wäre.

Ich hoffe, es ist ein bisschen klarer?

D.h. also, ich muss (so denke ich es mir zumindest) entweder das rechtwinkelige Koordinatensystem in ein parallelogrammförmiges transformieren oder umgekehrt, damit ich die Position des angeklickten Punktes im jeweils anderen Koordinatensystem feststellen kann. Wobei ich bei der ersten Variante ja dann zwei parallelogrammförmige Koordinatensysteme habe, und wieder nicht ordentlich feststellen kann, in welcher Raute ich nun bin. Dafür brauche ich ein rechtwinkeliges Koordinatensystem, weil ich dann einfach mit größer/kleiner die einzelnen Grenzen überprüfen kann.

Oder gibts da überhaupt ne einfachere Variante, von der ich einfach noch generell nie etwas gehört hab?

lg :)

Bezug
                        
Bezug
Koordinatentransformation: Weitere Gedanken
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:29 Mo 13.09.2010
Autor: lucana

So, ich hab mir jetzt nochmal ne Weile den Kopf darüber zerbrochen, obs nicht doch irgendwie mit Trigonometrie geht, hab aber keine Möglichkeit gefunden.

Ich stelle mir die Vorgehensweise also ca. so vor:

1. Ich verschiebe die Koordinatensysteme so, dass sie einen gemeinsamen Nullpunkt haben. Die Koordinaten des angeklickten Punktes berechne ich natürlich auch so mit, dass er in Bezug auf die Grafik an der gleichen Stelle bleibt. - Kein Problem zum Umsetzen

2. Ich berechne nun die Koordinaten des angeklickten Punktes im parallelogrammförmigen Koordinatensystem, indem ich das rechtwinkelige Koordinatensystem entsprechend verändere.

3. Ich transformiere nun das parallelogrammförmige Koordinatensystem in ein rechtwinkeliges Koordinatensystem. Da ich nun keine Rauten mehr sondern Quadrate habe, kann ich wieder ganz einfach per größer/kleiner-Vergleichen feststellen, in welches Quadrat geklickt wurde. Das muss logischerweise dann auch die Raute sein, in die ursprünglich geklickt wurde.


Funktioniert das so? Kann ich das mittels Scherung bewerkstelligen - also dass der Punkt optisch gesehen auch immer an der gleichen Stelle bleibt und nicht am Ende ne ganz andere Raute herauskommt als am Anfang?

Wie gesagt, wir haben Scherung leider nie durchgenommen und ich weiß nicht wirklich, was damit möglich ist und was nicht :(

Bezug
                        
Bezug
Koordinatentransformation: Antwort
Status: (Antwort) fertig Status 
Datum: 15:52 Mo 13.09.2010
Autor: Marc

Hallo lucana,

> D.h. also, ich muss (so denke ich es mir zumindest)
> entweder das rechtwinkelige Koordinatensystem in ein
> parallelogrammförmiges transformieren oder umgekehrt,
> damit ich die Position des angeklickten Punktes im jeweils
> anderen Koordinatensystem feststellen kann. Wobei ich bei
> der ersten Variante ja dann zwei parallelogrammförmige
> Koordinatensysteme habe, und wieder nicht ordentlich
> feststellen kann, in welcher Raute ich nun bin. Dafür
> brauche ich ein rechtwinkeliges Koordinatensystem, weil ich
> dann einfach mit größer/kleiner die einzelnen Grenzen
> überprüfen kann.
>  
> Oder gibts da überhaupt ne einfachere Variante, von der
> ich einfach noch generell nie etwas gehört hab?

Hier reicht ein einfacher Basiswechsel:

Ich gehe im folgenden davon aus, dass die Ursprünge der beiden Koordinatensystem übereinander liegen.
Dann benötigst du die rechtwinklichen Koordinaten der folgenden beiden Punkte:
Vom (0|0)-Quadrat die rechte obere Ecke: (a|b)
Vom (0|0)-Quadrat die linke untere Ecke: (c|d)

Die Vektoren [mm]\vektor{a\\ b}[/mm] und [mm]\vektor{c\\ d}[/mm] sind die Basisvektoren des neuen (schiefen) Koordinatensystems. Diese schreibst du in die SPalten einer Matrix
[mm]A=\pmat{a & c \\ b & d}[/mm]
Diese Matrix gibt den Basiswechsel des schiefen in das rechtwinklige Koordinatensystem an, also genau die umgekehrte Richtung.
Die inverse Matrix dagegen den Basiswechsel der rechtwinkligen in die schiefen Koordinaten:
[mm]A^{-1}[/mm]
Für die Berechnung von [mm]A^{-1}[/mm] gibt es eine einfache Formel: [mm]A^{-1}=\frac1{ad-bc} \pmat{d & -c \\ -b & a}[/mm]

Nun kannst du ganz einfach einen Punkt (x|y) in rechtwinklichen Koordinaten in schiefe Koordinaten (e|f) umrechnen:

[mm] $\vektor{e\\f}=A^{-1}\cdot \vektor{x\\y}$ [/mm]

Viele Grüße,
Marc


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra - Matrizen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]