Was für eine mathematische Funktion könnte das hier sein?
-
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.