fps mit glutWarpPoiner???

Schnelle objektorientierte, kompilierende Programmiersprache.
paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

Re: fps mit glutWarpPoiner???

Beitrag von paparoach777 » Fr Aug 13, 2010 2:36 pm

Xin hat geschrieben:Die Begriffe Kathete und Hypothenuse sind Dir bekannt?
Nicht wirklich...
return EXIT_FAILURE;

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: fps mit glutWarpPoiner???

Beitrag von Xin » Fr Aug 13, 2010 5:57 pm

paparoach777 hat geschrieben:
Xin hat geschrieben:Die Begriffe Kathete und Hypothenuse sind Dir bekannt?
Nicht wirklich...
Darf ich die Adresse Deines Mathelehrers, Deines Direktors und des für Dich verantwortlichen Ministeriums erfahren, ich habe das dringende Bedürfnis den allen mal eine Mail zu schreiben...


Aaaalso... Stell Dir ein rechtwinkliges Dreieck vor.

Code: Alles auswählen

  A
  |\     
b | \  c
  |  \
 C +---\B
     a
Beim Punkt C ist der rechte Winkel (also 90Grad), gegenüber liegt die Strecke c. Das ist die Hypothenuse, die längste Strecke im Dreieck und eben gegenüber des rechten Winkels. Die beiden anderen, kürzeren Strecken heißen Katheten.

Wenn Du den Winkel bei Punkt A ausrechnen möchtest, so heißt die Formel

Code: Alles auswählen

                   Länge der Gegenkathete
 sin alpha = -------------------------------
                   Länge der Hypothenuse
Wenn Dich der Winkel interessiert, musst Du den Sinus auf die andere Seite bringen, die Umkehrfunktion heißt Arcus-Sinus:

Code: Alles auswählen

                   Länge der Gegenkathete
 alpha = arcsin( -------------------------------)
                   Länge der Hypothenuse
Arcus-Sinus wird auf Taschenrechnern häufig als sin^-1 bezeichnet.

Beispiel: Wenn die Gegenkathete 5cm lang ist und die Hypothenuse 10 cm, dann gilt
sin alpha = 5cm / 10cm = 0,5
Umstellen:
alpha = arcsin( 0,5 ) => Taschenrechner: 0,5, dann sin^-1 drücken (meist shift+sin); Achtung der Taschenrechner muss auf Degree (DEG) stehen! Um auf DEG zu stellen gibt es meist eine Taste "DRG".
Ergebnis: alpha = 30 Grad

Die Gegenkathete befindet sich gegenüber des Punktes. Beim Punkt A ist der Winkel alpha und gegenüber ist die Gegenkathete. Wenn Du die Länge der Gegenkathete durch die Länge der Hypothenuse teilst, ist das so, als wäre die Hypothenuse 1 groß (was dem Radius des Einheitskreises entspricht, wenn Du auf der Zeichnung der sinus Funktion schaust.)

Der Cosinus ist das gleiche mit der Ankathete (eben die Kathete, die am Winkel anliegt). cos alpha = Länge von b / Länge von c.

Wenn Du das nicht auf Anhieb verstehst, dann ist das okay. Hier fehlen Zeichnungen usw. Aber wenn ihr das wirklich nicht mehr in der Schule durchnehmt, kurz bevor ihr die Schule verlasst, dann ist das echt ein Unding. Das geht so nicht. Ich bringe Dir wenn es sein muss, gerne grundlegende Mathematik bei, damit Du nicht derart den Nachteil hast, den Dir Deine Schule aufbürdet, aber das heißt nicht, dass ich nebenher nicht noch Deiner Schule in den Hintern treten will.

Das mit dem Mailadressen meine ich ernst...
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: fps mit glutWarpPoiner???

Beitrag von fat-lobyte » Fr Aug 13, 2010 8:39 pm

Xin hat geschrieben:Bei der Frage 'Was ist sin und cos?' fiel mir ja beinahe das Gesicht aus der Visage... sowas geht ja gar nicht.
+1

@paparoach777: Das war wirklich aua... Nur mal so ne Frage, wie genau hast du vor ein 3D spiel zu schreiben, wenn du dich nicht mal in 2D zurechtfindest??
Da sind so ein paar "Elementargeometrische" überlegungen von Nutzen. Und zwar soviel, dass es ohne gar nicht mehr geht. Leide kommen da auch ein paar nicht so Elementargeometrische sachen dazu, wie z.B. Matrizen, Vektoren, ...
Und das ganze von einer etwas abgehobeneren Ebene zu betrachten tut manchmal auch gut, also ein bisschen Lineare Algebra kann auch nicht schaden.
So richtig kapiert, wie das mit den Translations- und Rotationsmatrizen funktioniert hab ich auch erst seit dem Physikstudium.
Xin hat geschrieben:Ich seh schon, dass wir den Mathematikbereich bezüglich der Trigeometrie hier ausweiten müssen... :-/
Vielleicht kann ich da ja mal was zusammenschreiben.
Haters gonna hate, potatoes gonna potate.

paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

Re: fps mit glutWarpPoiner???

Beitrag von paparoach777 » Sa Aug 14, 2010 10:58 am

Jetzt hab ichs endlich kappiert.

Wurde ja auch mal Zeit :lol: ...
return EXIT_FAILURE;

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: fps mit glutWarpPoiner???

Beitrag von Xin » Sa Aug 14, 2010 1:01 pm

Falls Du etwas nicht kapiert hast, frag lieber nach.
Es hilft schließlich niemand, wenn alle davon ausgehen, dass Du mit Sinus und Cosinus umgehen kannst und Du sagst, dass Du es kapiert hast, aber Dir nicht sicher bist.

Wo hast Du Dein Verständnis dafür nun her?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

Re: fps mit glutWarpPoiner???

Beitrag von paparoach777 » Mo Aug 16, 2010 2:45 pm

paparoach777 hat geschrieben:Jetzt hab ichs endlich kappiert.

Wurde ja auch mal Zeit ...
Damit mein ich, rein rechentechnich hab ichs verstanden.
Ich weiß nur nicht, wie ich das in das programm einbauen soll...
return EXIT_FAILURE;

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: fps mit glutWarpPoiner???

Beitrag von Xin » Mo Aug 16, 2010 3:20 pm

Wenn Du Dich auf der Y-Achse drehst, also Dich nach links und rechts drehst, dann hast Du einen Winkel.

Wenn Du jetzt s Schritte nach "vorne" gehst, dann gehst Du abhängig vom Dreh-Winkel um die X Achse entweder nach Z (0 Grad), nach -X ( 90 Grad ), nach -Z (180 Grad) oder nach +X ( 270 Grad).

Bei den Zwischengraden gehst Du immer ein Stück in X Richtung, wie Du auch ein Stück in Z Richtung gehst. Die Anteile von X und Z sind die beiden Katheten, die Hypothenuse ist der Weg, den Du gerne gehen möchtest.

Und den jeweiligen Anteil, also die Länge der Katheten, berechnest Du mit sin und cos. alpha ist der Winkel, um den Du Dich um die Y-Achse drehst. Die Hypothenuse ist halt deine Schrittlänge, sagen wir mal 1 Einheit.

Code: Alles auswählen

sin alpha = GK / HY
cos alpha = AK / HY
Sofern die HYpothenuse 1 ist, fällt sie raus, andersfalls musst Du halt umstellen. GK ist Dein X Ansteil, AK Dein Z Anteil (oder umgekehrt?).
Nachdem Du also einen Schritt nach vorne gemacht hast, addierst Du das auf Deine Position auf.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten