Fehlerhafte Mathebibliothek?
-
qweqwewqeqw schrieb:
coder++ schrieb:
Danke,und auserdem habe ich auch noch keine Erfahrung mit Spieleprogrammierung.
Dann fang mit Pong oder Tetris an und nicht mit einem FPS.
Pong als FPS

-
qweqwewqeqw schrieb:
Dann fang mit Pong oder Tetris an und nicht mit einem FPS.
Für 3D-Grafik brauchst du auch dringend Oberstufenmathematik, konkret: Lineare Algebra und Trigonometrie. Ist nicht viel, was man davon braucht, aber das was man braucht ist Pflichtwissen. Unter anderem zählt dazu auch, dass man schon einmal was von Radianten gehört hat und damit umzugehen weiß.
-
Danke vielmals für den Link.
Wollte nur noch mal sagen,dass ich jetzt eine Umrechnungsformel geschrieben habe.//Wenn Pfeiltaste(oben) gedrückt wird
PosX -= float(cos(Kamerahorizontal * ((2 * Pi) / 360)) / 50); //Kamerahorizontal ist die Drehung der Szene in Grad
PosZ -= float(sin(Kamerahorizontal * ((2 * Pi) / 360)) / 50);//Bewegung der Szene
KameraX = PosX;
KameraZ = -PosZ;
glTranslated(KameraX,KameraY,KameraZ); //KamerapositionIch dachte immer für Cosinus und Sinus muss man die Gradzahl angeben und nicht den Radiant.
Aber nun nach mehreren Tagen doch geschafft.
Alleine wäre ich nie darauf gekommen,dass man den Radiant angeben muss.
Deswegen nochmal danke für die Hilfe.
-
Was, das ist Oberstufenmathematik? Lol seit dem G8 wohl eher nicht mehr

-
coder++ schrieb:
Ich dachte immer für Cosinus und Sinus muss man die Gradzahl angeben und nicht den Radiant.
wie kommst Du darauf und in welche Klasse/Schule gehst Du?
Kennst Du die Entwicklung der trigonometrischen Funktionen durch Taylorreihen?
-
coder++ schrieb:
Danke vielmals für den Link.
Wollte nur noch mal sagen,dass ich jetzt eine Umrechnungsformel geschrieben habe.//Wenn Pfeiltaste(oben) gedrückt wird
PosX -= float(cos(Kamerahorizontal * ((2 * Pi) / 360)) / 50); //Kamerahorizontal ist die Drehung der Szene in Grad
PosZ -= float(sin(Kamerahorizontal * ((2 * Pi) / 360)) / 50);das ist nicht so dolle.
schreib dir ein schnuckeliges umrechnungs-makro.Werner_logoff schrieb:
coder++ schrieb:
Ich dachte immer für Cosinus und Sinus muss man die Gradzahl angeben und nicht den Radiant.
wie kommst Du darauf und in welche Klasse/Schule gehst Du?
in manchen schulen ist das so. realschulen z.b.
-
fehl0r schrieb:
Werner_logoff schrieb:
coder++ schrieb:
Ich dachte immer für Cosinus und Sinus muss man die Gradzahl angeben und nicht den Radiant.
wie kommst Du darauf und in welche Klasse/Schule gehst Du?
in manchen schulen ist das so. realschulen z.b.
diese Diskussion ist nicht zielführend. Beides sind gängige Varianten in Europa. Wichtig zu klären ist: In praktisch allen Programmiersprachen wird das Bogenmaß verwendet.
-
Freddy_Kay schrieb:
diese Diskussion ist nicht zielführend. Beides sind gängige Varianten in Europa. Wichtig zu klären ist: In praktisch allen Programmiersprachen wird das Bogenmaß verwendet.
Das hat nichts mit Europa zu tun. Das eine ist eben in der Mathematik üblich (mit guten Gründen!), das andere historisch von den alten Babyloniern weltweit für einfache Geometrie übernommen (aus praktischen Gründen, daher noch immer verbreitet, aber ansonsten willkürlich gewählt). In einer Mathematikbibliothek wird natürlich die mathematische Ausdrucksweise benutzt.
Falls weiteres Interesse an dieser Offtopicdiskussion besteht, werde ich sie abtrennen. Sonst bitte zurück zum Thema.
-
Bin Gymnasium 8. Klasse
-
Gaube nicht, dass du wirklich ein Spiel entwickeln kannst. Dafür fehlt dir viel zu viel von den Grundlagen. Allerdings kann es motivierend sein, ein Ziel zu haben, auch wenn es unerreichbar ist. Deswegen kannst du ruhig ein FPS anfangen zu programmieren, denn solange man motiviert ist, lernt man am Besten, aber du musst immer daran denken, dass du wohl niemals fertig wirst.
Nimm übrigens nicht direkt OpenGL, das ist noch viel zu schwer. Probier mal die Irrlicht-Engine aus, die ist sehr einfach zu verwenden und man kann sehr viel und schnell lernen.
-
Danke für den Tipp,aber ich bleib lieber bei OpenGL.
-
coder++ schrieb:
Danke für den Tipp,aber ich bleib lieber bei OpenGL.
Das ist schon Ok.
Was Du auf jeden Fall benötigst, ist Vektor und Matrizenrechnung. Normalerweise wird das in der Oberstufe gelehrt. Aber so schwer ist das auch wieder nicht. Wenn Du konkrete Fragen hast, so frage einfach hier im Forum. Es schadet wirklich nicht, wenn Du Dich jetzt schon damit beschäftigst.
Und lass' Dich von Antworten wie 'das ist nicht so dolle' nicht abschrecken. Natürlich nicht, aber jeder hat mal klein angefangen.
Viel Erfolg dabei & Gruß
Werner
-
Ich muss jetzt in der nächsten Zeit Matrizen lernen und verstehen.
Denn ich programmiere mir meine Engine und da schreibe ich gerade einen Mesh-Lader für das DirectX-Format(.x),da es 1.sehr einfach zu vertstehen ist und
2.im gegensatz zum Wavefront-Format(.obj),Animationen unterstützt.
Und dafür brauche ich die Matrizen,also für die Animationen,denn wenn ich Knochen
zu einem Objekt hinzufüge und es als (.x) speichere,werden eben Matrizen in der Datei angezeigt.
Nur kann ich mit denen im Moment noch nicht viel anfangen.
Naja auch wenn es wahrscheinlich längere Zeit beansprucht Matritzen zu lernen,
hauptsache ist ja,dass man es letztendlich kann.
-
...
-
FPS? WTF? Willst Du auch direkt nach dem Freischwimmer-Abzeichen zur Olympia? Warum müssen sich Anfänger immer so gnadenlos überschätzen?
-
Wo liegt der Schwierigtkeitsunterschied jegliche andere 3D-Spielen zu Programmieren oder einen FPS?
-
Ich glaube, er meint generell 3D-Spiele.
Bastel dir einen schönen 2D-Raumschiff-Shooter mit Upgraden oder so.
Damit haste genug zu tun.
Wenigstens willst du keinen 3rd-Person-Shooter...
-
Naja,das Problem ist,dass ich während dem Programmieren meine Engine schreibe.
Denn immer,wenn ich etwas in meinem Spiel brauche,dass ich auch in die Engine schreiben kann,erweitere ich die Engine damit.
Und mit einem 2D-Spiel bei einer 3D-Engine geht das schlecht.
Und so schlecht das Spiel auch wird,mir geht es darum,dass die Engine am Schluss wenigstens zufriedenstellend ist.
-
Ach was, bei 3D hast du genug 2D am Hals.
GUIs, Messages, lebensbalken,...
Es besteht also kein Grund auf 2D-Primitives zu verzichten.
Und 2D-Texturen musst du sowieso laden.
-
coder++ schrieb:
Und so schlecht das Spiel auch wird,mir geht es darum,dass die Engine am Schluss wenigstens zufriedenstellend ist.
Wenn du keine Erfahrung mit Spieleprogrammierung hast, wird die Engine beim ersten Mal wohl noch nicht zufriedenstellend. Die nötige Erfahrung sammelst du übrigens eher, wenn du Spiele und nicht gleich Engines schreibst. Siehe auch Write Games, not Engines.
Und ja, mit einem komplexen 3D-Spiel wie einem First Person Shooter anzufangen ist naiv. Besonders wenn du alles von 0 auf machst, statt eine existierende Bibliothek wie Irrlicht zu verwenden. Du bist ewig am Code schreiben, bis du zu Resultaten kommst -- Code, den du kaum wiederverwenden kannst, da du mit zunehmender Erfahrung erkennst, dass alles viel eleganter geht. Das kann sehr frustrierend sein, du kannst die Zeit wirklich besser einsetzen.