Koordinaten!!!
-
Hallo,
hab mal ein Problem, wobei ich dringend um Hilfe bitte!
Will eine Formel erstellen, die aus viele Koordinaten immer erkennt welche von denen ein Rechteck bilden könnten.
Hab irgendwie an der Formel von Geraden gedacht,also da gilt ja, dass
wenn man z.B. vier Koordinaten (x1,y1),(x2,y2),(x3,y3),(x4,y4)und (y2-y1)/(x2-x1)=(y4-y3)/(x4-x3) dann ist die gerade die aus den Punkten (x1,y1) und (x2,y2) besteht parallel zu der gerade die aus den Punkten (x3,y3) und (x4,y4) besteht .
und dass wenn (y2-y1)/(x2-x1)*(y4-y3)/(x4-x3)=-1 dann ist die gerade die aus den Punkten (x1,y1) und (x2,y2) besteht senkrecht zu der gerade die aus den Punkten (x3,y3) und (x4,y4) besteht .
Dann dachte ich dass ein Rechteck aus vier Parallelen Geraden und aus vier senkrechten Geraden besteht.
Wie kann ich jetzt irgendwie weitermachen, also irgendwie daraus eine Formel bilden, um mit der ein Programm zu erstellen in C++ dass die von vielen Koordinaten paar rausnimmt, die ein Rechteck bilden???
Bin für jede Hilde dankbar!!!
-
Mit Skalar- und Vektorprodukt würde ich da rangehen.
-
rechteck = viereck bestehend aus rechten winkel
also musst du an den eckpunkten den winkel feststellen, liegt einer nicht bei 90° -> kein rechteck
um umständliche sinus/cosinus funktionen zu umgehen kann man auch den satz des pythagoras nutzen
a=wurzel((x1-x2)²+(y1-y2)²)
b=wurzel((x2-x3)²+(y2-y3)²)
c=wurzel((x3-x4)²+(y3-y4)²)
d=wurzel((x4-x1)²+(y4-y1)²)
ac=wurzel((x1-x3)²+(y1-y3)²)
bd=wurzel((x2-x4)²+(y2-y4)²)
wenn dann folgendes zutrifft:
a²+b² = ac²
b²+c² = bd²
c²+d² = ac²
d²+a² = bd²ist es ein rechteck.
Probiers am besten mal auf nem blat aus .. da fällt es dir auf xD
hoffe das es dich näher bringt GL!
-
DANKE FÜR EURE ANTWORTE!!!
DAS THEMA HAT SICH ABER SCHON ERLEDIGT!TROTZDEM DANKE!