Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jun 07, 2024 20:55

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Feedback: Pathfinding2
BeitragVerfasst: Do Dez 29, 2005 17:13 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Hi,
für die, die mich nicht kennen, ich bin Coolcat von DelphiDev.de. Wir sind quasi euer deutsches DirectX-Äquivalent.
Ich habe mir heute morgen mal euer Pathfinding2-Tutorial mal kurz angeschaut und habe einige Verbesserungsvorschläge:

Aus den berechneten Wegpunkten sollte man meiner Meinung nach keinen Baum erzeugen, sondern die Daten als Graph (vom Prinzip ein Baum mit Zykeln) speichern.
Zusätzlich wird jeder Kante (Verbinung zw. Wegpunkten) ein sog. "Kantengewicht" zugeordnet, im einfachsten Fall einfach nur die Länge. Man könnte aber z.B. auch die Bodenbeschaffenheit (z.B. unebenes Gelände) mit einberechnen. Der Algorithmus soll später eine Kante mit kleinem Gewicht "lieber" wählen, als eine Kante mit großem Gewicht.
(Achtung: Kantengewichte dürfen nicht negativ sein, führt zu Endlosschleifen später im Algo)

Den Graph könnte man dann z.B. mit dem Dijkstra-Algorithmus durchlaufen. Dieser ist recht schnell, insbesondere wenn die Anzahl der Kanten gering ist.
Infos zum Algo gibts z.B. hier:
http://de.wikipedia.org/wiki/Dijkstras_Algorithmus oder
http://www-i8.informatik.rwth-aachen.de ... -pfade.pdf (ab Seite 19)
(jedoch sind beide Erklärungen nicht so toll, in dem PDF ist aber wenigstens ein Beispiel)
Für alle die den A*-Algorithmus kennen: A* ist eine Verbesserung des Dijkstra.

Wenn man dann schon nur noch mit einem Wegpunktnetz (Graph) arbeitet, könnte man dann das ganze auch noch problemlos auf drei Dimensionen erweitern.
Zusätzlich wäre es möglich ohne das "Felder"-Raster zu arbeiten. Nachteil wäre dabei dann allerdings, dass das erstellen des Netzes möglicherweise nicht mehr ganz so einfach funktioniert.

mfg,
Coolcat

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 29, 2005 17:22 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Hehe... Also dass ich mit "Ihr" angesprochen werde, hätte ich dann doch auch nicht erwartet ^^

Mit Graphen an sich hab' ich mich noch nie wirklich befasst. Daher sucht man diese auch im Tutorial vergeblich. Als Einleitung schrieb ich dort ja bereits, dass ich mir das alles selbst ausgedacht habe. Von daher wird man auch keine praxiserprobten Lösungen wie A* oder vergleichbares finden ;)

Aber ich werde mich definitiv mal näher mit den Graphen beschäftigen und wer weiß... Vielleicht gibt's ja dann eines Tages noch ein Tutorial zum Thema Pathfinding ;)

Abschließend noch: Vielen Dank für das Feedback ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 29, 2005 18:51 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
Mit Graphen an sich hab' ich mich noch nie wirklich befasst.

Also Graphen sind echt ganz einfach. Wer das Prinzip von Bäumen verstanden hat, wird mit Graphen keine Probleme haben.
Ich selbst habe mich überings auch noch nicht wirklich mit Pathfinding beschäftigt, sondern nur eine Vorlesung Datenstrukturen&Algorithmen gehört. Dijkstra gehört da quasi zum Standard, wie auch Quicksort, etc.

Zitat:
Also dass ich mit "Ihr" angesprochen werde

In meinem ganzen Post steht nicht ein einziges mal "ihr" drin.....nur zweimal "euer".
Ich meinte auch "euch" als DelphiGL-Community. :lol:

Coolcat

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 30, 2005 00:38 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Zu Weihnachten hab ich ein Tut hier veröffentlich. Ursprünglich wollte ich Graphentheorie als Thema wählen. Aber als ich dann angefangen hab loszuschreiben, viel mir auf, dass ich das TI Skript abtippe. Da hab ichs lieber sein lassen. Irgendwie ist es schwer Leute für Graphen zu begeistern. Wenn man sich aber erstmal damit beschäftigt hat, merkt man was man alles damit machen kann. (Man denke nur an Fluss-Netzwerke. Ohne Graphen sicherlich ein Hinderniss)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 05, 2006 13:59 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Google
:mrgreen:

Also ich finde es schonmal schön, dass auch auf anderen Seiten hierher (und zu dem Tutorial) verlinkt wird, aber etwas verwirrt bin ich von deiner anonymen Ansprache dennoch... Du nennst stets Phobeus oder die Community hier im Zusammenhang mit dem Tutorial...
Aber du darfst mich ruhig beim Namen nennen ;) Ich beiße nicht :D

Gruß,
Frase

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » DGL » Feedback


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]