Mathe-Problem
Verfasst: 10.02.2019 11:43:59
Bei der ZusiDisplay-Integration tauchte jetzt ein mathematisches Problem auf, das mit etwas Kopfzerbrechen bereitet. Vielleicht hat ja jemand einen Geistesblitz.
Für das irgendwie schief im Raum stehende Viereck des Displays im Führerstand kann man nicht einfach 2 Dreiecke nehmen, sondern braucht ein etwas feineres Gitter. Es geht um die Berechnung der Gitterkoordinaten und umgekehrt darum, einen Mausklick in ZusiDisplay-Koordinaten zurückzurechnen, damit ZusiDisplay weiß, wo man hingeklickt hat.
Also in allgemeiner Form sowas wie die Transformation im folgenden Bild, etwas herausgehoben das Display-Viereck im u/v-System.
So eine Transformation machen die Gleichungen 1 und 2. Wenn ich die Parameter a und b bestimmt habe, liefert mir die Gleichung also zu einem Mausklick im x/y-System die u/v-Koordinaten, die ZusiDisplay braucht.
Zu Berechnung der Koordinaten des Meshes hab ich die Formeln 1und 2 nach x und y aufgelöst.
Das Ganze funktioniert einwandfrei in beide Richtungen, solange das Viereck irgendwie schief ist.
Baut man es aber schön rechtwinklig ein, kollabiert die Formel. Man sieht es gut am trivialen Fall, dass beide Systeme identisch sind, also x=u und y=v.
Es ergeben sich a1=1 und b2=1 und der die restlichen Parameter zu 0.
Geht man damit in die Gleichungen für x und y, ist der Nenner jeweils 0, der Zähler auch. Richtig wäre aber das Ergebnis x=u und y=v.
Nun liegt hier ganz augenscheinlich keine Singularität oder eine entartete Geometrie oder irgendsowas vor, wo man das erwarten würde. Dieses mathematische Verhalten erscheint mir sehr ungewöhnlich, wenn die "schwierigeren Fälle" durchlaufen, dann bekommt man die einfachen Fälle ja normalerweise "kostenlos dazu". Ich sehe auch keinen Ansatz, die Formeln so umzustellen, dass keine oder andere Nenner vorkommen. Hat jemand eine Idee, wo hier was schief läuft?
Carsten
Für das irgendwie schief im Raum stehende Viereck des Displays im Führerstand kann man nicht einfach 2 Dreiecke nehmen, sondern braucht ein etwas feineres Gitter. Es geht um die Berechnung der Gitterkoordinaten und umgekehrt darum, einen Mausklick in ZusiDisplay-Koordinaten zurückzurechnen, damit ZusiDisplay weiß, wo man hingeklickt hat.
Also in allgemeiner Form sowas wie die Transformation im folgenden Bild, etwas herausgehoben das Display-Viereck im u/v-System.
So eine Transformation machen die Gleichungen 1 und 2. Wenn ich die Parameter a und b bestimmt habe, liefert mir die Gleichung also zu einem Mausklick im x/y-System die u/v-Koordinaten, die ZusiDisplay braucht.
Zu Berechnung der Koordinaten des Meshes hab ich die Formeln 1und 2 nach x und y aufgelöst.
Das Ganze funktioniert einwandfrei in beide Richtungen, solange das Viereck irgendwie schief ist.
Baut man es aber schön rechtwinklig ein, kollabiert die Formel. Man sieht es gut am trivialen Fall, dass beide Systeme identisch sind, also x=u und y=v.
Es ergeben sich a1=1 und b2=1 und der die restlichen Parameter zu 0.
Geht man damit in die Gleichungen für x und y, ist der Nenner jeweils 0, der Zähler auch. Richtig wäre aber das Ergebnis x=u und y=v.
Nun liegt hier ganz augenscheinlich keine Singularität oder eine entartete Geometrie oder irgendsowas vor, wo man das erwarten würde. Dieses mathematische Verhalten erscheint mir sehr ungewöhnlich, wenn die "schwierigeren Fälle" durchlaufen, dann bekommt man die einfachen Fälle ja normalerweise "kostenlos dazu". Ich sehe auch keinen Ansatz, die Formeln so umzustellen, dass keine oder andere Nenner vorkommen. Hat jemand eine Idee, wo hier was schief läuft?
Carsten