| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
sunshine270882
Anmeldungsdatum: 23.02.2005 Beiträge: 3 Wohnort: bei Hamburg
|
Verfasst am: 23. Feb 2005 18:16 Titel: 4 Punkte bilden ein Quadrat? (J/N) |
|
|
Hallo!
ich habe gerade ein Brett vorm Kopf
Ich möchte rechnerisch überprüfen, ob 4 gegebene Punkte im 2-dimensionalen Raum ein Quadrat bilden.
http://stud.fh-wedel.de/~mi5718/Quadrate.jpg
Die Quadrate können entweder 'normal' in einem Feld liegen (Quadrat A und B) oder diagonal um 45° gedreht (Quadrat C) oder schräg im beliebigen Winkel gedreht (Quadrat D).
Dafür habe ich die Koordinaten der Beispielquadrate aufgeschrieben und in eine andere Schreibweise gebracht, weil ich das ganze später in einem Delphiprogramm berechnen lassen möchte.
Bsp.: B hat die Koordinaten LO(3,1)= 0301, RO(3,4)=0304, LU(6,1)=0601 und RU(6,4)=0604. (Legende: L = links, R = rechts, O = oben, U = unten)
Ganzzahlige Division (in Delphi):
0301 div 100 = 3 und 0304 div 100 = 3
0601 div 100 = 6 und 0604 div 100 = 6
Damit habe ich überprüft, dass LO und RO eine Gerade parallel zum Spielfeld bilden und LU und RU ebenso.
Dann muss ich noch überprüfen, ob die Geraden durch LO und LU bzw RO und RU ebenfalls parallel zum Spielfeld liegen.
Ganzzahlige Rest-Division (in Delphi):
0301 mod 100 = 1 und 0601 mod 100 = 1
0304 mod 100 = 4 und 0604 mod 100 = 4
=>meine Bedingungen für ein Quadrat sind also alle erfüllt.
Oder habe ich etwas vergessen? Übersehen? Geht das einfacher?
Für die gedrehten Quadrate (und auch die 'normalen'):
Ich bilde nun erst mal Vektoren (die Seiten des Quadrates) aus den Punkten und bilde davon die Beträge.
Wenn die Beträge alle gleich sind, dann prüfe ich, ob der Winkel zwischen 2 Vektoren 90° beträgt, in dem ich die 2 Vektoren multipliziere und das Ergebnis gleich 0 ist, weil cos(0) = 90° ergibt.
Abgekürzt von cos alpha = (a*b)/(axb); ich muss ja nur wissen, ob der Zähler 0 ergibt, das Kreuzprodukt im Nenner interessiert nicht.
Vielleicht hat ja jemand einen Tipp oder Lösungsansatz für mich?
Ich habe auf dem matheboard.de zwar schon einen Tipp bekommen, aber der hat mich nicht weiter gebracht
http://stud.fh-wedel.de/~mi5718/GitterpunktQuadrat.gif
Die Seitenverhältnisse a und b hab ich gesehen, aber kann damit trotzdem nichts anfangen
Bitte keine Komplettlösung Möchte mich selbst damit noch ein wenig rumschlagen...
Freu mich auf erleuchtende Antworten
Liebe Grüße, Sunny |
|
| Nach oben |
|
 |
|
|
Pr0g

Anmeldungsdatum: 15.02.2005 Beiträge: 90 Wohnort: Düsseldorf
|
Verfasst am: 23. Feb 2005 18:35 Titel: |
|
|
Zur Überprüfung von B:
Warum wandelst du die Koodinaten erst in eine Ganzzahlen um und überprüfst diese dann durch (Rest-) Division? Du könntest doch auch direkt die Koordinaten mit einander vergleichen, also für LO - RO / LU - RU die Y Werte vegleichen, für LO - LU / RO - RU die X Werte.
MfG Pr0g _________________
http://webcraft.org/button_ani.gif http://ohs.pr0g.net/button_ani.gif |
|
| Nach oben |
|
 |
kurellajunior Administrator

Anmeldungsdatum: 14.02.2005 Beiträge: 214 Wohnort: Berlin-Pankow
|
Verfasst am: 23. Feb 2005 18:37 Titel: |
|
|
Hallo Sunny,
schön, dass Du meiner Bitte entsprochen hast und hierher gefunden hast. Sogar den richtigen Thread! Daher Willkommen!
Überlegung 1: was passiert mit dem umschließenden Viereck, wenn das Originalviereck kein Quadrat ist?
Überlegung 2: ein "gerades" Rechteck lässt sich doch ganz einfach auf Quadrat überprüfen...
Hilft das? dann schreib Deinen Ansatz ruhig auf, damit ihn alle lesen können
Jan _________________
 |
|
| Nach oben |
|
 |
flixgott Gast
|
Verfasst am: 27. Apr 2005 17:35 Titel: |
|
|
| es ist doch nicht schwer (mit pythgoras) den abstand zwischen zwei punkten zu bestimmen.. damit kannst du doch auch den abstand zwischen allen paaren die du mit den vier punkten bilden kannst (6stück!), ausrechen! dann kannst du doch auch überprüfen ob es ein quadrat ist.. |
|
| Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum nicht herunterladen
|
|