Formel durchhänger

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Formel durchhänger

Post: # 73946Post Wuji
05 Jul 2009, 10:20

Hallo ich moment brauch ich eine antipropotionale Formel und bin im Moment nicht in der Lage mir eine zu überlegen -ich brauche diese Formel für eine Anzeige. Es ist eine [X] Berechnung für ein Objekt .
Steht eine Variabel namens [Mana] auf 100 soll das Objekt au Position 724 sein.

Zahlen werte:
100=724
99=727
98=730
97=733
96=736
95=739
.....
Es muss irgendwie *3 gerechnet werden und dann irgendwie umgekehrt werden aber ich komm nich drauf

Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Post: # 73947Post Schiman
05 Jul 2009, 11:32

Sehr einfache mathematische Geschichte.

Du brauchst eine affine Funktion, die du locker aus zwei Punkten berechnen kannst.

Du hast z.B. den Punkt (100/724) und den Punkt (95/739)

Die allgemeine Form einer affinen Funktion ist: f(x) = ax + b
Jetzt einfach beide Punkte nacheinander einsetzen:

Gl1: 724 = 100a + b
Gl2: 739 = 95a + b

Jetzt Gl1 nach a umformen.

Gl1': a = (724 - b)/100

Gl1' in Gl2 eingesetzt:
Gl2': 739 = 95((724 - b)/100) +b

Nach b umformen:
Gl2'': b = 1024

Jetzt b in Gl1 oder Gl2 einsetzen und du bekommst für a:
a = -3

Also die Gleichung der Funktion: f(x) = -3x + 1024

Du musst also, um zu einem x-Wert den y-Wert auszurechnen nur folgende Befehle anwenden (ich mache Rechnungen im Pac-DK immer in Einzelschritten):


setnum(y;0-1)
setnum(y;*3*[x])
setnum(y;+1024)

Fertig^^.
Dass in diesem Fall a = -3 ist, hätte man auch sofort sagen können, aber ich wollte einfach mal ein allgemeines Verfahren geben, so macht man das nämlich.

Ich bemühe für solche Sachen aber immer Funktionssoftware, damit ich nicht selber rumrechnen brauche^^.

Lachi
An Adventure Creator
Posts: 316
Joined: 07 Aug 2008, 22:32

Post: # 73952Post Lachi
05 Jul 2009, 12:20

Sehr einfache mathematische Geschichte.
:shock: Mit nem 1er Abitur vielleicht. Aber nicht für uns Normalsterblichen :wink:
[img]http://img269.imageshack.us/img269/4060/enjoylachibalken.png[/img]

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 73954Post Baelavay
05 Jul 2009, 12:31

Ne, es ist schon ganz simpel. Du hast immer für einen x-Wert einen y-Wert zugeordnet und wenn du dir die Folge anschaust, siehst du dass der Abstand immer 3 beträgt (arithmetisch *klugscheiß*), also kannst du das in einer simplen Funktion einer Geraden darstellen, indem du 2 beliebige Punkte aus (x/y) auswählst. Das heißt, du musst nur wissen, wie du aus 2 Punkten eine Gerade bastelst. Die Schwierigkeit besteht meines Erachtens lediglich darin, erstmal drauf zu kommen, DASS man es so lösen kann. Es war keine besonders abgefahrene Idee von Kolumbus, in die andere Richtung auf dem Globus Indien zu erreichen, nur hatte die Idee vor ihm keiner.

Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Post: # 73956Post Wuji
05 Jul 2009, 12:50

Ich hab mal deine Formel vereinfacht
Im Skript steht Jetzt:
Setnum(ManaBerechnung;[Mana]*3)
Moveobj(ManaEdge;1024-[ManaBerechnung];+0;0)
Irgendwie hatte ich schon was mit 1024 im Kopf schwieren weil das ja die Bildschirm breite ist -auf jeden Fall danke Schiman

Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Post: # 73967Post Schiman
06 Jul 2009, 08:21

Solcher Berechnungen kannst du übrigens mit allen möglichen Polynom-Funktionen machen.
z.B. quadratisch f(x) = ax^2 + bx + c
Hier brauchst du aber 3 Punkte, wegen 3 unbekannten Variablen a,b und c.

Solche Berechnungen sind manchmal echt sinnvoll. Z.B. wenn du eine Fallkurve von einem Objekt berechnen willst, die du dann im Spiel animierst, dann kannst du diese Kurve einfach mit so einer Funktion annähern und dein Objekt entlang dieser Funktion im PaC-DK bewegen. Quadratische Funktionen, wie die da oben, sind dafür zwar nicht 100% realistisch, aber komplett ausreichend.

Post Reply