AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Einlesen einer Position im Raum und grafische Ausgabe
Thema durchsuchen
Ansicht
Themen-Optionen

Einlesen einer Position im Raum und grafische Ausgabe

Ein Thema von cook · begonnen am 24. Nov 2003 · letzter Beitrag vom 24. Nov 2003
Antwort Antwort
cook

Registriert seit: 4. Nov 2003
Ort: Ilmenau
37 Beiträge
 
Delphi 6 Enterprise
 
#1

Einlesen einer Position im Raum und grafische Ausgabe

  Alt 24. Nov 2003, 18:16
Folgendes:
Also ich habe einen Raum in den mehrere Maschinen gestellt werden sollen. Nachdem Breite und Länge bekannt gemacht wurden soll auch die Position im Raum eingegeben werden. Mir fällt allerdings nichts ein wie ich das machen könnte. Der Raum kann max. 500m breit und lang sein. Jetzt soll der User bestimmen wo die Maschine hin kommt. Dabei muss natürlich berücksichtigt werden das sich die Maschinen nicht überschneiden und auch nebendeinander passen, also nicht größer als der Raum sind.
Dachte erst ich mache das Grafisch, indem ich einen Raum zeichne, dort dann eine Maschine einfüge und diese mit scrollbars verschieben kann. Aber irgendwie komm ich da nicht weiter. Dann dachte ich daran aus einer ComboBox voreingestellte Meterwerte auswählen zu lassen. Allerdings ist das bei einer Raumbreite von 500 Metern ziemlich unschön.
Hat irgendwer ne Idee oder vielleicht ein Beispielprogi wie ich das machen könnte?

THX 4 every hint
mfg cook
  Mit Zitat antworten Zitat
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#2

Re: Einlesen einer Position im Raum und grafische Ausgabe

  Alt 24. Nov 2003, 18:28
Hallo

kannst du dein Problem etwas genauer beschreiben? Meinst du mit "Raum" ein Zimmer, in zwei Dimensionen (etwa in Vogelperspektive)? Sollen dir Maschinen stufenlos verschiebbar sein oder auf ein Raster festgelegt sein?

Grüße
Seniman
  Mit Zitat antworten Zitat
cook

Registriert seit: 4. Nov 2003
Ort: Ilmenau
37 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Einlesen einer Position im Raum und grafische Ausgabe

  Alt 24. Nov 2003, 18:46
Genau... ein Zimmer aus Vogelperspektive. Also es gibt nur eine X- und eine Y- Koordinate.
Stufenlos verschiebbar kann man schon sagen. Also eine Maschine muss mind. 1 Meter von einer Wand und mind. 2 Meter von einer anderen Maschine entfernt stehen. Ansonsten kann sie überall im Raum stehen. Dabei wäre die Angabe meinetwegen sowas wie: 2,60m von der oberen Wand und 5,30m von der linken Wand. Bei einer Maschine die 1x1m ist würde somit die nächste Maschine max bei 5,60m von oben oder bei 8,30m von links stehen können.

Reicht die Beschreibung?
  Mit Zitat antworten Zitat
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#4

Re: Einlesen einer Position im Raum und grafische Ausgabe

  Alt 24. Nov 2003, 19:26
Hallo cook,

versuch mal folgendes:
Zuerst solltest du dir einen geeigneten Datentyp für die Maschinen definieren, z.B. TMaschine. Dieser Datentyp sollte die Informationen über die Position x,y und die Größe (Länge und Breite) der Maschine enthalten.
Dann würde ich dir vorschlagen, einen Array von diesen Maschinen zu erstellen.
Nun kannst du z.B. eine Funktion schreiben, die überprüft, ob zwei Kisten, den erforderlichen Abstand haben:

Delphi-Quellcode:
function GenugAbstand(Maschine1, Maschine2: TMaschine): Boolean;
begin
  result:=false;
  if ((Maschine1.x+Maschine1.Breite+Mindestabstand<Maschine2.x) or
     (Maschine2.x+Maschine2.Breite+Mindestabstand<Maschine1.x)) and
     ((Maschine1.y+Maschine1.Laenge+Mindestabstand<Maschine1.y) or
     (Maschine2.y+Mascine2.Laenge+Mindestabstand<Maschine2.Y)) then result:=true;
end;
Diese Funktion gibt, wenn du zwei Maschinen eingibt, in form eines Boolean zurück, ob diese Maschinen weit genug von einander weg stehen (true=ok, false=zu nach).
In Mindestabstand musst du dann den Mindestabstand zwischen den Maschinen speichern, in deinem Beispiel 2.
Eine ähnliche Funktion kannst du dann noch für den Abstand Wand-Maschine schreiben.
Ich hoffe du kannst mit diesem Ratschlag etwas anfangen.

Grüße
Seniman
  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:59 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