Was für eine mathematische Funktion könnte das hier sein?
-
edit: Ich bin hansdampf, also nicht Wundern.
Danke für den Tipp Volkard, ich habe jetzt ein XY-Diagramm benutzt:
http://img226.imageshack.us/img226/7762/kurvexy7ui.jpgEs sieht jetzt für mich zu 90% nach einer Wurzelfunktion aus. Ich habe die obere Hälfte der Funktion in Paint gespiegelt und unten "dranngeklebt" sieht dann verdammt nach einer nach rechts geöffneten Parabel aus, was ja einer Wurzelfunktion entspricht:
http://img226.imageshack.us/img226/696/kurvexywurzel5xd.jpgIch habe schon mit meinen Mathelehrern gesprochen und werde genaueres am Montag mit ihnren bereden. Eine Wurzelfunktion ist ja folgendermaßen definiert: a*[nte wurzel aus x]+C (Sorry, aber das Wurzeltag funktioniert nicht, bzw. ich weiß nicht, wie man es korrekt benutzt!?)
Ich habe nun 3 Unbekannte. Und zwar a,n und x. C ist 0, da die funktion auf der X-Achse nicht verschoben ist und ihren Scheitelpunkt bei (0|0) hat.
Theoretisch müsste ich doch jetzt 3 Gleichungen aufstellen können und mithilfe der Gauschen Elimination (Additionsverfahren ect.) die Unbekannten lösen können!? Ich müsste dann eine Formel erhalten, wo ich nur eine Gradzahl einsetzen muss, um dann den genauen "Drehwert" für den Egoshooter zu erhalten. z.B. Für 180° und 90°:
a*[nte Wurzel aus 180] = 4404219
a*[nte Wurzel aus 90] = 4371579
ect.Das müsste doch irgendwie so machbar sein, oder?
-
Wenn du die Daten in einem log-log Plot darstellst, müsste sich doch eine Gerade ergeben, oder? Wäre die nicht leichter zu schätzen?
-
Hmm, was ist ein loglog plot?
Habe eben versucht nach dem Additionsverfahren zu lösen. Das große Problem ist das n der Wurzel. Ich habe mich dann irgendwann in zig logarythmen verstrickt und komme so nicht weiter. Mal sehn ob meine Mathelehrer rat wissen.
-
Perner schrieb:
Hmm, was ist ein loglog plot?
beide achsen verstellen, daß sie logarithmische skala haben.
mach am besten auch nen loglog plot und zeig den.und stell die tabelle online, damit wir ein wenig mit deinen daten spielen können. hab am sonntag sonst vielleicht ne stunde langeweile.
aber dein dingend ist keine wurzelfunktion.
eher log(x).
-
Habe mal die Excell Tabelle hochgeladen:
http://home.ripway.com/2005-11/500915/Tabelle.xls
-
Perner schrieb:
Habe mal die Excell Tabelle hochgeladen:
http://home.ripway.com/2005-11/500915/Tabelle.xlsIch habe mal mit matlab einen log-log plot gemacht: http://mitglied.lycos.de/dooya/loglog.jpg
Sieht aus wie ein broken stick.
FÜr sowas sollte es doch eigentlich Schätzverfahren geben, oder?
-
dooya schrieb:
FÜr sowas sollte es doch eigentlich Schätzverfahren geben, oder?
jup. du hast es gelöst.
also warum nicht die 30 gemessenen stützstellen nehmen und dazwischen linear interpolieren? und wenn sich herausstellt, daß wo was ungenau ist, dort genauer nachmessen.
-
Hmm jo, so werde ich es wohl vorerst machen. Anscheinend ist ja wirklich keine Wurzelfunktion, aber man könnte sich der Kurve mit hilfe einer Wurzelfunktion zumindest sehr nah anähern und das reicht mir schon. Was ich am Ende will, ist eine Funktion wo ich nur die Gradzahl einsetzen muss und den entsprechenden Wert erhalte. Ich brauche dies später, wenn ich die Positionen mit hilfe der Winkelfunktionen bestimmen möchte. Hier mal ein kurzes Beispiel, worauf ich eigentlich hinaus will:
Ich stehe in einem 3-Dimensionalen Raum. Ich stehe - von Oben betrachtet - an Position:(X=0 | Y=0 | Z=0). Ein Gegner steht an Position:(X=3 | Y=4 | Z=0).
Nun muss ich zwei Winkel ausrechnen und zwar den X und Y Winkel, damit mein Programm nachher weiß, wo es hinzielen soll. Hier ein Beispielbild der X-Achse:
(Bitte verzeiht mir dieses saumäßig gezeichnete Koordinatensystem. :))
http://img6.imageshack.us/img6/8764/beispiel9ea.jpgDer Grüne Punkt bin ich. Der rote Punkt ist der Gegner und die gestrichelte blaue Linie ist das Dreieck das ich verwende, um den Winkel von mir zum Gegner zu erhalten. Ich rechne einfach Gegenkathete durch Ankathete. Da so der Tangens definiert ist, verwende ich die Umkehrfunktion um den Winkel (in diesem Fall α) zu erhalten.
Theoretisch dürfte das Programm - zumindest auf der X-Achse - nun auf den Gegner zielen.Am besten wäre es wenn ich Funktionen hätte, mit denen ich die Drehungen auf den Pixel genau bestimmen könnte. Auf den Grad genau reicht aber Notfalls auch aus.
-
Ups, ich habe doch glatt deinen Thread übersehen dooya. Sorry!
Hmm, ich habe leider nur Grundwissen der höheren Mathematik. Was ein "Broken Stick" ist, weiß ich leider nicht(Ich vermute mal den Knick oben rechts!?). Genausowenig wie ich es schätzen könnte. Hab mal bei google gesucht, aber nur irgendwas über Naturschutz gefunden!?
Naja, jedenfalls hab ich noch ein riesen Problem und zwar, dass die XYZ Koordinaten der Spieler auch nicht-linear abgespeichert werden! Ohne die Funktion rausgefunden zu haben, komme ich hier wohl nicht weiter.
-
AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!
ICH BIN SO EIN IDIOOOOOOOOOT!!!!!!!!!!!!!!!!!Ich hab alle Probleme gelöst. Der Tipp kam ganz am Anfang und zwar die Zahl
als Float zu interpretieren. Das habe ich anfangs auch gemacht aber es funktionierte nicht.
Das lag allerdings daran, dass ich die Adresse 2DE10C7 ausgelesen hab, der wirkliche Wert allerdings in 2DE10C8 steht, dadurch wurde die funktion wieder nicht linear.Die Werte die ich jetzt bekomme, entsprechen genau den werten, die ich haben wollte. Sprich in Grad usw. bloß auf den milimeter genau.
Ich entschuldige mich an dieser Stelle für diesen Sinnlosen Thread und bedanke mich trotzdem für die Mühe, die ihr euch gemacht habt.