AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Zwischen-den-Jahren-Kopfnuss: Hilfe zum Algorithmus
Thema durchsuchen
Ansicht
Themen-Optionen

Zwischen-den-Jahren-Kopfnuss: Hilfe zum Algorithmus

Ein Thema von Jazzman_Marburg · begonnen am 27. Dez 2011 · letzter Beitrag vom 31. Dez 2011
 
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

Zwischen-den-Jahren-Kopfnuss: Hilfe zum Algorithmus

  Alt 27. Dez 2011, 13:39
Hallo Gemeinde!
Frohe Feiertage und so

Vielleicht hat ja jemand Zeit und Lust neben Lebkuchen und Gans beim folgendem Problemchen behilflich zu sein:
Ich habe da einen feinen Algorithmus, der mir ein Rechteck (Grundrechteck) in beliebig viele kleinere Rechtecke (ohne Überlappung -- "zero waste") unterteilt (mit Beachtung von Seiten- und Flächen Restriktionen). Das funktionert super und das Ergebnis sieht nun wie ein Grundriss einer Wohnung aus. Mein Problem: Ich hätte gern Türen zwischen benachbarten Räumen. Die anhängende PNG-Datei macht das Problem hoffentlich klarer.
Ich habe also nach der Raum-Generierung ein Rechteck-Array vom Typ TRechteck, der für jeden Raum folgende Angaben enthält:
- Fläche, Länge, Breite, XPos und YPos
Nun wird es schwierig: Ich denke, ich müßte nun durch das Rechteck-Array laufen, um benachbarte Räume zu identifizieren. Ich vermute in der daraus folgenden zweidimensionalen "Ist-Nachbar-von-Matrix" würde dann für jede Raumkobination stehen:
- 1 (Nachbar Nordwand) oder
- 2 (Nachbar Westwand) oder
... etc. stehen.
Anschließend würde ich durch diese Matrix laufen und die Türen entsprechend setzen.

Ich bin mir aber nicht sicher ob das überhaupt eine gute Idee ist (mir verbiegt sich das Hirn bei der Vorstellung: Ich müßte dann ja die Räume nach iregendeinem Kriterium sortieren, die Lage der Tür ist ja wichtig, sonst setze ich die Tür für einen Raum mittig in seiner vertikalen Wand, aber dann kommt nocht ein kleiner Nachbarraum und dann sitzt doch die Tür an falscher Stelle oder so). Naja, und Außenwände sollten garkeine Tür haben.

Falls das ich das Problem auch nur Ansatzweise klar geschildert habe, würde ich mich über Kommentare/Ideen oder gar Lösungen sehr freuen.

Vielen Dank vorab
Gruß
Jazzman
Angehängte Grafiken
Dateityp: png DoorProblem.png (7,7 KB, 82x aufgerufen)
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
 


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 00:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz