0 Daumen
1,2k Aufrufe

Ich bin gerade dabei, ein Computerspiel zu programmieren, wo ich zur Zeit ich daran arbeite, eine hügelige Landschaft zu generieren. In gleichmäßigen Intervallen (jeweils 100, der Ursprung wird mit jedem Schritt verschoben, sodass x=100 bei der nächsten Parabel x=0 ist) sollen Parabeln aneinander gehängt werden, wobei an den Punkten zwischen den Intervallen der y-Wert und die Steigung übernommen werden, damit das ganze schöner aussieht. Das heißt, bis jetzt ist die Gleichung der Parabel pn(x) = ax² + pn-1'(100)x + pn-1(100).  Das a soll dabei zufällig gewählt werden.

Die Frage ist jetzt, wie muss ich a eingrenzen, damit die Parabeln innerhalb ihres jeweiligen Intervalls nicht unter y=0 aber auch nicht über y=100 kommen? Ich weiß, dass ich dafür den letzten Punkt der vorherigen Parabel wieder mit einbeziehen muss, aber wie weiß ich nicht -.-.

Ich hoffe auf eine hilfreiche Antwort!

LG

Avatar von

1 Antwort

0 Daumen

Wenn wir die Funktion y = ax^2 + bx + c haben, dann ist die y-Koordinate des Scheitelpunktes bei c - b^2/(4·a)

c - b^2/(4·a) = 0
a = b^2/(4·c)

c - b^2/(4·a) = 100
a = b^2/(4·(c - 100))

Da kannst du für

b = pn-1'(100)
c = pn-1(100)

einsetzen.

Avatar von 488 k 🚀
An sich ist die Idee nicht schlecht, ich hab auch erst gedacht, dass es funktioniert :) Leider hat es (wie immer beim Programmieren) nicht geklappt, weil der Scheitelpunkt zwar zwischen den beiden Grenzen ist, am Anfang oder Ende des Intervalls aber geht die Parabel hoch oder runter wie sie will. DerScheitelpunkt ist ja nicht immer das Minimum, von daher kann es trotz dieser Bedingungen über 100 hinaus gehen und anders rum. Tut mir Leid, aber dann ich muss noch auf eine andere Antwort warten :(
Du mußt nur noch eine Bedingung für den Endpunkt aufstellen. Der Anfangspunkt ist doch immer im Bereich.
Ich habe gemerkt, dass es manchmal gar keine Lösung gibt, also dass 1. Der Scheitelpunkt innerhalb der Grenzen ist und 2. der Endpunkt. Von daher hilft es was, wenn ich das Ganze mit Funktionen 3. Grades mache? Da stelle ich es mir aber schwierig vor, die Gleichungen zu erstellen.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community