AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Dijkstra mittels Image Darstellen und Ecken + Kanten verknüpfen

Dijkstra mittels Image Darstellen und Ecken + Kanten verknüpfen

Ein Thema von Nathaniel · begonnen am 22. Jul 2012 · letzter Beitrag vom 23. Jul 2012
Antwort Antwort
Seite 2 von 2     12
Nathaniel

Registriert seit: 17. Jun 2012
11 Beiträge
 
#11

AW: Dijkstra mittels Image Darstellen und Ecken + Kanten verknüpfen

  Alt 23. Jul 2012, 14:29
Zitat:
Wieviele Informationen benötigst du denn in deinem Aufruf?

Image.Canvas.Ellipse(x-CCircle,y-CCircle,x+CCircle,y+CCircle); Ich sehe da nur die Mittelpunkt-Koordinaten und den Radius (und der ist ja konstant).
Wozu speicherst du also die Eckkoordinaten der Ellipse?
Ich hoffe ich habe deine Anmerkung richtig verstanden.
1) Der Aufruf Image.Canvas.Ellipse benötigt 4 Koordinaten: Start X , Start Y , Ende X , Ende Y (Ausgehend vom Mausklick, welcher X,Y liefert). Da es sich um einen Kreis handelt, ist natürlich die linke Seite mit der rechten identisch nur das die Vorzeichen vertauscht sind.

2) Ich speichere die Eckkoordinaten in einem Array um darauffolgend zu prüfen, ob eine Kante die der Benutzer zeichnen möchte, IN dem Kreis (Waypoint) ist.

@himitsu:

Danke für diese tolle und schönere Alternativmöglichkeit! Ich werde wohl die Rectangle Methode in Betracht ziehen, in der ich die Koor. X und Y an die Funktion gebe. Top Hilfe vielen Dank


@Furtbichler:

Anscheinend bist du der einzige der die Fragestellung überhaupt nicht verstanden hat, da von den anderen passende Lösungsvorschläge gekommen sind. Aber um jetzt keinen unnötigen Konflikt (worauf ich gar keine Lust habe) zu erzeugen, sag ich dir folgendes: Ich werde deinen Tipp für die Zukunft berücksichtigen. Danke das du so freundlich bist und bleib wie du bist. Damit machst du dir sicherlich viele Freunde in deinem Leben!

Greets
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Dijkstra mittels Image Darstellen und Ecken + Kanten verknüpfen

  Alt 23. Jul 2012, 15:32
Zitat:
Wieviele Informationen benötigst du denn in deinem Aufruf?

Image.Canvas.Ellipse(x-CCircle,y-CCircle,x+CCircle,y+CCircle); Ich sehe da nur die Mittelpunkt-Koordinaten und den Radius (und der ist ja konstant).
Wozu speicherst du also die Eckkoordinaten der Ellipse?
Ich hoffe ich habe deine Anmerkung richtig verstanden.
1) Der Aufruf Image.Canvas.Ellipse benötigt 4 Koordinaten: Start X , Start Y , Ende X , Ende Y (Ausgehend vom Mausklick, welcher X,Y liefert). Da es sich um einen Kreis handelt, ist natürlich die linke Seite mit der rechten identisch nur das die Vorzeichen vertauscht sind.

2) Ich speichere die Eckkoordinaten in einem Array um darauffolgend zu prüfen, ob eine Kante die der Benutzer zeichnen möchte, IN dem Kreis (Waypoint) ist.
Warum du das gemacht hast ist mir schon klar, aber ich wollte eigentlich darauf hinaus, dass es unsinnig/überflüssig/umständlich ist diese Eckkoordinaten zu speichern.

Du begründest das damit, dass du für das Zeichnen des Kreises diese 4 Eckpunkte benötigst, in Wirklichkeit benutzt du aber den Kreis-Mittelpunkt in Verbindung mit dem Radius.
Jetzt sind diese Eckkoordinaten (auf ein mal) nur noch für die Prüfung zuständig ... allerdings eine Prüfung die auf ein Rechteck und nicht auf einen Kreis prüft.

Den Abstand zwischen 2 Punkten ermittelt man mit:
Delphi-Quellcode:
function DistanceBetweenPoints( const pt1, pt2 : TPoint ) : Extended;
begin
  Result := Sqrt( Sqr( pt1.x - pt2.x ) + Sqr( pt1.y - pt2.y ) );
end;
Ist dieser Abstand kleiner oder gleich dem Radius, dann ist der Punkt im Kreis.

Ich hoffe es wird jetzt klarer, warum die Eckkoordinaten unsinnig/überflüssig/umständlich sind.

BTW: Die Kommentare von Furtbichler lagen mir auch auf der Zunge, aber er war einfach nur schneller. Und nur weil himitsu mit einem Schuss ins Blaue ins Schwarze getroffen hat, sollte man nicht davon ausgehen, dass man sich verständlich ausgedrückt hat.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Nathaniel

Registriert seit: 17. Jun 2012
11 Beiträge
 
#13

AW: Dijkstra mittels Image Darstellen und Ecken + Kanten verknüpfen

  Alt 23. Jul 2012, 16:25
In Ordnung, das Anliegen wäre dann geklärt.
Danke.
  Mit Zitat antworten Zitat
jus

Registriert seit: 22. Jan 2005
343 Beiträge
 
Delphi 2007 Professional
 
#14

AW: Dijkstra mittels Image Darstellen und Ecken + Kanten verknüpfen

  Alt 23. Jul 2012, 22:52
Ist zwar offtopic, doch wie erkennt man, das windows nicht aktiviert wurde?

Lg,
Jus
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Dijkstra mittels Image Darstellen und Ecken + Kanten verknüpfen

  Alt 23. Jul 2012, 23:27
im ersten beitrag hatte der te ein screenshot vom gesamten bildschirm und unten rechts in der ecke hat windows ihn verpetzt
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:21 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