AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Kollisionsberechnung von nichtrechtwinkligen QUADS
Thema durchsuchen
Ansicht
Themen-Optionen

Kollisionsberechnung von nichtrechtwinkligen QUADS

Ein Thema von Green · begonnen am 27. Feb 2008 · letzter Beitrag vom 3. Mär 2008
Antwort Antwort
Green

Registriert seit: 11. Jun 2006
156 Beiträge
 
#1

Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 27. Feb 2008, 22:28
SO ich habe eine mehr oder weniger konkrete Frage:

Und zwar habe ich eine Kollisionsberechnung geschrieben für 2 Rechtecke, also prüfen ob zwei Rechtecke ineinanderliegen (X/Y Breite Höhe)

jetzt ist mein Problem: Wie berechne ich die Kollision von nicht Rechtiwnkligen Flächen (im allgemeinen QUADS)?
also meinetwegen

A1(0,0)
A2(1,0)
A3(2,1)
A4(0,1)

und

B1(3,0)
B2(5,0)
B3(5,1)
B4(4,1)

??
Ich bin momentan total überfragt...
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 27. Feb 2008, 22:31
Mein erster Ansatz wäre die Schnittpunkte von den Seiten zu berechnen.

Edit: Ich meine, wenn man jede Seite des einen Viereckes mit jeder Seite des anderen Viereckes nimmt. Dann wüde ich schauen, ob etwas Sinnvolles dabei herauskommt und der Ansatz weiter verfolgt werden kann.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Green

Registriert seit: 11. Jun 2006
156 Beiträge
 
#3

Re: Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 27. Feb 2008, 22:36
Hm ich glaube damit gewinne ich nix:

wenn ich jetzt was weiss ich A1A2 und B1B2 Schneiden lasse, dann berechne ich den Schnittpunkt und dann muss ich prüfen ob dieser innerhalb des QUADS liegen.
Gleiches Problem wie vorher...

Weil es reicht ja zu wissen das keine der Ecken A1-4 sich in B befindet, und keine der Ecken B1-4 sich in A befindet um eine Kollision auszuschliessen...
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 27. Feb 2008, 22:42
Ja klar, das wäre nur ein min-max-Vergleich um zu wissen, ob ein Geradenschnittpunkt auch ein Streckenschnittpunkt ist.

Wieviel willst du eigentlich dann noch wissen?
Irgendwo hatte ich auch mal einen Algorithmus gesehen um zu prüfen, ob ein Punkt in einer Fläche ist.

btw: Windows hat diese ganzen Algorithmen mit Flächen auch implementiert. Musst nur die Regions nutzen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Green

Registriert seit: 11. Jun 2006
156 Beiträge
 
#5

Re: Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 27. Feb 2008, 22:44
Zitat von sirius:
btw: Windows hat diese ganzen Algorithmen mit Flächen auch implementiert. Musst nur die Regions nutzen.
Regions? noch nie gehört...
wie geht das? geht das auch mit OpenGL oder wie funktionieren die??
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 27. Feb 2008, 22:55
Suche mal im Win-SDK nach CreateRegion (CreatePolygonRgn) und CombineRegion (CombineRGN)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Green

Registriert seit: 11. Jun 2006
156 Beiträge
 
#7

Re: Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 27. Feb 2008, 23:13
Zitat von sirius:
Suche mal im Win-SDK nach CreateRegion (CreatePolygonRgn) und CombineRegion (CombineRGN)
Win-SDK? was is das denn?
jetz bin ich föllig überfragt...
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 28. Feb 2008, 09:02
Das ist du in deiner Hilfe drin. Es ist halt nur nicht der Delphi-Teil der Hilfe, sondern der Windows-Teil. Die funktionen sind ja auch nicht von Delphi sondern von Windows.

Du kannst das ganze dir auch online anschauen. vielleicht findest du ja auch noch schönere Funktionen, wie "Point in Region"
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Kollisionsberechnung von nichtrechtwinkligen QUADS

  Alt 3. Mär 2008, 12:16
Es gibt Testverfahren die Aussagen darüber treffen, ob ein Punkt in einem Polygon liegt oder nicht (hier in der DP gabs da einzwei mal was zu). Wenn du nun für jeden Punkt eines Polygons ausschließen kannst, dass er nicht innerhalb des 2. liegt und umgekehrt, hast du gewonnen. Sogar für n-Ecke zu gebrauchen.

Hmm, Edith flüstert mir gerade, dass sie sich dennoch überschneiden könnten. Im Zweifel wäre dann wirklich das sinnvollste, wenn man alle Strecken miteinander schneidet, oder mit Regions dran geht.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:26 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