Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Gaming: Berechnung einer Ziellinie

Gaming: Berechnung einer Ziellinie

Universität / Fachhochschule

Tags: Berechnung einer Ziellinie, Gaming

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Michael101

Michael101 aktiv_icon

11:06 Uhr, 20.04.2024

Antworten
Ich spiele ein Rennspiel, in dem die Ziellinie durch einen Punkt definiert wird, hier ein Beispiel:

Finish_Point {
uniform_scale =1;
loc ={620.691,315.457,2564.11};
level_inclusion_mask =-1;
offset ={0,0,0};
quat ={1,{0,0,0}};
melt_height =0;
};

Die quat-Zahl sagt aus: Die Ziellinie ist parallel - ich hoffe, dass ich mich damit einigermaßen korrekt ausdrücke. Die Ziellinie ist immer exakt 180m breit, das bedeutet, dass hier die Eckpunkte sehr leicht zu ermitteln sind:
loc ={530.691,315.457,2564.11};
loc ={710.691,315.457,2564.11};

Dort kann ich Schilder platzieren, ich kann die beiden Punkte auch mit einer Linie verbinden, und so weiß ich genau, in welchen Bereich ich reinkommen muss.

Schwieriger wird es jedoch, wenn wir den Parameter quat ändern in z. B.
quat ={0.931603,{0,-0.363478,0}};

Ich benötige eine Formel, der mir hierfür die beiden Eckpunkte anzeigt.

Es wäre super, wenn mir jemand helfen kann.

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Online-Nachhilfe in Mathematik
Antwort
ledum

ledum aktiv_icon

16:02 Uhr, 20.04.2024

Antworten
Hallo
mir ist nicht klar, was du eigentlich fragen willst? wie geht man? muss man die Ziellinie oder genau einen Punkt darauf erreichen.
Ohne computer code ist es vielleicht klarer? parallel etwa zu was? was genau bedeutet denn das quat?
ledum
Antwort
calc007

calc007

16:06 Uhr, 20.04.2024

Antworten
...will sagen: Mach eine Skizze!
damit du und wir den Hauch einer Chance erhalten, zu verstehen, wovon du sprichst.
Michael101

Michael101 aktiv_icon

17:05 Uhr, 20.04.2024

Antworten
Anhängend ist eine "Luftaufnahme" mit drei Ziellinien, alle Ziellinien sind jeweils 180m breit.

Man kommt von unten her an und trifft dann auf auf zwei "gerade", unproblematische Ziellinien (blau, grün), jeweils mit quat ={1,{0,0,0}};

und auf eine leicht gekippte Ziellinie (rot) mit quat ={0.999118,{0,-0.0419877,0}};

Die jeweils beiden Eckpunkte der "geraden" Linien ergeben sich sehr leicht, einfachste Kopfrechung:
loc ={X ± 90,Y,Z};

Die Eckpunkte der roten Linie suche ich. Mehr als das kann ich leider auch nicht beitragen. Einen Source Code habe ich nicht.

Ziellinien
Antwort
Roman-22

Roman-22

17:37 Uhr, 20.04.2024

Antworten
> Mehr als das kann ich leider auch nicht beitragen.
Doch!
Du könntest ledums Frage nach "quat" beantworten.
Welche (geometrische) Bedeutung haben denn der Skalar und der Vektor, aus denen sich quat zusammensetzt und wie genau ergibt sich daraus dann deine Ziellinie?
Bzw. auch Erklärungen zu den anderen Größen in deiner Datenstruktur von "Finish_Point", welche ja vermutlich auch Einflüsse auf die genaue Lage dieser gesuchten Strecke "Ziellinie" haben.
Michael101

Michael101 aktiv_icon

18:37 Uhr, 20.04.2024

Antworten
Mehr kann ich dazu nicht sagen. Sicher kann mir nur jemand helfen, der dazu einen Genieblitz hat, den ich selber nicht habe.


Antwort
ledum

ledum aktiv_icon

22:07 Uhr, 20.04.2024

Antworten
Warum kannst du nicht sagen was die Zahlen in Quatsch bedeuten?
z.B ist für 2 verschiedene (parallele Ziellinien Quatsch dasselbe?
ledum
Michael101

Michael101 aktiv_icon

22:12 Uhr, 20.04.2024

Antworten
Es muss sich hier niemand beteiligen, der die eigentlich sehr einfache und klare Problemstellung nicht versteht. Oder etwa doch?
Antwort
calc007

calc007

22:30 Uhr, 20.04.2024

Antworten
Begriffe wie
"uniform_scale",
"loc",
"level_inclusion_mask",
"offset",
"quat",
"melt_heigth"
zählen ganz gewiss nicht zu Standard-Mathematik-Funktionen.

Ein gewisser Michael101 hat hier behauptet, die Problemstellung sei sehr einfach und klar.
Warum ist es dann diesem selbem Michael selbst nach der dritten Aufforderung noch immer nicht gelungen, diese in verständliche Formen zu bringen?

Michael101

Michael101 aktiv_icon

23:08 Uhr, 20.04.2024

Antworten
Erkennbar sind nur zwei Datensätze für die Berechnung relevant: loc und quat, jeweils im Koordinatensystem X,Y,Z, siehe Bild.

Ich gehe fest davon aus, dass es einen Mathematiker gibt, der mit den Daten, die ich gegeben habe, etwas anfangen kann und dazu eine Formel anbieten kann, auf die ich selber nicht komme.


Ergänzend: Wenn ich eine der Linien überquere, dann löst die Zeitnahme aus, gleichzeitig werden die Koordinaten der Zeitnahme in der Renndatei abgespeichert. Ich kann nun berechnen, wie weit links oder rechts vom Mittelpunkt der Ziellinie entfernt ich reingekommen bin, das darf maximal 90m sein. Ich berechne dafür die Quadratwurzel aus (x1-x2)2+(y1-y2)2+(z1-z2)2.

Wenn bei dieser Formel zum Beispiel 89,78300025(m) herauskommt, dann heißt das, dass ich so gerade eben noch die Zeitnahme ausgelöst habe. Wäre ich um weitere 22 cm verrutscht, dann hätte ich keine gültige Zeit bekommen, ich hätte umdrehen müssen und zurückfahren müssen, um zwischen den beiden Eckpunkten in jeweils 90m Entfernung vom Ziellinien-Mittelpunkt hereinzukommen.

Für die "geraden" Ziellinien kann ich die Eckpunkte kinderleicht berechnen, für die nicht-geraden jedoch brauche ich eine Formel, aber das sagte ich ja schon.

Wie schon gesagt: mehr kann ich nicht bieten.

MfG,

der gewisse Michael101


Antwort
Roman-22

Roman-22

23:40 Uhr, 20.04.2024

Antworten
> Warum ist es dann diesem selbem Michael selbst nach der dritten Aufforderung noch immer nicht gelungen, diese in verständliche Formen zu bringen?

Vielleicht, weil das in der Szene, in der er sich bewegt, auch andere nicht so können. ;-)
Siehe hier zB den Beitrag #19: www.tapatalk.com/groups/supremesnowboarding/supreme-snowboarding-forum-auf-deutsch-t9-s10.html

Michael101

Michael101 aktiv_icon

23:52 Uhr, 20.04.2024

Antworten
(editiert)

Gerade, 23. April 2024,17:30 Uhr, wird mir angezeigt: "Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat."

Das ist natürlich völliger Blödsinn, auf diese Weise innerhalb von nur drei Tagen ein Thema schon wieder abzuschließen, ungelöst. Von mir kommt das nicht.

Zu quat habe ich einen wertvollen Hinweis bekommen:
de.wikipedia.org/wiki/Quaternion

Mit Hilfe dieses Hinweises konnte ich die Aufgabe dann lösen. Ich habe jetzt die Formeln, die ich suchte, mit Sinus und Cosinus.

Die Lösung, die ich noch überarbeiten muss, stelle ich später ein - falls ich in diesen Text dann noch hineinkomme.

Falls ich dann aber nicht mehr hineinkomme, würde ich gerne den ganzen Thread wieder löschen. Wie geht das?
Antwort
HAL9000

HAL9000

08:17 Uhr, 24.04.2024

Antworten
> "Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat."

Mach dir keine Gedanken, das fügt so ein automatischer Forum-Bot nach ein paar Tagen Inaktivität im Thread an. Du oder auch andere können dennoch weiter hier posten.

Michael101

Michael101 aktiv_icon

09:10 Uhr, 24.04.2024

Antworten
Deinem Avatar entnehme ich, dass du wie ich die Ukraine unterstützt. Sehr gut.
Antwort
HAL9000

HAL9000

12:40 Uhr, 24.04.2024

Antworten
Aber ja. Und das in einem Bundesland, wo aktuell leider die Putin-Fans (AfD, BSW) bzw. Appeaser (Linkspartei und Teile der SPD) die Mehrheit in Umfragen haben. Da gilt es ganz klar gegenzuhalten.
Michael101

Michael101 aktiv_icon

13:16 Uhr, 24.04.2024

Antworten
Eine exzellente und absolut richtige Einstellung, mit der man aber leider in der Minderheit ist.

Die Grünen als Aufbauhelfer einer arabischen Nazi-Ideologie, die sich als "Religion" verkauft, womit neben der Juden- und Israel-Feindlichkeit dieser Ideologie dann auch noch deren Frauenfeindlichkeit mit durchgewunken wird, sollte man auch noch mit auf die Negativliste setzen.

Aus Palästina kommt noch eine weitere fragwürdige Religion, deren Oberhaupt die Ukrainer und Israelis auffordert, sich jeweils dem Terror zu ergeben, denn das sei christlich. Und dass Frauen sich per Abtreibungsverbot zum Gebären zwingen lassen, sei ebenfalls christlich.

Es führt hier alles zu weit, das ist ja hier ein Mathematik-Forum. Ich kann nur sagen: Flagge zeigen ist Demokratenpflicht. Und am besten aus der Mitte heraus.
Michael101

Michael101 aktiv_icon

15:37 Uhr, 29.04.2024

Antworten
Es wird Zeit, dass ich selber das auflöse:

Wir haben also in Supreme Snowboarding Linien (Start, Checkpoint, Finish) von je 180m Breite, die alle definiert sind durch diese Daten:
loc ={X,Y,Z};
quat ={a{b,c,d}};

wobei Y irrelevant ist, das Spiel ignoriert den Y-Wert und setzt Y genau auf die Höhe der vorgegebenen Landschaft.

In einem Fall sind die Eckpunkte der Linien sehr leicht zu ermitteln; nämlich für
quat ={1,{0,0,0}};

In diesem speziellen Fall sind die beiden Eckpunkte bei:
loc ={X-90,Y,Z};
loc ={X+90,Y,Z};

Aber was ist, wenn die Linie nicht horizontal ausgerichtet ist, z. B. definiert durch diese Daten:
quat = {0.999118,{0,−0.0419877,0}};

Zwei der Daten sind bei den fraglichen Linien immer 0, somit wird aus
quat ={a{b,c,d}};
tatsächlich
quat ={a{0,c,0}};

Wir suchen also die beiden Eckpunkte X und Z basierend auf a und c. Und hier ist die Lösung:
X1,2= Xcenter ± 90*cos(2*arccos(a))
Z1,2= Zcenter ± 90*sin(2*arcsin(c))

Mit "center" ist natürlich der Mittelpunkt der Linie gemeint.

That's it. Problem solved.

Dank an Oleg, der die Problemlösung geliefert hat.

Oleg ist ein Vertriebener, der durch Russlands Angriffskrieg auf die Ukraine zumindest vorübergehend seine Heimat verloren hat. Wir sollten uns alle hart gegen die AfD stellen, die ernsthaft Russland Zugeständnisse machen will. Tatsächlich kann das ausschließliche Ziel nur darin bestehen, die Ukraine vollständig von Russland zu befreien und mit russischem Geld wieder auszubauen. Wenn Oleg seine Heimat wiederhaben soll, dann ist die Lösung nicht, der Ukraine alle Hilfe zu verweigern, wie die verbrecherische AfD und die teuflische Sahra Wagenknecht es fordern, sondern dann muss der Ukraine maximal geholfen werden. Wir müssen die Wagenknechts, Weidels und Chrupallas hart zurückschlagen und der Ukraine bestmöglich helfen, und das erreichen wir nicht durch Einknicken, durch Verhandlungen. Mit Hitlers wie Putin kann man nicht verhandeln. Allein maximale Entschlossenheit und Stärke besiegt solche Teufel, besiegt solche Terrorregime und Terrorstaaten, und genau das müssen wir aufbringen.

Damit schließe ich das Thema.