Berechnung eines Rechtecks mit 2 ggb. Eckpunkten

Hallo liebe Community,
Ich habe folgendes Problem, über welches ich mir seid gestern den Kopf zerbreche. Ich habe 2 (gegenüberliegende) Eckpunkte eines Rechtecks und muß die restlichen beiden Punkte berechnen. Nun habe ich gestern bereits mit Vektoren rumexperimentiert bin aber irgendwie auf keinen grünen Zweig bzw. keine gescheite Lösung gekommen und wollte daher hier nachfragen ob jemand einen eleganteren Lösungsansatz bzw. eine Idee hat wie ich die fehlenden Punkte berechnen könnte.

Grüße,
Thomas

Hallo,

Ich habe folgendes Problem, über welches ich mir seid gestern
den Kopf zerbreche. Ich habe 2 (gegenüberliegende) Eckpunkte
eines Rechtecks und muß die restlichen beiden Punkte
berechnen.

Das Problem ist unterbestimmt, i.A. kannst du beliebig viele Lösungen dafür finden.
Du brauchst noch eine zusätzliche Bedingung, z.B. dass eine der Rechteckseiten parallel zu einer Axe des Koordinatensystems ist.

Grüße,
Moritz

Hallo liebe Community,
Ich habe folgendes Problem, über welches ich mir seid gestern
den Kopf zerbreche. Ich habe 2 (gegenüberliegende) Eckpunkte
eines Rechtecks und muß die restlichen beiden Punkte
berechnen.

Hallo, Thomas,
in welcher Form sind Dir denn die beiden gegenüberliegenden Eckpunkte vorgegeben? In einem Koordinatensystem nehme ich an, sonst gibt es ja keine Bezugspunkte.
Was heißt „gegenüberliegende“ Eckpunkte?
Liegen sie sich diagonal gegenüber oder wie?
So ist Deine Aufgabenstellung ziemlich unklar.

Gruß:
Manni

Hallo,
Danke für die Antworten.
Die Punkte liegen Diagonal gegenüber und ich befinde mich in einem koordinatem System, ja. Zudem weiß ich nur die normalen Eigenschaften eines Rechtechts, z.B. das alle Winkel 90° haben und das gegenüberliegende Seiten parallel sind.
Vielleicht wäre ein möglicher Lösungsansatz über ein rechtwinkliges Dreieck? Oder eben doch über vektoren die orthogonal zueinander stehen.

Hallo, Thomas,
IMHO verstehe ich Dein Problem nicht ganz.
Da Du ein Koordinatensystem hast, hast Du doch auch die X- und Y- Abstände der Punkte untereinander.
Handelt es sich um ein Rechteck mit 4 rechten Winkeln, hast Du doch damit eigentlich auch alle fehlenden Seiten.
Gruß:
Manni

Hallo,

Danke für die Antworten.

Anscheinend hast du zumindest meine nicht so verstanden, wie ich mir das gewünscht hätte.
Noch mal: In der bisherigen Form gibt es nicht eine Lösung, sondern unendlich viele. D.h. wenn du eine Formel für das zweite Paar an Eckpunkten hast, wird da noch ein Parameter drin sein, den du erst wählen musst, um tatsächlich numerische Werte herauszubekommen.

Vielleicht wäre ein möglicher Lösungsansatz über ein
rechtwinkliges Dreieck?

Das ist gar keine schlechte Idee.
Die Mitte zwischen den beiden gegeben Ortsvektoren A und B, als M=(A+B)/2 bildet den Mittelpunkt eines Kreises mit Radius |A - B|/2. Jeder Punkt auf diesem Kreis, der nicht mit A oder B zusammenfällt, kann als weiteren Eckpunkt C für dein Rechteck wählen (Thaleskreis). Dann musst du nur noch an M spiegeln und erhältst den vierten Punkt.

HTH,
Moritz

Hallo,

Zudem weiß ich nur die normalen
Eigenschaften eines Rechtechts, z.B. das alle Winkel 90° haben
und das gegenüberliegende Seiten parallel sind.

[…]

IMHO verstehe ich Dein Problem nicht ganz.
Da Du ein Koordinatensystem hast, hast Du doch auch die X- und
Y- Abstände der Punkte untereinander.

Die gegenüberliegenden Seiten liegen parallel zueinander. Dass sie parallel zu den Koordinatenachsen verlaufen hat Thomas nie gesagt.

Grüße,
Moritz

Hallo,

Wenn du die Punkte P1(X1, Y1) und P3(X2, Y2) gegeben hast, ist eine Lösung für die fehlenden Punkte P2(X2, Y1) und P4(X2, Y2), eine Kombination aus den anderen beiden. Das ergibt aber nur dann ein Rechteck, wenn X1X2 und Y1Y2.

Gruß
Torsten

Da hat der Fehlerteufel wieder zugeschlagen:

Wenn du die Punkte P1(X1, Y1) und P3(X2, Y2) gegeben hast, ist
eine Lösung für die fehlenden Punkte P2(X2, Y1) und P4(X1,
Y2)
, eine Kombination aus den anderen beiden. Das ergibt aber
nur dann ein Rechteck, wenn X1X2 und Y1Y2.

Gruß
Torsten

Hallo,

Da hat der Fehlerteufel wieder zugeschlagen:

wie auch immer. Aber zum einen ist nicht gesagt, welche Ecken benannt sind, zum zweiten ist nicht gesagt, dass alle Seiten des Rechtecks parallel zu den Koordinatenachsen liegen.
Es hilft nichts: der Fragesteller muss endlich konkreter werden, was für Randbedingungen gelten.
Gruß
loderunner

Hallo,

wie auch immer. Aber zum einen ist nicht gesagt, welche Ecken
benannt sind,

Die beiden Punkte einer Diagonalen denke ich.

zum zweiten ist nicht gesagt, dass alle Seiten
des Rechtecks parallel zu den Koordinatenachsen liegen.

Ich sagte ja, das ist eine Lösung.

Gruß
Torsten

Guten Morgen,
Ich hoffte eigentlich das meine Angaben ausreichend wären. Aber nichts desto trotz, schreibe ich gern noch einmal auf was ich weiß.
Ich habe 2 Eckpunkte eines Rechteckts gegeben. es handelt sich um den linken oberen und rechten unteren Punkt. Die Seiten des Rechtecks sind nicht zwingend parallel zur den Koordinatenachsen. Ich bewege mich in einem 2 dimensionalem Raum. Die beiden Punkte bilden eine der Diagonalen des Rechtecks dessen Länge ich bestimmen kann (Betrag des Richtungsvektors zwischen den beiden Punkten).
Eine Idee von meiner Seite aus war bereits ein rechtwinkliges Dreieck als Lösungsansatz zu verwenden, jedoch weiß ich noch nicht inwiefern mich das meiner Lösung näher bringt. Eine andere Möglichkeit wäre eventuell die Benutzung von Vektoren und einer Rotationsmatrix.

Ich bin momentan selber am knobeln. Leider hatte ich gestern wenig Zeit mich um dieses Problem zu kümmern, Verzeihung falls ich jemanden hab warten lassen, dass war nicht meine Absicht.

Liebe Grüße,
Thomas

*edit* gesucht sind die fehlenden Punkte.

Hallo,

Ich habe 2 Eckpunkte eines Rechteckts gegeben. es handelt sich
um den linken oberen und rechten unteren Punkt. Die Seiten des
Rechtecks sind nicht zwingend parallel zur den
Koordinatenachsen. Ich bewege mich in einem 2 dimensionalem
Raum. Die beiden Punkte bilden eine der Diagonalen des
Rechtecks dessen Länge ich bestimmen kann (Betrag des
Richtungsvektors zwischen den beiden Punkten).
Eine Idee von meiner Seite aus war bereits ein rechtwinkliges
Dreieck als Lösungsansatz zu verwenden, jedoch weiß ich noch
nicht inwiefern mich das meiner Lösung näher bringt. Eine
andere Möglichkeit wäre eventuell die Benutzung von Vektoren
und einer Rotationsmatrix.

wie Dir hier schon mehrfach versucht wurde zu erklären, ist Dein Rechteck durch diese Vorgaben nicht eindeutig bestimmt!

Das kannst Du Dir direkt vor Augen führen, und zwar so.

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
(1) Mal Dir zwei beliebige Rechteck-Diagonal-Eckpunkte A, C auf ein Blatt Papier.
Tipp: Große und präzise Skizzen (spitzer Bleistift, Lineal) sind vorteilhaft.

(2) Konstruiere den Punkt M, der genau zwischen A und C liegt.

(3) Schlag um M einen Kreis mit Radius so, dass A und C auf dem Kreis liegen.

(4) Wähle irgendeinen Punkt B auf dem Kreis (nur A und C sind verboten).

(5) Spiegele den Punkt B an M. Der resultierende Punkt ist D.

(6) Verbinde A, B, C, und D zu einem Viereck.

Dieses Viereck ist immer ein Rechteck, unabhängig von der Wahl von Punkt B im Schritt (4)! Das garantiert der Satz des Thales. Wiederhole (4)(5)(6) also mit anderen Punkten B’, B’’…, und überzeuge Dich davon, dass Du so beliebig viele verschiedene Rechtecke produzieren kannst – mal schmalere, mal quadratähnlichere.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Deine Problemstellung erlaubt also unendliche viele Lösungen, die sich alle innerhalb des Kreises „abspielen“, auf dem A und C diametral gegenüber liegen. Dieser Kreis ist eindeutig bestimmt, das Rechteck nicht.

Das Recheck würde erst durch die Angabe eines dritten Rechteckpunktes B eindeutig festgelegt. Dann ist D eindeutig bestimmt, nämlich durch (fette Buchstaben = Ortsvektoren zu den Punkten A, B…)

d = a + cb

was aus m = ( a + c )/2 = ( b + d )/2 folgt.

Im 3D-Fall wäre es im Wesentlichen dasselbe, an Stelle des Kreises würde hier eine Kugel treten.

Ist es jetzt klargeworden?

Gruß
Martin

Hallo Martin,
Du hast recht, es ist mit diesem Ansatz nicht lösbar. Jedoch habe ich A und B explizit in Form von Koordinaten gegeben. Ich dachte ich hätte das gesagt bzw. meinte dies mit der Aussage das zwei Eckpunkte gegeben seien. Ich habe eine Lösung gefunden unter Verwendung des folgenden Ansatzes.

  • ich bestimme den Richtungsvektor von A nach B (also B - A)
  • Richtungsvektor AB wird mit 0.5 multipliziert (dies kann ich machen da sich die Diagonalen in M halbieren)
    -> entspricht Richtungsvektor von A zum Mittelpunkt M
  • nun wird der Richtungsvektor AM zum Ortsvektor von Punkt a addiert um den Ortsvektor von M zu erhalten, womit der Punkt M bekannt ist
  • nun hat jeder Eckpunkt des Rechtecks den Abstand „Betrag des Richtungsvektor AM“ zu M
  • Ermittlung erster fehlender Punkt:
  • tauschen des x und y wertes des Richtungsvektors AM
  • diesen Richtungsvektor zu M addieren -> Eckpunkt 1
  • diesen Richtungsvektor von M subtrahieren (Vorzeichen umdrehen) -> Eckpunkt 2

… läuft :o)

Trotzdem danke für eure Lösungsvorschläge.

Liebe Grüße,
Thomas

Hallo Thomas,

…es ist mit diesem Ansatz nicht lösbar.

ja, das liegt aber nicht am Ansatz, sondern an der unzureichenden Problem-Input-Information. Zwei Punkte, die vorgegebenermaßen die Diagonal-Eckpunkte eines Rechtecks sein sollen, legen dieses Rechteck nicht eindeutig fest. Vergleichbar damit, wie z. B. ein Punkt eine Gerade auch nicht eindeutig festlegt.

Jedoch habe ich A und B explizit in Form von Koordinaten gegeben.

Das ändert nichts.

  • ich bestimme den Richtungsvektor von A nach B (also B - A)
  • Richtungsvektor AB wird mit 0.5 multipliziert (dies kann ich
    machen da sich die Diagonalen in M halbieren)
    -> entspricht Richtungsvektor von A zum Mittelpunkt M
  • nun wird der Richtungsvektor AM zum Ortsvektor von Punkt a
    addiert um den Ortsvektor von M zu erhalten, womit der Punkt M
    bekannt ist

Oder einfach  m = ( a + b )/2

  • nun hat jeder Eckpunkt des Rechtecks den Abstand „Betrag des
    Richtungsvektor AM“ zu M

Oder einfach Abstand = | ab |/2

  • Ermittlung erster fehlender Punkt:
  • tauschen des x und y wertes des Richtungsvektors AM
  • diesen Richtungsvektor zu M addieren -> Eckpunkt 1
  • diesen Richtungsvektor von M subtrahieren (Vorzeichen
    umdrehen) -> Eckpunkt 2

Damit berechnest Du unter allen möglichen Rechtecken ein ganz spezielles, nämlich dasjenige, welches ein Quadrat ist. Dieses Quadrat ist eindeutig bestimmt.

Hast Du von vornherein nach diesem Quadrat gesucht? Dann hättest Du auch danach fragen sollen, statt nach einem Rechteck. Na, wie auch immer – wenn das Quadrat Dein Problem gelöst hat, ist es ja gut.

Gruß
Martin

ja, das liegt aber nicht am Ansatz, sondern an der
unzureichenden Problem-Input-Information. Zwei Punkte, die
vorgegebenermaßen die Diagonal-Eckpunkte eines Rechtecks sein
sollen, legen dieses Rechteck nicht eindeutig fest.
Vergleichbar damit, wie z. B. ein Punkt
eine Gerade auch nicht eindeutig festlegt.

… mehr Input habe ich leider auch nicht :frowning: Ich weiß auch nur das was ich hier als Info weitergegeben habe.

Damit berechnest Du unter allen möglichen Rechtecken ein ganz
spezielles, nämlich dasjenige, welches ein
Quadrat ist. Dieses Quadrat
ist eindeutig bestimmt.

Hast Du von vornherein nach diesem Quadrat gesucht?

Nein, ich suchte schon nach einem Rechteck und meiner Meinung nach löst der Ansatz den ich habe dieses Problem auch.
Ich habs an mehreren Beispielen ausprobiert bei Rechtecken die wirkliche Rechtecke sind und keine Quadrate. Bei jedem der Beispiele hat es funktioniert und ich habe die Punkte rausbekommen die rauskommen sollten.

Der ausschlaggebende Punkt ist doch, dass sich die Diagonalen in M halbieren und somit jeder Eckpunkt die gleiche Entfernung zu M hat, oder? Hast du es mal skizziert und probiert? Es funktioniert bei mir für alle Rechtecke deren Seiten nicht parallel zu den Koordinatenachsen sind.

Hallo,

Hast du es mal skizziert und probiert?

wie wäre es, wenn Du mal selber ein wenig skizzierst? Und zwar mehrere Rechtecke, die genau zwei gegenüberliegende Eckpunkte gemeinsam haben, aber sonst ein wenig verdreht zueinander liegen.
Du wirst sehen, dass Du mit Deiner Rechnung natürlich jedesmal ein Rechteck bestimmt hast, aber das ist halt immer nur eins von unendliche vielen Möglichkeiten. Weil Deine Aufgabenstellung eben einen Freiheitsgrad zu viel hat.
Gruß
loderunner

Hallo loderunner,
Danke für deinen Beitrag.

wie wäre es, wenn Du mal selber ein wenig skizzierst?

Ja das habe ich, undzwar habe ich z.B. ein Rechteck bestimmt welches schief lag und von links nach rechts verlief und ebenfalls umgekehrt.
Daraus nahm ich mir jeweils 1 gegenüberliegendes Punktepaar und rechnete mit meinem angegebenem Weg und kam genau auf die Eckpunkte, welche ich zuvor im Koordinatensystem eingezeichnet hatte.

Aber, wenn ich 2 feste Punkte auf einem Kreis habe, dann gibt es doch nur genau 2 weitere Punkte, welche anhand des Radius’ alle allgemeingültigen Bedingungen für ein Rechteck erfüllen. Immerhin muss doch jeder Innenwinkel 90° haben. Es geht doch nicht um irgend ein Viereck sondern um ein Rechteck.
Entweder habe ich ein Verständnisproblem oder mich bisher nicht richtig ausgedrückt.

Zudem kann ich doch über den Vektor bzw. Anstieg der Diagonalen die anderen beiden Punkte ermitteln.

PS. Mittlerweile musste ich feststellen das meine Lösung nur für Rechteckte funktioniert die gedreht sind, nicht jedoch für jene, dessen Seiten parallel zu den Koordinatenachsen verlaufen. Aber ist dies der Fall, kann ich die Koordinaten aus den gegebenen Punkten ablesen.

Liebe Grüße,
Thomas

Hast Du von vornherein nach diesem Quadrat gesucht?

Nein, ich suchte schon nach einem Rechteck und meiner Meinung
nach löst der Ansatz den ich habe dieses Problem auch.

Dein Verfahren liefert stets Quadrate.

Ich habs an mehreren Beispielen ausprobiert bei Rechtecken die
wirkliche Rechtecke sind und keine Quadrate. Bei jedem der
Beispiele hat es funktioniert und ich habe die Punkte
rausbekommen die rauskommen sollten.

Verstehe ich nicht. Was für Beispiele? Und was hat wie genau wo funktioniert?

Hast du es mal skizziert und probiert?

Es funktioniert bei mir für alle Rechtecke deren Seiten nicht
parallel zu den Koordinatenachsen sind.

Was ist „es“? Und was für Rechtecke meinst Du? Dein Input sind doch keine Rechtecke, sondern zwei Punkte.

Beschreib das mal verständlicher.