www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Lineare Algebra / Vektorrechnung" - Hexagonales Koordinatensystem
Hexagonales Koordinatensystem < Lin. Algebra/Vektor < Oberstufe < Schule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra / Vektorrechnung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Hexagonales Koordinatensystem: Flächenanzahl im 6eck Raster
Status: (Frage) überfällig Status 
Datum: 15:30 Di 10.02.2015
Autor: Slevin_Kelevra

Aufgabe
Ich habe ein Game in dem es um Strategischen Einsatz virtueller Einheiten geht. Die Map ist auf einem Hexagonalen Raster (Koordinatensystem) aufgebaut. Ich möchte einen Reissezeitrechner mit Excel erstellen, um so die Startzeiten aus verschiedenen Koordinaten bestimmen zu können.

Die Map besteht aus 6-ecken, die ich mit a*Wurzel3 berechne. Ich habe jetzt die Schwierigkeit die Anzahl der einzelnen 6ecke (Flächen/Kacheln), die jeweils zwischen 2 Koordinaten liegen, zu berechnen. Wichtig hierbei ist immer der kürzeste Weg.

Ich freue mich schon auf die weiterführenden hilfreichen Denkansätze

Wie kann ich, anhand der Start und Zielkoordinaten, die Anzahl der zu durchquerenden Felder/Kacheln berechnen?

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Hexagonales Koordinatensystem: Antwort
Status: (Antwort) fertig Status 
Datum: 19:11 Di 10.02.2015
Autor: Fulla

Hallo Slevin_Kelevra,

[willkommenmr]

> Ich habe ein Game in dem es um Strategischen Einsatz
> virtueller Einheiten geht. Die Map ist auf einem
> Hexagonalen Raster (Koordinatensystem) aufgebaut. Ich
> möchte einen Reissezeitrechner mit Excel erstellen, um so
> die Startzeiten aus verschiedenen Koordinaten bestimmen zu
> können.

>

> Die Map besteht aus 6-ecken, die ich mit a*Wurzel3
> berechne. Ich habe jetzt die Schwierigkeit die Anzahl der
> einzelnen 6ecke (Flächen/Kacheln), die jeweils zwischen 2
> Koordinaten liegen, zu berechnen. Wichtig hierbei ist immer
> der kürzeste Weg.

>

> Ich freue mich schon auf die weiterführenden hilfreichen
> Denkansätze
> Wie kann ich, anhand der Start und Zielkoordinaten, die
> Anzahl der zu durchquerenden Felder/Kacheln berechnen?

Wie hast du denn die Koordinaten festgelegt?
Müssen die Einheiten die Felder tatsächlich durchwandern (beim einen Rand rein, durch das Feld und beim anderen Rand wieder raus), oder ist wie beim Mensch-ärger-dich-nicht oder Risiko, wo man die Einheiten innerhalb eines Feldes anordnen kann, wie man will, ohne einen Zug zu verbrauchen?

Erzähl mal ein bisschen mehr über dein Problem - vielleicht auch, um welches Spiel es sich handelt.

Lieben Gruß,
Fulla

Bezug
                
Bezug
Hexagonales Koordinatensystem: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:36 Mi 11.02.2015
Autor: Slevin_Kelevra

Also es geht um das Spiel "Tribal Wars 2" Das ist der Nachfolger des Spiels die Stämme. Das Koordinaten System beginnt in der Mitte mit den Start Koordinaten 500 /500. Die Mapp baut sich Kreisrund um den Startpunkt auf. Die Koordinaten nehmen auf der x Koordinate nach Westen ab und noch Osten zu. Auf der Y Achse nehmen die Koordinaten nach Norden zu und nach Süden ab.

[Dateianhang nicht öffentlich]

Jede mögliche Koordinate wird als Feld bezeichnet. Aber nicht jede beherbergt auch ein Dorf. In den Dörfern werden die Einheiten Produziert und von dort aus in andere Dörfer als Angriffsziele Versendet.

Die Aussage des Supports war, dass man den Laufweg mittels Geometrischer Berechnungen ermitteln kann. Also errechnen wie viele Felder sie durchschreiten. Der Rest ist dann einfach. Jede Einheit hat feste Zeiten pro Feld.

[Dateianhang nicht öffentlich]
Ich tue mich schwer die Felder zwischen 2 Koordinaten zu berechnen.

Dateianhänge:
Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
Anhang Nr. 2 (Typ: jpg) [nicht öffentlich]
Bezug
                        
Bezug
Hexagonales Koordinatensystem: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:48 Mi 11.02.2015
Autor: Fulla

Hallo nochmal!

Ich hab mal ein Bild gemacht: die x-Achse verläuft waagerecht von links nach rechts, die y-Achse geht im 60° Winkel dazu von links unten nach rechts oben.
[Dateianhang nicht öffentlich]

Der kürzeste Weg vom Starfeld A(500/500) beispielsweise zum Feld B(502/502) beträgt vier Felder (es gibt aber mehrere Wege mit dieser Länge).
Berechnen kannst du das, indem du die x- und y-Koordinaten jeweils voneinander abziehst, also
(502/502)-(500/500)=(2/2).
Dabei habe ich "Endfeld minus Startfeld" gerechnet. Die Einheit muss also zwei Felder in x- und zwei Felder in y-Richtung gehen. Das funktioniert aber nicht immer...

Rechnet man auf die gleiche Art den Weg von A nach C aus, ergibt die Differenz (-1/1), was einen Weg von zwei Feldern nahelegen würde. Offensichtlich ist der kürzeste Weg aber eins.
Ähnlich ist es beim Weg von A nach D: Differenz (-2/4) hieße Weglänge sechs, aber der kürzeste Weg hat Länge 4, denn anstatt nur entlang der Achsen zu laufen kann sozusagen auch diagonal ziehen und dadurch abkürzen.

Ich habe ein paar Wege ausgerechnet und bemerkt, dass es Probleme gibt, wenn die Differenzkoordinaten unterschiedliche Vorzeichen haben. Geometrisch gesehen entspricht das Wegen, die eine "spitze Ecke" enthalten (genauer: einen 60°-Winkel; die "guten" Wege haben einen 120°-Winkel).

Meine Vermutung lautet:
Bilde die Differenz der Start- und Zielkoordinaten wie oben. Dabei ist es egal, was du wovon abziehst. Verwende aber bei verschiedenen Rechnungen das gleiche Schema, z.B. wie oben: Zielfeld minus Startfeld.
Fall a) Die Differenz-Koordinaten haben das gleiche Vorzeichen: zähle x- und y-Koordinate für die Weglänge zusammen
Fall b) Die Differenz-Koordinaten haben unterschiedliche Vorzeichen: lass die (betragsmäßig) kleinere Zahl weg, die andere Zahl gibt die Weglänge an.

Wie gesagt, das ist nur eine (ziemlich starke ;-) ) Vermutung. Wenn ich Zeit dazu habe, denk ich vielleicht noch weiter darüber nach...


Lieben Gruß,
Fulla

Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                                
Bezug
Hexagonales Koordinatensystem: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 01:46 Fr 13.02.2015
Autor: Slevin_Kelevra

Ich habe deinen lösungsansatz mal mit berechnungen und einen vergleich im Feldversuch getestet. Deine Berechnung ist Logisch und Nachvollziehbar. Leider ist der Ansatz schon gut bewirkt aber immer noch die Falschen Reisezeiten.

Mier ist aber etwas aufgefallen. Als ich mal eine Koordinatenkonstellation gewählt habe, die fast nur auf der XKoordinate entlang verlief. Dabei hat die Direkte Linie zur Zielkoordinate, im Bezug zur X Achse, einen sehr geringen Winkel.

Startkoordinaten waren x 372 y 333. Das Ziel war x 372 y 314. Wenn ich hier deinen Denkansatz zu Grunde lege. Kann ich Negativwerte auf der X Achse weglassen. Und muss den Y Wert als Feldmemnge nehmen. Soweit. Stimmt es auch. Wenn das Ergebnis für Y Negativ ist, muss ich es nur in einen Positiven Wert umwandeln. Das Ergebnis währe dann 19.

Jetzt kommt der Fehler. Wenn ich dann die Reisezeit mit einbeziehe, erhalte ich einen viel höheren Wert als er mir im Spiel angezeigt wird. Ich habe dann die Reisezeit umgerechnet in Felder und komme nur auf einen Wert von 16,462. Das würde bedeuten, das die Einheiten nur 16,462 Felder durchlaufen.

Wie kommen die Spielebetreiber auf diesen Wert?


Bezug
                                        
Bezug
Hexagonales Koordinatensystem: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:04 Fr 13.02.2015
Autor: Fulla

Ich habe mal ein wenig rumgegoogelt und []hier folgenden Algorithmus gefunden:

Für den Abstand zweier Dörfer [mm](x_1, y_1)[/mm] und [mm](x_2, y_2)[/mm] setze
[mm]x_1':=\begin{cases} x_1&\text{ falls } y_1 \text{ ungerade}\\ x_1-\frac 12&\text{ falls } y_1 \text{ gerade}\end{cases}[/mm] und

[mm]x_2':=\begin{cases} x_2&\text{ falls } y_2 \text{ ungerade}\\ x_2-\frac 12&\text{ falls } y_2 \text{ gerade}\end{cases}[/mm]

Der Abstand ist dann [mm]\sqrt{(x_1' - x_2')^2 + \frac 34 * (y_1 - y_2)^2}[/mm].


Mit den Koordinaten deines Beispiels oben kommt auch tatsächlich 16.462 raus.

Außerdem habe ich []hier einen Onlinerechner gefunden.


Lieben Gruß,
Fulla

Bezug
        
Bezug
Hexagonales Koordinatensystem: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:20 Fr 13.02.2015
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra / Vektorrechnung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]