Folgt dieser JavaScript-Code dem Midpoint Displacement-Algorithmus?

8

Ich versuche, den Algorithmus für den Mittelpunktverschiebungsvorgang mit JavaScript und canvas zu verwenden, wie auf gamedev.stackexchange.com .

Der folgende Code generiert Punkte, wobei der Array-Index die Position x und der Wert die Position y ist.

%Vor% Die Argumente von

getRandomNumber() sind min und max . width und height sind jeweils canvas .

Dies erzeugt etwas wie ...

Es scheint ziemlich unruhig, aber das könnte genauso sein wie es ist.

Habe ich diesen Algorithmus richtig verstanden? Wenn nicht, was ist falsch, und können Sie mir in die richtige Richtung zeigen?

    
alex 07.03.2011, 15:11
quelle

2 Antworten

11

Ich würde sagen, es sieht nicht wie eine Verschiebung in der Mitte aus, nur weil jedes Segment eine reguläre X-Achsenlänge haben sollte (Sie haben fast vertikale Segmente). Haben Sie versucht, ein einfaches 4-Segment-Array zu erstellen? Wie sieht es aus?

Hier ist ein kurzes Tutorial, das ich geschrieben habe, Sie können es in Aktion sehen: Mid-Point Algorithmus in Javascript

Der Quellcode:

%Vor%     
Vincent Mimoun-Prat 07.03.2011, 15:19
quelle
0

Der Algorithmus, den Sie implementiert haben, ist eindeutig falsch, wenn Sie das Ergebnis betrachten. Wo Sie schief gelaufen sind, ist schwer zu sagen, da der Code, den Sie gepostet haben, nicht eigenständig ist. Sie arbeiten mit mehreren Variablen, die in einem übergeordneten Bereich definiert sind, und es ist nicht sofort ersichtlich, was sie enthalten oder wie sie sich verhalten.

Was ist zum Beispiel terrain ?

Was Sie als Erstes wissen müssen, ist, dass, wenn Start- und Endpunkte nicht auf der Y-Achse übereinstimmen, Sie etwas falsch gemacht haben;)

    
Martin Jespersen 07.03.2011 15:40
quelle

Tags und Links