Forum: Offtopic Mathe Aufgabe


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Simon K. (simon1516)


Angehängte Dateien:
  • preview image for 1.PNG
    1.PNG
    65,9 KB, 683 Downloads

Bewertung
-4 lesenswert
nicht lesenswert
Hi,

ich habe eine Mathe Aufgabe vor mir, bei der ich nicht weiterkomme.

Gegeben ist die Skizze im Anhang. Ich habe ein Koordinatensystem mit den 
Punkten P1 - P9 (schwarze Punkte). Man stelle sich eine Kiste mit 
Wasserflaschen  vor. Nun wird die Kiste leicht gedreht und ich erkenne 
dies bereits mit einer Kamera anhand der ersten zwei gemessenen Punkte 
P1 und P2 (grün). Anhand der Kamera-Werte kenne ich auch die Abweichung 
(XY) zw. den Schwarzen und den grünen Punkten. Alle Punkte sind in 
gleichen Abständen und rechtwinklig zueinander angeordnet.

Mein erster Ansatz ist, eine Gerade durch die "neuen" Punkte zu ziehen. 
Da ich zwei Punkte kenne, habe ich alle Informationen hierfür. Ich habe 
also eine Gerade und dadurch auch den Winkel, um den das neue 
Koordinatensystem gedreht ist.

Fragestellung: Wo liegt das "neue" Koordinatensystem, sodass die 
Punktkoordinaten die gleichen bleiben? Die Drehung bekomme ich wie oben 
beschrieben raus. Aber wie bekomme ich die Verschiebung (XY), bezogen 
auf das Ursprungskoordinatensystem raus?

Gruß

Simon

: Bearbeitet durch User
von Thomas F. (igel)


Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Aber wie bekomme ich die Verschiebung (XY), bezogen
> auf das Ursprungskoordinatensystem raus?

Setze den Koordinatenursprung des 1. Koordinatensystems in P1.
Den Ursprung des neuen Systems setzt du in P1' mit gleicher
Winkelausrichtung wie das 1. System.
Der Vektor P1 - P1' ist die Verschiebung.
Der Winkel zwischen den beiden Vektoren P1-P2 und P1'-P2' ist der 
Drehwinkel.

von Christian B. (luckyfu)


Bewertung
0 lesenswert
nicht lesenswert
Du kannst es auch in Polarkoordinaten transformieren, dort den 
Drehwinkel berechnen (und alle anderen Punkte) und danach 
zurücktransformieren. Ich hab so mal einen drehenden Pfeil in Labview 
programmiert... Ist aber schon Äonen her :) Bedingung: 
Koordinatenursprung des Polarsystems muss gleich der Drehachse sein, 
d.h. ggf. musst du noch eine Koordinatenverschiebung im Karthesischen 
vornehmen bevor du ins Polare wandelst.

von Robert K. (Firma: Zombieland) (rko)


Bewertung
0 lesenswert
nicht lesenswert
Drehpunkt der Drehachse bestimmen und dann Koordinaten neu berechnen.

von Simon K. (simon1516)


Bewertung
-2 lesenswert
nicht lesenswert
Thomas F. schrieb:
> Setze den Koordinatenursprung des 1. Koordinatensystems in P1.
> Den Ursprung des neuen Systems setzt du in P1' mit gleicher
> Winkelausrichtung wie das 1. System.
> Der Vektor P1 - P1' ist die Verschiebung.
> Der Winkel zwischen den beiden Vektoren P1-P2 und P1'-P2' ist der
> Drehwinkel.

Das wäre wohl am einfachsten. Geht aber leider nicht, da ich die 
Punktkoordinaten in ihren ursprünglichen Werten beibehalten muss.

von Clemens S. (zoggl)


Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Das wäre wohl am einfachsten. Geht aber leider nicht, da ich die
> Punktkoordinaten in ihren ursprünglichen Werten beibehalten muss.

dann zieh den Offset 0-P1 von deinem neuen Koordinatensystem ab. Dann 
hast du den Ursprung des neuen Systems

sg

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
Das Schwarz läßt sich in das Grün durch reine Drehung überführen, nix 
Verschiebung.  Der Drehpunkt ist der Schnittpunkt der Mittelsenkrechten 
der Strecken P1schwarz/P1grün und P2schwarz/P2grün.

math rulez
Cheers
Detlef

von L. H. (holzkopf)


Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Man stelle sich eine Kiste mit
> Wasserflaschen  vor.

Ja, die schwarzen Punkte bilden insgesamt ein Quadrat und sind 
zueinander ebenfalls regelmäßig quadratisch angeordnet.
Mit einer Flasche im Mittelpunkt des großen Quadrates.

> Nun wird die Kiste leicht gedreht und ich erkenne
> dies bereits mit einer Kamera anhand der ersten zwei gemessenen Punkte
> P1 und P2 (grün). Anhand der Kamera-Werte kenne ich auch die Abweichung
> (XY) zw. den Schwarzen und den grünen Punkten. Alle Punkte sind in
> gleichen Abständen und rechtwinklig zueinander angeordnet.

Zunächst mal braucht man keine Kamera, um sofort erkennen zu können, daß 
Deine grünen Punkte total falsch eingezeicnet sind. ;)
Denn weder durch Drehung des "Flaschenkastens", noch durch Verschiebung 
von ihm wird sich irgendetwas an der ursprünglichen Anordnung der 
Flaschen verändern können!

> Mein erster Ansatz ist, eine Gerade durch die "neuen" Punkte zu ziehen.
> Da ich zwei Punkte kenne, habe ich alle Informationen hierfür. Ich habe
> also eine Gerade und dadurch auch den Winkel, um den das neue
> Koordinatensystem gedreht ist.
>
> Fragestellung: Wo liegt das "neue" Koordinatensystem, sodass die
> Punktkoordinaten die gleichen bleiben? Die Drehung bekomme ich wie oben
> beschrieben raus. Aber wie bekomme ich die Verschiebung (XY), bezogen
> auf das Ursprungskoordinatensystem raus?

Wie kommst Du nur auf die absurde Idee, daß Du ein "neues" 
Koordinatensystem hättest oder bekommen würdest?
Die Ausgangssituation ist die, daß sich der Kasten im dritten Quadranten 
des kartesischen Koordinatensystems befindet.
Und das Koordinatensystem wird ganz gewiß nicht dadurch verändert, daß 
Du den Kasten drehst und/oder verschiebst.

Robert K. schrieb:
> Drehpunkt der Drehachse bestimmen und dann Koordinaten neu berechnen.

Ja, genau so läuft das.
Kommt auch noch eine Verschiebung dazu, muß man die, bezogen auf den 
Drehpunkt und das Koordinatensystem kennen.
Selbst wenn der Drehpunkt zwischen den Flaschen liegen sollte, bleiben 
die Flaschenanordnung und das Bezugs-Koordinatensystem unverändert 
bestehen.

von L. H. (holzkopf)


Bewertung
1 lesenswert
nicht lesenswert
Simon K. schrieb:
> Fragestellung: Wo liegt das "neue" Koordinatensystem, sodass die
> Punktkoordinaten die gleichen bleiben? Die Drehung bekomme ich wie oben
> beschrieben raus. Aber wie bekomme ich die Verschiebung (XY), bezogen
> auf das Ursprungskoordinatensystem raus?

Gestern früh blieb ich Dir noch eine Antwort auf Deine Fragestellung 
schuldig.
Erlaub mir bitte zum Zitierten erst mal eine Klarstellung der Begriffe, 
weil ich den Eindruck habe, daß Du hier etwas durcheinander bringst:
Grundsätzlich ist eine Verschiebung (einer gewissen Anordnung von 
Punkten) etwas ganz anderes als eine Verdrehung von ihnen.

Was Du auch ganz leicht nachvollziehen kannst, wenn Du Dir die schwarzen 
Punkte als separat in ihrem Begrenzungsquadrat auf einem Zettel 
aufgezeichnet vorstellst:
Den Zettel kannst Du im Koordinatensystem verschieben und/oder verdrehen 
wie immer Du das willst.
Absolut nichts wird sich dabei am Koordinatensystem oder der Anordnung 
der Punkte in ihrem Begrenzungsquadrat verändern.

Wenn Du Dir bzgl. des richtigen Einstiegs bzgl. der mathematischen 
Erfassung von derlei unsicher bist, kann ich Dir nur empfehlen, Dir den 
ganzen Sums zunächst mal rein graphisch vorzustellen.
Dann wird Dir nämlich auch z.B. sehr schnell klar, daß Deine grünen 
Punkte gar nicht stimmen/richtig sein können.
Denn so falsch kannst Du die Anordnung der schwarzen Punkte (auf dem 
Zettel) weder verdrehen noch verschieben, daß Du dadurch jemals zu den 
eingezeichneten grünen Punkten kommen könntest. :)

Nebenbei:
Rein graphische Lösungen werden meistens unterschätzt bzw. gar nicht in 
Erwägung gezogen.
Obwohl sie meistens viel älter und mindestens dazu geeignet sind, etwas 
hinreichend genau genug oder zu Kontrollzwecken erfassen zu können.
Ratzfatz kann man z.B. in der Baustatik einen Cremonaplan 
https://de.wikipedia.org/wiki/Cremonaplan hinfetzen oder wie in Deinem 
Fall sowas auf Millimeter-Papier aufzeichnen, um zu angenähert guten 
Ergebnissen (wenn auch nur zu Kontrollzwecken) kommen zu können.

Für den mathematischen und genaueren Einstieg hast Du bereits alle 
Infos, die Du brauchst!
Wobei ich mich hier nur auf die schwarzen Punkte beziehe, weil nur die 
(ungefähr) richtig sind.
Der mathematische Einstieg läuft an sich routinemäßig streng nach Schema 
f.

Maßgeblich ist dabei der tan_alpha aus Bequemlichkeitsgründen.
Und der ist bei Deinen schwarzen Punkten in der Horizontalen = 0, und in 
der Vertikalen = unendlich.

Daraus ergibt sich, daß Du in der Horizontalen drei parallele Geraden in 
der Punkteanordnung zur x-Achse und in der Vertikalen ebenso drei 
parallele Geraden zur y-Achse hast.

Wo genau die Schnittpunkte jeweils mit den Koordinatenachsen liegen, 
kannst Du aus den Geradengleichungen berechnen.

Drehst Du nun das ganze System, verändert sich dadurch natürlich auch 
der tan_alpha, der normalerweise die Steigung von Geraden kennzeichnet.
Eine Kamera hilft Dir dabei rein gar nichts:
Wenn Du das exakt berechnen willst, brauchst Du den genauen 
Verdrehungs-Winkel.
Aus dem könntest Du dann die veränderten Geradengleichungen berechnen, 
die unverändert parallel zueinander sind.
Das brauchst Du aber gar nicht zu tun, weil Du ohnehin weißt, daß dies 
gar nicht anders sein kann.
Es reicht deshalb auch völlig aus, wenn Du nur eine einzige Gerade 
berechnest und wo auf ihr dann ein willkürlich herausgegriffener von den 
drei Punkten liegt, die auf ihr liegen MÜSSEN.

Um auf den frei verschiebbaren Zettel mit den schwarzen Punkten zurück 
zu kommen, die deckungsgleich mit den ursprünglichen Punkten sind:
Da drückst Du irgendwo eine Nadel in den Zettel, welche der Drehpunkt 
sein soll, dessen Koordinaten Du natürlich auch kennen mußt.

Und dann nimmst Du den Punkt mit dem größten Abstand zum Drehpunkt her.
Merkst Dir, auf welcher Geraden der Punkt liegt, und Du kannst 
anschließend die Distanz zwischen dem Drehpunkt und diesem Punkt 
entweder messen oder berechen.
Diese Distanz ist dann der r des Kreises, welcher die Gerade, auf dem 
der ausgewählte Punkt liegen MUSS, schneidet.
Wenn Du dessen Koordinaten kennst, kannst Du daraus alle anderen 
Punktkoordinaten berechnen.

Wenn Du das gesamte Punkt-System nur (ohne Drehung) verschiebst, mußt Du 
auch dort dann die Koordinaten des Drehpunktes kennen, um daraus die 
veränderten Punktkoordinaten berechnen zu können, wenn Du anschließend 
das System auch noch verdrehst.

Du kannst das aber auch so tun als ob Du das ursprüngliche System erst 
mal drehst und danach verschiebst, was ja nur bedeutet, daß Du 
"Verschiebungs-Veränderungen" an den Punktkoordinaten vornehmen mußt.
Genauer gesagt nur an dem einen ausgewählten Punkt aus dem Du alle 
anderen berechnen kannst.
Im Endeffekt ist es völlig egal, wie Du das machst.
Denn das Ergebnis kann nicht unterschiedlich sein.
Auf Richtigkeit kontrollieren kannst Du es allemal mit einer ganz 
simplen Graphik. :D

von Franziska N. (bastler2004)


Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Nun wird die Kiste leicht gedreht

So so. Und geschrumpft ist sie auch noch?
Oder wieso liegen nun 8 der grünen Punkte innerhalb des durch die 
schwarzen Punkte definierten Areals?

Franziska

von Johannes S. (demofreak)


Bewertung
0 lesenswert
nicht lesenswert
Franziska N. schrieb:
> So so. Und geschrumpft ist sie auch noch?
> Oder wieso liegen nun 8 der grünen Punkte innerhalb des durch die
> schwarzen Punkte definierten Areals?

Wenn sie nicht nur entlang der orthogonal durch die Zeichnungsebene 
gehenden Achse gedreht wird, sondern "im Raum" auch um die beiden 
anderen Achsen, dann entsteht diese Projektion.

von Martin J. (martiko)


Bewertung
-1 lesenswert
nicht lesenswert
Das sind ja teils abenteuerliche Ideen hier... :-)

Ich kann Dir folgende Lösung vorschlagen.

Die Kamera liefert Dir 9 Punkte (x[i], y[i]) in kartesischen 
Koordinaten.
Der Algorithmus, mit dem Du diese Rohdaten verarbeitest, besteht aus 
vier Schritten:

(1) Summiere in einer Schleife 1...9 die x-Koordinaten aller 9 Punkte in 
einer Variablen "sum" auf. Bilde am Schluss

mx = sum/9

(2) Verfahre analog mit den y-Koordinaten der 9 Punkte. Bilde am Schluss

my = sum/9

Der Punkt (mx, my) ist der Mittelpunkt M der Kiste.

(3) Berechne in einer weiteren Schleife zu allen 9 Punkten via 
Pythagoras ihren Abstand zu M und summiere diese Abstände in einer 
Variablen "sum" auf. Bilde am Schluss

f = sum/(4*(1 + sqrt(2)))

f ist der Streckfaktor.

(3) Berechne in einer dritten und letzten Schleife zu allen 9 Punkten 
ihre Distanz zu M und prüfe jeweils, ob diese größer als 1.2·f ist. Dies 
trifft für genau 4 Punkte zu, nämlich die Quadrateckpunkte. Berechne 
dann jeweils den Verdrehwinkel des betreffenden Differenzvektors mit der 
Funktion "atan2" (Näheres zu dieser Funktion siehe Wikipedia). Summiere 
die vier Winkel in der Variablen "sum" auf. Bilde am Schluss

phi = sum/4

phi ist der Verdrehwinkel der Kiste.

Damit kennst Du alle Parameter der Transformation (mx, my, f, phi). 
Interessant ist, dass man jeden durch eine Mittelwertbildung berechnen 
kann.

In dem unverschobenen, unverdrehten und ungestreckten Koordinatensystem 
haben die Punkte die Koordinaten

(c·(x[i] - mx)/f - s·(y[i] - my)/f, s·(x[i] - mx)/f + c·(y[i] - my)/f)

wobei c = cos(-phi) und s = sin(-phi) abkürzen.

Die 9 Punkte liegen bzgl. dieses Koordinatensystems in einem Quadrat der 
Seitenlänge 2, das im Ursprung zentriert ist. Im Idealfall (exakte 
Ausrichtung der Flaschen in der Kiste und perfekte Kamera) haben die 
Punktekoordinaten in diesem System alle die Werte -1/0/+1; im realen 
Fall werden sie entsprechend etwas davon abweichen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.