Was für eine mathematische Funktion könnte das hier sein?
-
Hmm gute Idee. Stimmt, 0 ist ein Sonderfall und wird meiner Meinung nach auch weggeifft. Ich habe schon versucht eine Map mit einem Kolloseum ähnlichen, runden Raum zu erstellen, wo auf der Innenseite eine Textur mit 360 Stichen drauf liegt. Dort hätte ich in 5er oder 10ner schritten abgezählt, doch leider lässt sich die Map nicht kompilieren, da die Texturlage ziemlich genau sein muss, was mit der alten Engine aber nicht wirklich möglich zu sein scheint.
Ich werde mal den "Trick" mit dem Edding probieren, allerdings werde ich Klebestreifen verwenden, denn die gehen sicher leichter wieder ab.
-
Die Map lies sich nun doch kompilieren, so dass ich eine äußerst genaue Messung vornehmen konnte. Ich habe dabei in 10° schritten gemessen und Notiert. Da die Kurve im unteren Bereich sehr Stark ansteigt, habe ich dort in 2° schritten gemessen. Hier das neue Excell Diagramm:
http://img485.imageshack.us/img485/431/neuekurve3zj.jpgDa es ab 70° 10ner Schritten weiter geht, bricht die Kurve in der Mitte etwas ein. Ich gehe davon aus, dass die Kurve sich wie die rote gestrichelte Linie verhält. Was meint ihr? Ich würde sagen Wurzelfunktion.
-
Sieht verdammt danach aus , am anfang zwar bissle steil aber das täüscht sicher nur.
ich würd auch sagen wurzelfunktion
-
hansdampf schrieb:
sind die abstände auf der x-achse ungleich?
mach ein x-y-diagramm (wenn du excel verwendest). dann stimmen die abstände.
-
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.