AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Überschneidung zweier Quadrate

Ein Thema von implementation · begonnen am 26. Okt 2010
Antwort Antwort
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#1

Überschneidung zweier Quadrate

  Alt 26. Okt 2010, 18:25
Ich habe nun mehrere Quadrate. Diese Quadrate müssen jedoch nicht immer gleich weit gedreht sein.
So ist z.B. eines um 30° gedreht, ein weiteres nicht.
Von jedem dieser Quadrate habe ich vorliegen:
a) Den Drehwinkel.
b) Den Mittelpunkt / Schnittpunkt der Diagonalen.
c) Die Eckpunkte.
d) Eine System.Drawing.Region, die den Bereich enthält.

Ermitteln möchte ich, ob sich zwei der Quadrate überschneiden.

Ich hatte mir gedacht, ich könnte die Regionen ja einfach mit Region.Intersect() vergleichen.
Jedoch funktioniert das nicht so ganz.
Meine kleine Testroutine soll einen Dialog ausspucken, wenn die Schnittregion leer ist:
Code:
System.Drawing.Region reg = Quadrat1.Region.Clone();
    reg.Intersect(Quadrat2.Region);
    if (!reg.IsEmpty(CreateGraphics()))
        MessageBox.Show("Intersect!");
Die MessageBox wird niemals angezeigt.

Was mache ich falsch?
Was könnte ich ändern?
Gibt es noch andere Lösungswege?

[edit]
Seltsam. Wenn ich die Region-Eigenschaft direkt verwende, klappt es sogar
Nur, wenn ich sie vorher klone, gibt es Probleme.
Das soll mal einer verstehen ...

Geändert von implementation (26. Okt 2010 um 18:44 Uhr)
  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 01:24 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