AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Überprüfen ob ein rectangle ein anderes überlappt
Thema durchsuchen
Ansicht
Themen-Optionen

Überprüfen ob ein rectangle ein anderes überlappt

Ein Thema von fox67 · begonnen am 12. Jan 2011 · letzter Beitrag vom 16. Jan 2011
Antwort Antwort
Seite 4 von 4   « Erste     234   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#31

AW: Überprüfen ob ein rectangle ein anderes überlappt

  Alt 14. Jan 2011, 11:56
Die Overlap-Funktion definiert Überlappung dadurch, dass das eine Rechteck nicht komplett rechts, links, oben oder unten des anderen steht. Das sollte schon korrekt sein IMO.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#32

AW: Überprüfen ob ein rectangle ein anderes überlappt

  Alt 14. Jan 2011, 11:59
@Memnarch:
Wenn du alles umkehrst, also aus AND ein OR machst und aus "Größer als" ein "Kleiner gleich" usw., und dann vor die ganzen Sache noch ein NOT stellst, hast du exakt die gleiche Abfrage geschaffen
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.

Geändert von Deep-Sea (14. Jan 2011 um 12:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#33

AW: Überprüfen ob ein rectangle ein anderes überlappt

  Alt 14. Jan 2011, 22:59
Aha..hatte die funktion so gelesen als ob sie TRUE zurückgibt wen alle 4 ecken von rechteck a in rechteck b sin
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#34

AW: Überprüfen ob ein rectangle ein anderes überlappt

  Alt 16. Jan 2011, 17:55
Vielleicht liegt es daran, daß die einen von völliger Abdeckung eines Rechteckes durch ein anderes reden, andere bereits eine Teilabdeckung meinen. Wenn's ein Spiel mit Kollisionen ist, sollte man besser auf ein Berühren testen.

Konkret müssen 4 Fälle geprüft werden:

1) Stößt die Oberkante von Objekt A an die Unterkante von Objekt B, ...
wenn die linke Kante von A links von der rechten Kante von B liegt UND
rechts von der linken Kante von B ODER die rechte Kante von A rechts
von der linken Kante von B UND links von der rechten Kante von B liegt,
dann besteht die Möglichkeit, wenn Oberkante A gleich oder höher Unterkante
B UND Oberkante A gleich oder niedriger Oberkante B liegt.

2) Stößt die Unterkante von Objekt A an die Oberkante von Objekt B, ...
wenn die linke Kante von A links von der rechten Kante von B liegt UND
rechts von der linken Kante von B ODER die rechte Kante von A rechts
von der linken Kante von B UND links von der rechten Kante von B liegt,
dann besteht die Möglichkeit, wenn Unterkante A gleich oder niedriger
Oberkante B UND Oberkante A gleich oder höher Oberkante B liegt.

3) Stößt die linke Kante von Objekt A an die rechte Kante von Objekt B, ...
wenn die obere Kante von A oberhalb von der unteren Kante von B liegt UND
unterhalb der oberen Kante von B ODER die untere Kante von A unterhalb
der oberen Kante von B UND oberhalb der unteren Kante von B liegt,
dann besteht die Möglichkeit, wenn linke Kante A gleich oder linker
von rechter Kante B UND linke Kante A gleich oder rechter linker
Kante B liegt.

4) Stößt die rechte Kante von Objekt A an die linke Kante von Objekt B, ...
wenn die obere Kante von A oberhalb von der unteren Kante von B liegt UND
unterhalb der oberen Kante von B ODER die untere Kante von A unterhalb
der oberen Kante von B UND oberhalb der unteren Kante von B liegt,
dann besteht die Möglichkeit, wenn rechte Kante A gleich oder rechter
von linker Kante B UND rechte Kante A gleich oder linker rechter
Kante B liegt.

MfG mz23
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#35

AW: Überprüfen ob ein rectangle ein anderes überlappt

  Alt 16. Jan 2011, 18:14
Und damit man sich darüber nicht den Kopf zerbrechen muss, kann man auf IntersectRect zurückgreifen. Somit wären wir wieder am Anfang des Threads.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz